Что такое високосная секунда? (И почему её отменят к 2035 году)

Опубликовано: 9:00 AM , от Редакция Vremyav.ru

Узнайте, что такое високосная секунда, зачем она нужна, какие сбои вызывала, о Google Leap Smear и почему CGPM в 2022 году проголосовала за её отмену к 2035 году.

Цифровые часы, показывающие 23:59:60 — редкую дополнительную секунду, добавляемую к UTC при вставке високосной секунды.

Что такое високосная секунда?

Високосная секунда — это корректировка на одну секунду, которая время от времени добавляется ко Всемирному координированному времени (UTC), глобальному стандарту времени, с которым синхронизируются ваш телефон, серверы и спутники. Когда она вставляется, последняя минута дня содержит 61 секунду вместо 60 — часы отсчитывают 23:59:60, прежде чем перейти на 00:00:00.

Високосные секунды звучат незначительно. Но это не так. Эта лишняя секунда обрушивала крупные веб-сайты, задерживала авиарейсы и спровоцировала многолетние споры между физиками, астрономами и инженерами-программистами. В 2022 году мировые органы по хранению времени наконец проголосовали за их отмену. Вот что такое високосная секунда на самом деле, почему она существует и почему от нее отказываются.

Почему существуют високосные секунды

Проблема сводится к двум разным способам измерения времени, которые не совсем согласуются друг с другом.

Атомное время идеально постоянно. С 1967 года секунда определяется колебаниями атомов цезия-133 — 9 192 631 770 колебаний в секунду. Сеть атомных часов по всему миру поддерживает Международное атомное время (TAI), и оно поразительно регулярно: оно не ускоряется и не замедляется.

Вращение Земли непостоянно. Продолжительность дня, измеряемая фактическим вращением планеты, слегка нерегулярна. Трение от приливов, движение жидкого ядра Земли и смещение масс, такие как таяние ледяных щитов, — все это влияет на скорость вращения. В долгосрочной перспективе планета в целом замедляется, поэтому астрономический день становится немного длиннее 86 400 атомных секунд. Это время, основанное на вращении, называется UT1.

Если ничего не предпринимать, UTC (построенное на постоянных атомных секундах) и UT1 (привязанное к фактическому положению Солнца на небе) будут медленно расходиться. Чтобы сохранить их согласованность, правило простое: UTC никогда не должно отличаться от UT1 более чем на 0,9 секунды. Как только разрыв приближается к этому пределу, в UTC вставляется високосная секунда, позволяя атомному времени «подождать», пока медленнее вращающаяся Земля догонит его.

Таким образом, високосная секунда — это, по сути, ручная корректировка, которая удерживает наши точные атомные часы в ногу с неустойчивой планетой, на которой мы на самом деле живем.

Краткая история високосных секунд

Високосные секунды были введены в 1972 году, когда UTC было переопределено, чтобы основываться на атомном времени, оставаясь при этом привязанным к вращению Земли.

С тех пор до 2016 года было добавлено 27 високосных секунд. Все они до сих пор были положительными — секунда добавлялась, никогда не удалялась — потому что за этот период вращение Земли в целом отставало от атомного времени. Последняя високосная секунда была вставлена 31 декабря 2016 года в 23:59:60 UTC.

После этого был заметный перерыв почти в семь лет, потому что в последние годы вращение Земли немного ускорилось — настолько, что впервые ученые всерьез начали обсуждать возможность отрицательной високосной секунды (удаление секунды вместо добавления), чего никогда не было и чего многие инженеры опасаются еще больше, чем обычного вида.

Кто решает, когда это произойдет?

Високосные секунды не назначаются по фиксированному календарю. Они объявляются Международной службой вращения Земли и систем отсчета (IERS), штаб-квартира которой находится недалеко от Парижа и которая непрерывно отслеживает вращение планеты.

Когда разрыв UT1–UTC приближается к 0,9 секунды, IERS выпускает бюллетень — обычно примерно за шесть месяцев — с объявлением о том, что будет вставлена високосная секунда. По соглашению, вставки происходят в конце либо 30 июня, либо 31 декабря (UTC).

Этот шестимесячный период упреждения является сутью инженерной проблемы: график нерегулярен и непредсказуем. Вы не можете написать формулу, которая скажет вам, когда произойдет следующая високосная секунда, как вы можете сделать для високосных годов. Вам нужно ждать объявления IERS, а затем убедиться, что каждые часы в вашей системе знают об этом.

Почему инженеры ненавидят високосные секунды

Для большинства людей лишняя секунда незаметна. Для компьютеров, которые ожидают, что каждая минута будет длиться ровно 60 секунд, 61-секундная минута — это мина замедленного действия.

Самый известный инцидент произошел 30 июня 2012 года, когда была вставлена положительная високосная секунда. В тот же миг вышла из строя целая группа систем. Reddit упал, как и другие крупные сайты. Ошибка была связана с тем, как ядро Linux обрабатывало обратный ход часов в этот момент — это вызвало неконтролируемое состояние, которое загрузило процессоры серверов. Системы бронирования авиабилетов, построенные на затронутом программном обеспечении, также сообщили о сбоях, задержав регистрацию. Аналогичные проблемы возникали и во время более ранних високосных секунд.

Коренные проблемы структурны:

  • Событие редкое, поэтому пути кода обработки високосных секунд почти никогда не используются и редко тестируются в реальных условиях.
  • Время кажется остановившимся или повторяющимся, и многие программы молча предполагают, что время движется только вперед, монотонно.
  • График непредсказуем, поэтому системы должны получать и доверять внешнему объявлению, а не вычислять корректировку самостоятельно.

Поскольку современный сбой может каскадно затронуть финансовые рынки, телекоммуникационные сети и облачные платформы, одна неправильно обработанная секунда может быть по-настоящему дорогостоящей.

Обходной путь Google: «Размазывание секунды»

Вместо того чтобы применять високосную секунду одним резким скачком, Google разработал подход, названный leap smear (размазывание секунды). Вместо вставки полной секунды в полночь серверы Google распределяют корректировку на длинный промежуток времени — обычно около ~24 часов вокруг события — делая каждую секунду незаметно длиннее (или короче).

Во время размазывания ни одни часы никогда не показывают 23:59:60, и ни одни часы никогда не идут назад; время просто идет очень медленно «медленнее» в течение дня, пока лишняя секунда не будет незаметно поглощена. Программное обеспечение видит плавные, монотонные часы и никогда не сталкивается с опасным пограничным случаем. Amazon, Meta и другие приняли аналогичные стратегии размазывания, и это стало фактическим методом выживания для крупномасштабных систем.

Загвоздка: размазанные часы намеренно расходятся с официальным UTC в течение нескольких часов — это нормально для большинства сервисов, но головная боль, когда нужно согласовать их с неразмазанными системами. Это обходной путь для проблемы, которая, по мнению отрасли, вообще не должна существовать.

Если вы работаете с эпохальным временем, обратите внимание, что метка времени Unix вообще не учитывает високосные секунды — Unix-время просто делает вид, что каждый день состоит ровно из 86 400 секунд, что отчасти является причиной того, что реальная корректировка вызывает столько трений.

Решение 2035 года: отмена високосных секунд

Дебаты достигли апогея на Генеральной конференции по мерам и весам (CGPM) 2022 года — международном органе, который управляет метрической системой и определением секунды.

Делегаты приняли знаковую резолюцию: практика добавления високосных секунд будет прекращена к 2035 году. С этого момента UTC будет позволено расходиться с UT1 более чем на текущий предел в 0,9 секунды, а допуск будет пересмотрен позже — вероятно, позволяя разрыву расти в течение десятилетий, возможно, до минуты или более, прежде чем будет рассмотрена какая-либо корректировка.

На практике это означает, что UTC становится плавной, непрерывной шкалой времени без неожиданных 61-секундных минут. Астрономы, которым действительно нужно время вращения Земли, могут по-прежнему напрямую использовать UT1; все, кто управляет компьютерами, получают часы, которым наконец можно доверять. Изменение обменивает крошечное, медленно накапливающееся расхождение с Солнцем на устранение повторяющегося источника глобального технического риска.

Часто задаваемые вопросы

Была ли когда-нибудь удалена високосная секунда вместо добавления?

Нет. Все 27 високосных секунд, вставленных с 1972 года, были положительными — секунда добавлялась. Отрицательная високосная секунда (переход с 23:59:58 на 00:00:00) никогда не происходила, хотя недавнее ускорение вращения Земли ненадолго сделало ее реальной возможностью, прежде чем решение 2035 года сделало весь вопрос спорным.

Влияют ли високосные секунды на часовые пояса?

Не напрямую. Часовые пояса — это фиксированные смещения от UTC, управляемые через базы данных, такие как база данных часовых поясов IANA. Високосная секунда корректирует сам UTC, поэтому каждый пояс смещается на один и тот же момент одновременно — смещения между поясами никогда не меняются.

Изменятся ли мои компьютерные часы в 2035 году?

Для пользователей никаких видимых изменений. После 2035 года часы просто перестанут получать случайные високосные секунды. UTC будет медленно расходиться с астрономическим временем в течение многих лет, но это расхождение слишком мало, чтобы заметить его в повседневной жизни.

В чем разница между UTC, TAI и UT1?

TAI — это чисто атомное время, идеально постоянное. UT1 — это время, основанное на фактическом вращении Земли. UTC — это повседневный стандарт: он работает на атомных секундах, как TAI, но поддерживался в соответствии с UT1 с помощью високосных секунд. По состоянию на 2016 год UTC отстает от TAI ровно на 37 секунд.

Почему бы просто не позволить часам и Солнцу расходиться?

По сути, это и делает решение 2035 года. Расхождение растет настолько медленно — порядка минуты за столетие, — что потребуются поколения, чтобы оно стало значимым, и к тому времени можно будет спланировать одноразовую корректировку, а не исправлять ее каждые несколько лет.


Любопытно, как машины на самом деле отсчитывают время под всем этим? Високосные секунды полностью исчезают в эпохальном времени — попробуйте наш конвертер меток времени Unix, чтобы увидеть, как именно компьютеры отслеживают тикающие секунды.

Текущее время в этих городов:

Амстердам · Барселона · Пекин · Берлин · Копенгаген · Дубай · Лондон · Лос-Анджелес · Мадрид · Мехико · Москва · Мумбаи · Нью-Йорк · Париж · Рим · Шанхай · Сидней · Токио

Текущее время в странах:

🇦🇺 Австралия | 🇧🇷 Бразилия | 🇨🇦 Канада | 🇨🇳 Китай | 🇫🇷 Франция | 🇩🇪 Германия | 🇮🇳 Индия | 🇮🇩 Индонезия | 🇮🇹 Италия | 🇯🇵 Япония | 🇲🇽 Мексика | 🇳🇱 Нидерланды | 🇷🇺 Россия | 🇸🇦 Саудовская Аравия | 🇰🇷 Южная Корея | 🇪🇸 Испания | 🇸🇪 Швеция | 🇨🇭 Швейцария | 🇬🇧 Соединённое Королевство |

Текущее время в часовые пояса:

UTC | GMT | PST | MST | CST | EST | EET | IST | JST | AEST | SAST | MSK | NZST

Бесплатно виджеты для веб-мастеров:

Бесплатный аналоговый виджет часов | Бесплатный цифровой часы-виджет | Бесплатный текстовый часы-виджет | Бесплатный словесный часы-виджет