Google hittar innovativt sätt att undvika snapsider
Postat av Richard N Williams on September 28th, 2011
Leap Seconds har använts sedan utvecklingen av atomur och införandet av den globala tidsskala UTC (Koordinerad Universal Time). Leap Seconds förhindrar den aktuella tiden som beräknats av atomklockor och den fysiska tiden som styrs av solen är högst vid middagstid, från att driva ifrån varandra.
Sedan UTC började i 1970: s när UTC introducerades, har 24 Leap Seconds lagts till. Språng sekunder är en kontroverspunkt, men utan dem skulle dagen långsamt gå in på natten (om än efter många århundraden); De orsakar dock problem för vissa tekniker.
NTP-servrar (Network Time Protocol) implementerar Leap Seconds genom att upprepa den sista sekunden av dagen när en Leap Second introduceras. Medan Leap Second introduktion är en sällsynt händelse, som bara uppträder en eller två gånger om året, för några komplexa system som behandlar tusentals händelser en sekund, ger denna upprepning problem.
För sökmotorjättar, kan Google Leap Seconds leda till att deras system fungerar under den andra, till exempel i 2005 när några av sina grupperade system slutade att acceptera arbete. Även om detta inte ledde till att deras webbplats gick ner, ville Google ta itu med problemet för att förhindra eventuella framtida problem som orsakas av denna kronologiska fudge.
Dess lösning var att skriva ett program som väsentligen ljög till sina dataservrar under dagen för en Leap Second, vilket gör systemen tro att tiden var något före vad NTP-servrar berättade det.
Denna gradvisa uppskridningstid innebar att i slutet av en dag, när ett steg andra läggs till, måste Googles timeservers inte upprepa den extra sekunden eftersom tiden på sina servrar redan skulle vara en sekund bakom den tiden.
Medan Googles lösningar för Leap Second är geniala, för de flesta datorsystem leder Leap Seconds inga problem alls. Med ett datanätverk som synkroniseras med en NTP-server justeras Leap Seconds automatiskt i slutet av en dag och uppträder endast sällan, så de flesta datorsystem märker aldrig denna lilla hicka i tid.