Как дополнительная секунда повлияет на интернет и системы навигации

Технологии
автор: Андрей Васильков  14 января 2015

В ночь на 1 июля 2015 года все атомные часы будут приостановлены на одну секунду для введения временной поправки. Из-за неё последний день июня продлится 86401 секунду. Это станет неучтённым фактором для компьютерных систем и заставит вспомнить «проблему Y2K».

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

Съёмка ночного неба иллюстрирует вращение Земли (фото: Ben Canales).

Съёмка ночного неба иллюстрирует вращение Земли
(фото: Ben Canales).

Точность механических часов и ранних астрономических наблюдений была недостаточна для измерения этого эффекта. Наши «биологические часы» и вовсе игнорируют разницу порядка долей секунды в год. Лишь с появлением сверхточных атомных часов и протоколов синхронизации с ними отставание астрономического времени от эталонного стало существенной проблемой.

Её решением с 1987 года занимается расположенная в Париже организация с довольно странным названием: Международная служба вращения Земли. Именно она оценивает угловую скорость вращения планеты и учитывает эффекты периодического отклонения земной оси — прецессию и нутацию. Такие колебания возникают из-за гравитационного влияния Солнца и Луны, а также своеобразной формы планеты, приводящей к неравномерному распределению массы. Следующий ролик демонстрирует влияние прецессии в масштабе нескольких тысяч лет.

Рассчитанные поправки вводятся в системы координат и учитываются как дополнительные секунды, добавляемые 31 декабря или 30 июня в текущее значение всемирного времени.

Ранее организация называлась Международная служба по наблюдению за движением земных полюсов. Именно смещение полюсов по отношению к плоскости эклиптики было наиболее заметным явлением, указывающим на непостоянный характер вращения планеты.

Коррекция всемирного времени требуется всякий раз, когда его разница с астрономическим приближается к порогу в 0,9 с. Дополнительную секунду вводили уже двадцать пять раз с 1972 года.

Дополнительная секунда вводится решением МСВЗ 30 июня или 31 декабря, если разница астрономического и "атомного" времени достигает 0,9 с.

Дополнительная секунда вводится решением МСВЗ 30 июня или 31 декабря, если разница астрономического и «атомного» времени достигает 0,9 с.

Для людей лишнее мгновение могло бы стать приятной мелочью, но у компьютерных систем каждая секунда – это уникальное число, которое не может повторяться. Три года назад во время корректировки «атомного стандарта» зависли java-приложения на серверах Mozilla Corporation и СУБД Cassandra на социальном новостном сайте Reddit. Серверы LinkedIn, Gizmodo, FourSquare, Gawker и других крупных порталов оказались недоступны на срок от получаса до нескольких часов.

Чтобы избежать подобных неприятностей, компания Google использует постоянную корректировку времени своих серверов на несколько миллисекунд. Дополнительная секунда разбивается на равные доли и добавляется каждый день.

Отказ серверов Reddit в 2012 году из-за введения дополнительной секунды.

Отказ серверов Reddit в 2012 году из-за введения дополнительной секунды.

Главный научный сотрудник службы точного времени обсерватории ВМС США Деметрий Матсакис (Demetrios Matsakis) советует просто отключить все компьютеры в 23:58 30.06.2015 и включить их спустя пять минут. В противном случае восстановление работоспособности операционной системы и приложений может занять куда больше времени.

К сожалению, компьютеры (в широком смысле этого слова) используются повсеместно, и далеко не все из них можно просто отключить. Проблема дополнительной секунды затрагивает бортовые компьютеры самолётов и других транспортных средств. Она повлияет на большинство автоматизированных средств управления критическими процессами и платёжные системы. Секундное расхождение может привести к сбою в программах строгой авторизации, использующих метки времени. Вдобавок, такая поправка искажает результаты длительных научных экспериментов и нарушает выполнение космических исследований. Для многих программистов намеченная на конец июня временная поправка станет головной болью уже сейчас.

Поделиться
Поделиться
Tweet
Google
 
Читайте также
Лишняя секунда отправила в обморок половину интернета
Лишняя секунда отправила в обморок половину интернета
Жизнь без наличности: плюсы и минусы
Жизнь без наличности: плюсы и минусы
Безбумажный офис: мечта сбывается (но медленно)
Безбумажный офис: мечта сбывается (но медленно)
970
  • Twain

    Про лишние секунды ещё, помнится, барон Мюнхгаузен говорил, и что-то там про 32 мая…

  • jno

    неужто никто ниразу часы назад не переводил?
    да таким образом когда-то ворованные игрушки «ломали»! :)
    ну, что-то да зависнет, да.
    а так — всё будет, как с Y2K.
    почти. потому как — дешевле :)
    не такая редкость, прямо скажем.

    как в своё время сказал, емнимс, мэр Рима, его подведомственные службы пережили «проблему 0К», «проблему 1К» и уж как-нибудь переживут и «проблему 2К»…

    • kue

      Чо это было? Юмор такой про Третий Рим с отсчетом от нуля?

      • igordata .

        Скорее про единственный Рим с отсчётом от -0,75К

        • kue

          -0.75 от уровня это уже Венеция, скорее

          • Саша Про

            В нерезиновой сейчас тоже можно гондолу налаживать. И плыть, рассекая собачьи художества..

      • jno

        к моменту «0К» был уже как минимум первый Рим

        • kue

          Как третий парадокс программной системы счисления времени для Рима, а четвертому не бывать

          • jno

            если придумают монетизацию, то будет и четвёртый и пятый…

  • Ктулху

    Уникальная секунда? Ха-ха. Внимание вопрос: сколько дней в России прошло с даты 14 января 1914 года?

  • Sergey Morozov

    >Это станет неучтённым фактором для компьютерных систем

    Вообще-то это далеко не так. Leap second поддерживается популярными операционными системами, серверами времени и протоколом NTP.

    • jno

      проблемы будут у приложений, а не платформ…

      • Dmitry Fedotov

        Жно, Роман и Сергей тебе абсолютно верно пишут, погугли… проблема выдумана.

        • jno

          dbf, ежели где-то есть что-то вроде
          static volatile time_t prev_time;
          time_t now = time();
          ...
          rate = amount / (now - prev_time);
          prev_time = now;
          ...

          оно может сломаться.
          а такого — хватает.

          • Dmitry Fedotov

            согласен, может…
            но! не верю, что ситуация перевода секунды заметно увеличит вероятность этого события…
            и твой пример кода на мой взгляд только лишний раз иллюстрирует это.
            Если только у тебя как-то само собой не получается, что этот код у тебя выполняется с периодом 1s<T<2s
            впрочем, допускаю, что я ударился в схоластику :)

          • jno

            :)
            я там не зря static volatile нашкрябал!
            такое вполне может выполняться по прерыванию и «пропуск секунды» будет очень даже заметен.

          • Twain

            А что случается в данном алгоритме при весеннем/осеннем переводе часов? Весенняя/осенняя депрессия? Минимальные проверки должны же быть.

          • Сержио

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

          • jno

            так и падают :)
            дофига такого кода :(

  • evadim

    Сидишь вот так и думаешь — это 6к лет назад в сутках 23 часа было, выходит? Дела…

    • Алексей Ларионов

      За 43 года добавили 25 секунд.
      За 6000 как раз почти 3600.
      Дела… Какое простое объяснение феномену настройки человеческих биочасов на 23 часа. А футурологи по переселение с других планет говорят)))

      • Neudachnik Kromolov

        А за 60 тысяч лет 10 часов? А за 600 тысяч — 100 часов?

        • jno

          да она тогда вообще была плоской, стояла на слонах и не крутилась нифига!

          • Evang

            не, слоны с Землёй крутились в плоскости =D

          • jno

            это уже были проблемы слонов — в связанной системе координат Земля не крутилась :)

        • Сержио

          Думается, что процесс носит нелинейный характер.

        • Алексей Ларионов

          Всё очень относительно, особенно если считать до времени столкновения Луны с Землём.

          Но при возрасте Земли 4,5 млрд лет, не думаю что процесс за 6000 лет поменялся. Ничтожный период.

          Обратная информация:
          http://pandia.org/text/77/499/4538-6.php
          Геологический период Продолжительность суток

          кембрий миллионы, возможно, десятки миллионов лет

          ордовик около миллиона лет, возможно, миллионы

          силур несколько сотен тысяч лет

          девон более ста тысяч лет

          карбон десятки тысяч лет

          пермь тысяча лет

          триас сотни лет

          конец мелового период адесятки нынешних суток

          Вечный день и вечная ночь длиной миллионы лет, каково я?

  • Roman Vasilenko

    NTP-сервера спасут техногенную цивилизацию.

    • jno

      каким манером?
      дважды выдадут одно значение?

      • Roman Vasilenko

        Нет. Какое-то время не будут выдавать значений.

        • Сержио

          А как отключить локальные часы? Хоть насколько задерживай — сервер даст значение времени, которое по локальным часам уже прошло.

          • Roman Vasilenko

            Ну а что в этом такого?

  • Александр Елсуфьев

    Ну и банальщина. Даже если бы не было никакого задела по поводу прежних переводов времени, это всё равно бы решалось элементарно. Вводится малюсенький справочник — число секунд в сутках, в который записываются только все нестандартные сутки. Лишняя или недостающая секунда устанавливается в первый (или последний) час суток по гринвичу — и нет более абсолютно никаких проблем. Задача решена однажды и навсегда, а справочник можно сразу расписать на 100 лет вперёд, ну и при необходимости корректировать, но на момент не ближе чем 5 лет к текущим суткам

  • Evang

    Мне вот тоже не особо понятно, почему должна появиться 60-я секунда, ведь сервера времени отдают время в UTC (или нет?), которое есть количество секунд с определённой даты. Т.е. по логике от добавления лишней секунды у всех просто должно резко стать сразу 00:00:01, минуя полночь.

Хостинг "ИТ-ГРАД"
© ООО "Компьютерра-Онлайн", 1997-2016
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.
«Партнер Рамблера» Почта защищена сервером "СПАМОРЕЗ" Хостинг "Fornex"