Jedna mala sekunda - veliki problemi

Ove godine, po 26. put u povijesti, dobit ćemo jednu dodatnu sekundu. Tako će se atomski satovi 30. lipnja u 23:59:59 (UTC) zaustaviti na jednu sekundu, čime će 2015. godina trajati sekundu duže. Iako zvuči trivijalno, jedna sekunda može prilično utjecati na Internet.

Ovaj događaj, poznat pod imenom prijestupna sekunda (eng. leap second), uveden je davne 1972. radi kompenzacije Zemljine rotacije oko Sunca. Naime, kako srednja vrijednost solarnog dana iznosi nešto više od 86 400 sekundi, bez ove korekcije vrijeme prema UTC-u koje održavaju super precizni atomski satovi polako bi odmicalo od vremena solarnog sata, prema kojem se ravna GMT tj. UT1, njegov nasljednik. Nakon dovoljno vremena moglo bi se dogoditi da sunce izlazi u 6 sati popodne. Predviđene su dvije vrste prijestupne sekunde, pozitivna i negativna. Kod pozitivne, na određeni datum (obično 30. lipnja ili 31. prosinca), između 23:59:59 i 0:00:00 ubacuje se jedna sekunda, pa tako UTC satovi pokazuju 23:59:60. Negativna prijestupna sekunda je oduzimanje jedne sekunde na takav način da odmah iza 23:59:58 slijedi 0:00:00. Od postavljanja UTC normi negativna prijestupna sekunda nije nikad bila realizirana. Budući da brzina Zemljine rotacije ovisi o raznim klimatskim i geološkim događajima, prijestupne sekunde se dodaju (ili oduzimaju) u nepravilnim razmacima. Odluku o tome donosi IERS (International Earth Rotation and Reference Systems Service) i objavljuje je otprilike 6 mjeseci unaprijed, u trenutku kad bi razlika između UTC-a i GMT-a (tj. UT1) prešla 0,9 sekundi. Posljednja prijestupna sekunda je ubačena 30. lipnja 2012. godine.

Kako ta jedna sekunda može utjecati na mrežu svih mreža kad imamo svemogući NTP? Vrijeme u računalima nije predstavljeno na način na koji smo mi navikli, u satima, minutama i sekundama, nego jednom brojkom. Primjerice, poznat nam je Unix Timestamp koji broji sekunde od 1. siječnja 1970. prema UTC-u. Prijestupna sekunda u NTP-u na Unixoidima je implementirana tako da se vrijeme vrati na početak zadnje sekunde, koja se onda ponovi. Svaka aplikacija koja poželi doznati točno vrijeme dva puta unutar jedne sekunde može ostati zbunjena jer je drugo očitanje "starije" od prvog. U kombinaciji s kernelom starijim od verzije 2.6.29 koji ima bug u dijelu koda koji se bavi prijestupnom sekundom, ovo dovodi do rušenja aplikacije ili samog sustava (kernel panic). Tako je prilikom zadnje implementacije prijestupne sekunde u lipnju 2012. prijavljen velik broj nedostupnih servisa, poput weba Reddita, Mozille, LinkedIna, Oraclovih baza podataka i servisa online rezervacija karata aviokompanije Quantas. Ovo posljednje je uzrokovalo kašnjenje 50-ak letova, što nije zanemariv trošak.

Nakon najave ovogodišnje dodatne sekunde pojavio se strah da će se sličan "kaos na mreži" ponoviti. Međutim, ovog puta možemo pretpostaviti da će svijet biti bolje pripremljen. Primjerice, Google je svoje NTP poslužitelje prilagodio dodavanjem nekoliko milisekundi određeno vrijeme prije pojave prijestupne sekunde. Ovu tehniku su nazvali "leap smear". Linus Torvalds vjeruje da će ovaj put biti mnogo manje problema na mreži zahvaljujući dosadašnjem iskustvu i ispravkama bugova u aplikacijama.

Preostaje nam vidjeti što će se dogoditi 30. lipnja ove godine. Prije tri godine su ljudi uložili dosta truda kako bi se buduće posljedice umanjile, ali problemi su i dalje mogući zbog činjenice da su ovakvi događaji rijetki pa je testiranje teško. Kada će biti sljedeća prijestupna sekunda još ne znamo, ali znamo da će 19. siječnja 2038. godine Unix Timestamp prestati raditi zbog ograničenja broja znamenki u 32-bitnoj reprezentaciji tog broja. Dotad će se sve aplikacije koje koriste ovaj format vremena morati prilagoditi novom formatu ili prijeći na 64-bitnu verziju, koja će vremenu na računalima "kupiti" još malo vremena. Živi bili pa vidjeli.

Vijesti: 
Vote: 
0
No votes yet