O segundo extra que haverá em 30 de junho e seus impactos
Por Antonio Moreiras
O que é o leap second?
Leap second é um segundo extra, que será, em 2015, acrescentado na virada do dia 30 de Junho, para o dia 01 de Julho (considerando-se o horário padrão mundial UTC).
[alert color=”9E1616″ icon=”Select a Icon” title=””]Na verdade, a maior parte do Brasil usa o fuso horário UTC-3, então, no país isso não acontecerá à meia noite, mas sim às 20h59.[/alert]
Os relógios deverão contar:
20h59m59s 30/06/2015
20h59m60s 30/06/2015 <—— leap second = segundo extra
21h00m00s 30/06/2015
Por que precisamos desses ‘leap seconds’?
Historicamente, o tempo era medido pelos eventos astronômicos. Por exemplo, pela posição do Sol em relação à Terra. Antigamente a escala de tempo GMT (Greenwich Mean Time) era utilizada. De forma simplificada, pode-se dizer que a posição aparente do Sol, medida pelo Observatório Real, em Greenwich, Londres, era a referência para a medida do tempo.
Contudo, nem a rotação da Terra, nem sua translação em torno do Sol são tão precisas. E com o avanço da ciência e da precisão dos instrumentos, era necessária uma forma melhor para medir o tempo. Atualmente o tempo é medido por relógios atômicos: a definição do segundo se baseia nas variações no estado dos átomos do Césio. Isso garante precisão e acurácia muito superiores às das medições baseadas em observações astronômicas.
A escala que é definida diretamente com base nos relógios de Césio chama-se TAI (Tempo Atômico Internacional). Contudo, já que a rotação da Terra não é tão precisa assim, com o tempo, haveria diferenças entre o tempo medido pelo Sol (equivalente ao antigo GMT) e essa nova escala. Ou seja, ao meio dia, depois de alguns anos, o Sol já não estaria mais a pino.
Na verdade, é interessante notar que a Terra está desacelerando sua rotação lentamente, por causa principalmente do “atrito” causado por nosso satélite natural, a Lua: os dias estão ficando ligeiramente mais longos com o passar dos séculos.
Para uso civil, no dia a dia, é muito mais cômodo que o Sol continue a ser a referência. Foi criada então uma escala de tempo apropriada, o UTC (Tempo Universal Coordenado). UTC e TAI são basicamente equivalentes, no sentido de que o segundo é medido da mesma forma, tem a mesma duração. Mas no UTC, os segundos são acrescentados ou ‘pulados’ quando é necessário, para manter a sincronia com o Sol. Esse segundo a mais, ou a menos, é o leap second. Não há uma periodicidade definida para isso acontecer, já que a rotação da Terra não é regular. A inserção de um leap second é decidida com base em medições precisas, e normalmente anunciada com poucos meses de antecedência.
O que pode acontecer?
Em junho de 2012, na última vez em que houve um leap second, vários sites importantes na Internet tiveram problemas sérios. Praticamente todos que usavam aplicações Java, e alguns dos que usavam o sistema operacional Linux sofreram problemas, como travamentos ou lentidão. Em dezembro de 2008, na penúltima ocorrência do leap second, muitos sistemas Linux apresentaram também travamentos.
Os bugs específicos que causaram esses problemas foram corrigidos. Mas pode haver outros. No entanto não se espera nenhum desastre. Aviões não vão colidir. Navios não irão se perder. Drones não identificarão alvos errados. A Internet não sofrerá um colapso. Não haverá caos, nem o fim da civilização conhecida.
O sistema GPS poderia ser motivo de preocupação, mas não usa UTC. Não considera leap seconds. Obviamente os receptores GPS domésticos fazem a devida correção antes de mostrar o horário, e até podem eventualmente falhar (isso aconteceu em 2003 com alguns modelos). Mas o sistema GPS em si está a salvo desse tipo de problema.
É razoável esperar, e se precaver para tentar evitar, problemas como travamento de sistemas, lentidão, incongruência na análise de logs, falhas em transações dos mais variados tipos.
Por que o leap second pode causar problemas?
Os computadores são muito sensíveis ao tempo. Este tem algumas propriedades que por vezes são consideradas verdadeiras, mas nem sempre realmente são em um ambiente computacional, dada a imprecisão dos relógios:
– O tempo sempre avança: ou seja, sempre anda pra frente. No dia a dia isso é verdadeiro, mas um ajuste manual ou um problema podem fazer com que o relógio do computador pare ou marque uma data no passado. Isso pode levar a medições nulas ou negativas de tempo pelos programas, uma situação que talvez não tenha sido prevista no software.
– A medida de tempo é uma só: ou seja, há um padrão, os relógios dos computadores estão sincronizados entre si. Na prática não é assim, contudo, os softwares normalmente consideram que sim. Guardam registros baseados nesses horários, que necessitam depois ser comparados entre si. Fazem cálculos baseados nesses horários. Alguns algoritmos de criptografia, citando um exemplo, deixam de funcionar se os relógios dos computadores que participam da comunicação não estiverem sincronizados entre si.
Normalmente o NTP, uma tecnologia que permite aos computadores manterem os relógios sincronizados, é parte da solução para esse ‘problema’. O NTP resolve a necessidade dos computadores trabalharem sincronizados entre si, com o tempo sempre avançando, e sincronizados com o padrão mundial de tempo UTC.
O leap second também é tratado pelo NTP e pelos sistemas operacionais dos computadores. Contudo, os problemas que aconteceram em 2008 e 2012 nos provaram que talvez essa situação não esteja tão bem equacionada como deveria estar.
O código, a parte do software, que trata os leap seconds só é executada uma vez a cada alguns anos, o que traz a possibilidade de nem todos os erros terem sido ainda identificados, ou de novos erros terem sido inseridos sem terem sido ainda percebidos.
Mesmo que o NTP e o sistema operacional estejam tratando corretamente a situação, outros softwares talvez não estejam. Por exemplo, pode ser que a solução para isso em um determinado sistema operacional seja apresentar o segundo extra como uma repetição do último segundo do ano: 23h59m59s duas vezes… Isso equivale a fazer o relógio andar para traz um segundo e pode levar a medições de tempo nulas ou negativas, gerando erros talvez não previstos e tratados adequadamente.
Como os profissionais e as empresas podem se precaver? Quais os cuidados a serem tomados?
1. Estudar a situação, entendendo o leap second e como ele é tratado nos sistemas que sua organização utilizada, com a finalidade de entender se e como eles podem ser afetados.
2. Zelar para os seus sistemas estejam corretamente atualizados e configurados, usando NTP (e o www.ntp.br).
3. Realizar testes em ambiente apropriado, com antecedência, simulando o leap second que acontecerá em 30 de Junho.
4. Programar um plantão para o dia e horário do evento, executando testes apropriados em seus sistemas logo após o leap second.
* Antonio M. Moreiras é engenheiro e gerente da área de projetos do NIC.br, onde é responsável por iniciativas como o IPv6.br, o NTP.br, e o INOC-DBA.
Fonte:http://www.nic.br/imprensa
Leia também: O segundo a mais que pode abalar a internet