2016-й триватиме трохи довше, ніж звичайний земний рік – 31 грудня до нього додасться високосна секунда, яка компенсує трохи уповільнене обертання планети.
Таке відбувається досить часто – минулого разу високосну секунду додавали 31 липня 2015 року. Люди такої незначної зміни в часі навіть не помічають. Зате високосна секунда стає справжньою проблемою для комп'ютерів.
Popular Mechanics розповів, як з цією проблемою справляється Google.
Високосна секунда використовується, щоб компенсувати різницю між астрономічним часом і універсальним (UTC), який використовується в годиннику. Необхідність введення високосної секунди регулюється Міжнародною службою обертання Землі: як правило, вона додається, якщо різниця між астрономічним часом і UTC за рік склала більше 0,8 секунди.
Проблема високосної секунди для комп'ютерів – щось на зразок знаменитої "проблеми 2000": перед настанням 1 січня 2017 року годинник повинні будуть показати незвичний час – 23:59:60. Причому машинам потрібно пояснити, що це разова подія, яке до того ж в різних часових поясах відбудеться в різний час.
Періодично високосна секунда приводила до серйозних збоїв. Найвідоміший стався в 2012 році, коли зайва секунда привела до помилки Linux, що в свою чергу зламало кілька популярних сайтів, у тому числі Reddit.
Основну проблему високосна секунда представляє для компаній, що підтримують протоколи мережевого часу (NTP) – наприклад, Google, чий протокол використовується для синхронізації часу на комп'ютерах та інших електронних пристроях.
Найпростіше було б додати зайву секунду серверів синхронізації, але ж машини не в змозі зрозуміти саму ідею "зайвої секунди". Тому компаніям доводиться вигадувати більш винахідливі рішення.
Так, в 2016 році Google оголосив, що "розмаже" високосну секунду по 20 годинах: десяти до настання 1 січня 2017 року, і десяти – після. Упродовж цих двадцяти годин час на серверах компанії буде проходити на 0,0014% повільніше, ніж зазвичай. У результаті, до 10 ранку UTC + 1 січня різниця в часі буде компенсована, а ми, якщо все пройде добре, нічого не помітимо!
20 годин = 1200 хвилин = 72000 секунд. Множимо 72000 секунд на 0,0014 – отримуємо 1,08 секунди. Зайві вісім сотих секунди, швидше за все, пояснюються тим, що різницю в 0,0014 відсотків попередньо округлили для зручності, – пояснює видання.
Читайте також: Інженер виклав розшифровку невдалої співбесіди в Google