Эталонное время расходится с астрономическим из-за изменения скорости вращения Земли. За последнюю тысячу лет набежала разница около десяти минут. В ночь на 1 июля 2015 года все атомные часы в мире остановят на одну секунду. Последний день июня продлится 86401 секунду вместо 86400 — на одну секунду больше двадцати четырех часов.
Фото звёздного неба с большой выдержкой. Ben Canales
Механические часы недостаточно точны, чтобы измерить эффект изменения разницы во времени такого порядка. Атомные часы обнаружили эту проблему. С 1987 года над этим вопросом работает Международная служба вращения Земли, которая оценивает угловую скорость вращения планеты и учитывает эффекты периодического отклонения земной оси. Организация рассчитывает поправки и добавляет дополнительную секунду 31 декабря или 30 июня каждый раз, когда разница эталонного времени с астрономическим приближается к 0,9 секундам. С 1972 года дополнительную секунду вводили 25 раз.
Прецессия Земли в масштабе 1000 лет:
В 2012 году java-приложения на серверах Mozilla Corporation зависли из-за добавления дополнительной секунды. Два с половиной часа сервера не работали в штатном режиме. От получаса до нескольких часов не работали сайты Yelp, LinkedIn, Gizmodo, FourSquare, Gawker, Amazon и многие другие.
Google оставался доступен. Компания подготовилась к этой ситуации. Для корректной работы серверов время должно быть синхронизировано и всегда идти вперед. Для внесения поправок в одну секунду обычно часы переводят на одну секунду назад в конце дня. Но эта повторяющаяся секунда, пишут в блоге Google, может вызвать проблемы. Что будет с операциями, которые будут производиться во время этой секунды? Точно ли сохраниться электронное письмо? Что случится со всеми серверами? В 2005 при введении дополнительной секунды сервера не работали. Вместо добавления секунды Google постоянно корректирует время — на несколько миллисекунд, то есть вводит дополнительное время ежедневно.
Подобным образом к ситуации приготовились Японская, Австралийская, Южнокорейская и Сингапурская биржи. В Нью-Йорке секунду введут в восемь вечера по местному времени — биржу к этому моменту попросту закроют. Nasdaq прекратит торговлю в 7:48 и в 7:55 отключится.
Иллюстрация Bloomberg
Фото звёздного неба с большой выдержкой. Ben Canales
Механические часы недостаточно точны, чтобы измерить эффект изменения разницы во времени такого порядка. Атомные часы обнаружили эту проблему. С 1987 года над этим вопросом работает Международная служба вращения Земли, которая оценивает угловую скорость вращения планеты и учитывает эффекты периодического отклонения земной оси. Организация рассчитывает поправки и добавляет дополнительную секунду 31 декабря или 30 июня каждый раз, когда разница эталонного времени с астрономическим приближается к 0,9 секундам. С 1972 года дополнительную секунду вводили 25 раз.
Прецессия Земли в масштабе 1000 лет:
В 2012 году java-приложения на серверах Mozilla Corporation зависли из-за добавления дополнительной секунды. Два с половиной часа сервера не работали в штатном режиме. От получаса до нескольких часов не работали сайты Yelp, LinkedIn, Gizmodo, FourSquare, Gawker, Amazon и многие другие.
Google оставался доступен. Компания подготовилась к этой ситуации. Для корректной работы серверов время должно быть синхронизировано и всегда идти вперед. Для внесения поправок в одну секунду обычно часы переводят на одну секунду назад в конце дня. Но эта повторяющаяся секунда, пишут в блоге Google, может вызвать проблемы. Что будет с операциями, которые будут производиться во время этой секунды? Точно ли сохраниться электронное письмо? Что случится со всеми серверами? В 2005 при введении дополнительной секунды сервера не работали. Вместо добавления секунды Google постоянно корректирует время — на несколько миллисекунд, то есть вводит дополнительное время ежедневно.
Подобным образом к ситуации приготовились Японская, Австралийская, Южнокорейская и Сингапурская биржи. В Нью-Йорке секунду введут в восемь вечера по местному времени — биржу к этому моменту попросту закроют. Nasdaq прекратит торговлю в 7:48 и в 7:55 отключится.
Иллюстрация Bloomberg
valemak
jonic
Завтра напишу что у меня случилось от этой секунды на парке серверов
jonic
ничего, как я и думал
mrHobbY
Так ещё же 2.5 часа до перевода
jonic
тогда еще ждем, ничего :))
Может быть я чего то не понимаю? и не зря советовали в новостях выключить компьютер в 12 ночи?))
mrHobbY
Так UTC же. Мы пропатчились. Ждем тоже, мониторим как Азия откроется.
jonic
У меня гринвич на серверах, но я думаю это особой роли не играет. Я действительно не могу понять что может случится. Ведь на каждом железе свое время, которое обновляется по расписанию, и выглядеть это будет как вдруг время стало на секунду назад? Я как то делал торговую площадку, и там было критично заметно как сильно отличается время сервера от времени на пк. Пришлось вводить корректировку не только по часовому поясу но и по разнице во времени.
lolipop
у админов маркета были какие-то проблемы.
лично у меня на пару серваков ява буянила. еще у клиента завис гипервизор(с потерей данных) в 0:00.
andy_p
А зачем здесь ролик про прецессию?
JDima
Коллеги, про сетевые железки тоже не забываем.
tools.cisco.com/bugsearch/bug/CSCub38654 (N5K: Switch hang/lock up may occur due to Leap second update)
У кого нервы слабые — еще не поздно отключить везде NTP на ночь :)
Jeditobe
Какой смысл для всего обычного человечества добавлять эту секунду именно в этот конкретный день? подождали бы до ближайших выходных. Чистой воды победа педантов над здравым смыслом.
artyums
На мой взгляд, как раз таки в выходные это может вызвать более серьезные проблемы — в будние дни хотя бы у всех на рабочем месте присутствуют работники, способные отреагировать на возникшую проблему.
В выходные же это может превратиться в стресс для пользователей, руководства и работников) По возможным финансовым потерям сказать уже сложнее.
Jeditobe
Чтобы в случае чего оставит без работы максимальное количество людей. Нет, наиболее безопасное время — после окончания рабочего дня в пятницу, в обычные ( не праздничные выходные) во время максимального спада бизнес-процессов. Естественно, с предварительным предупреждением всех системных администраторов.
artyums
С точки зрения внутренних бизнес-процессов — Вы правы. А вот в случае пользовательских сервисов? Представьте, если в субботу вдруг откажет ВКонтакте или Одноклассники, например. Рядовые пользователи, кому на эти секунды глубоко все равно, будут негодовать.
Финансовые потери от простоя бизнеса, наверное, конечно, будут более весомы, чем потери в репутации среди обычных пользователей в час-пик.
Еще серьезнее, мне кажется, эта ситуация бьет по банкам — вот где должны к этой ситуации подготовиться крайне ответственно. Здесь и пользователи страдают, и сам банк… Отказавший процессинг банковских карт, зависшие платежи… ух, сколько всего страшного можно придумать в случае отказа.
kraidiky
>>наиболее безопасное время — после окончания рабочего дня в пятницу
У меня только один простой вопрос. В КАКОМ ЧАСОВОМ ПОЯСЕ? :)
Jeditobe
Имелось в виду, когда рабочий день пятницы закончится у всех. Т.е. Когда в Калифорнии начнет вечереть.
Incidence
Интересно, а на созвездии GPS тоже секунда перескочит?
А с UNIXTIME как быть?
coolspot
GPS не считает leap seconds. GPS считает время с 1980 года без учёта корректировок.
В UnixTime секунда повторится дважды, то есть timestamp в секунду до дополнительной будет равен timestamp во время дополнительной секунды.
Вот например:
wiki
199-ая секунда повторяется два раза.
artyums
Не могли бы объяснить эту таблицу? Не вижу в ней повторяющейся секунды в unixtime. 199, потом 200, потом 201…
withkittens
Скопипастили не ту табличку ;) Нужные таблички на википедии.
Mad__Max
Табличку просто не ту вставил, это как раз пример обычной(стандартной ситуации) при смене суток.
А пример с добавочной секундой был во 2й табличке (по ссылке en.wikipedia.org/wiki/Unix_time#Non-synchronous_Network_Time_Protocol-based_variant)
799я секунда повторяется 2 раза.
А в UTC в минуте появляется 61я секунда.
coolspot
Ох, вот ошибся то как…
Правильная табличка:
Секунда номер 915 148 800 повторяется два раза, два раза.
oleg0xff
А почему собственно привязали измерение времени к такой величине как вращение одной из планет вокруг какой-то звезды на окраине галактики? Давно от этого анахронизма надо отказаться. Давно уже пора взять какую-то неизменную (в отличии от вращения планеты которое меняться с теченьем времени) физическую константу и базируясь на ней начать линейный отсчет времени.
vmarunin
Так и сделали! (Международное атомное время)
Но проклятая планета крутится себе неравномерно. И летает в космосе тоже фиг пойми как. В общем всё сделано криво и косо.
А население планеты странным образом зависит от этого вращения. Особенно бездельники, которые смотрят в свои телескопы.
В общем им теперь за это добавляют иногда секунду и от этого все сходят с ума. Дикие существа, так им и надо :)
Такое ощущение, что в астрономии вообще всё идет неровно. Везде вылезают какие-то поправки и т.д. Очень точные измерения, все малейшие колебания детектируются.
И нам надо или перейти на атомные часы и сбросить этих астрономов за борт с риском получить полдень не в полдень и не ровное число секунд в сутках, или тащить их с собой, но и все эти поправки тоже тащить. За нас решили — тащить.
oleg0xff
Так астрономы то как раз таки и используют время не завязаное на вращение земли. Иначе при замедление/ускорение вращения земли у них все будет плыть — глобальные константы и скорости других обектов в космосе будут меняться. Представте себе летить камета в пустом простанстве без воздействия сил (без ускарения и торможения) со скоростью сколок то километров в год. И тут у нас оказываеться вдруг год стал длинней и получается комета движеться с ускореньем — хотя никак сил приложенно небыло. Как вам? А в тех временных маштабах какими оперирует астроному время вращения земли меняеться очень сильно и делать страные формулы в которых время подвергаться чемуто вроде гамма коррекции никто не стал.
А никаких проблем с получением полдня не в полдень я не вижу 1) я предлагал считать линейно, а именно в метрической системе а не в днях часах и месяцах. 2) Почему то уверен что у вас полдень по часам и так не совпадает с солнечным полднем.
Alexeyslav
он-то не совпадает, но в течение суток он всегда в одном и том же месте.
Если использовать линейное время, не зависящее от вращения планеты то из-за неравномерности вращения будет постоянно набегать ошибка, и постоянно разная. Ну, только прикинуть что надо будет учитывать в расчете текущего времени суток величину ошибки за каждые сутки прошедшие с контрольной точки… т.е. те же тапки только в профиль.
Muzzy0
Если год стал длинней — то с замедлением ;)
oleg0xff
Почему? если скорость в секундах константа а в какой-то год секунд стало больше, то за этот год комета пролетит соответственно больше и скорость км/год в этом году соответственно будет больше
Doktor_Gradus
Потому что раньше или позже линейное время разойдётся с планетарным. Если за 43 года набежало 25 секунд… Причём если это будет неизменное линейное время, то оно, скорее всего, не будет учитывать даже високосный год, так что огромная разница очень быстро натикает.
Все эти добавления секунд как раз направлены на то, чтобы минимизировать расхождение до этих самых секунд, которые в бытовом плане вообще ничего не значат. А вот если по линейному времени у вас будет 1 января, 0 часов 0 минут 1 секунда, а по нормальному календарю какое-нибудь 15 февраля 12:34:56, вы уже задумаетесь.
То есть, в обоих случаях головная боль и проблемы, но в случае неизменного линейного времени проблем больше.
Mad__Max
Получится как с «финансовыми годами».
Когда-то финансисты и бухгалтера решили, что терпеть все эти заморочки и корректировки когда в одном месяце 30 дней, в другом 31. Один раз в год вообще 28. А иногда еще бывает и 29 в самый неподходящий момент(когда это забыли в расчетах учесть и потом баланс не сходится). В общем неудобно и геморой, пусть будут вся месяца по 30 дней, а в году всегда ровно 360 (12*30)!
Красота и удобство :) Проценты разные и начисления считать удобно — простая и неизменная формула и суммы от месяца к месяцу не меняются.
В результате у старых компаний решивших такую методику использовать работающих и ведущих непрерывную отчетность десятки лет год теперь заканчивается где-то в середине осени :)
Если не закроются/обанкротятся, то еще через пару десятков лет год у них будет заканчиваться в середине лета.
Интересно если какие-то компании-долгожители к концу 21 века больше чем на 365 дней сместятся, будут устраивать «високосный год», т.е. например за 2099м финансовым годом, последует еще один 2099й или так и будут со сдвигом жить в 2099м году уже сдавая отчетность за 2100й год
Black_Shadow
У IBM спроси
Yakimchuk
У нас финансовый год совпадает с календарным, секунду внесли, патчи выпустили. 2099й обсудим в 2098м, переговорку забронировал.
oleg0xff
Ну и что финансовый год заканчивается осенью. Учебный год например начинается осенью а заканчиваться весной и никого это не беспокоит. Главное чтоб компания прибыль приносила. А эта система явно позволяет увеличить прибыль за счет снижения расходов на бухгалтерию (считать то легче стало).
darthslider
Хм, мне тут мама-главбух сказала, что у них просто месяц считается как 30,4 дня, при чем високосный тоже 30.4
«Обычно финансовый год не совпадает с календарным. Например, в США (USA) финансовый год — с 1 октября по 30 сентября, в Японии с 1 апреля по 31 марта, в Финляндии для акционерных обществ — определяется в уставе.
В России финансовый год начинается 1 января и завершается 31 декабря.»
Alexeyslav
Важно не когда год начинается или кончается, а важно то что он следует со строгим периодом совпадающим с календарным годом.
Иначе, почему бы тогда не упростить бухгалтерию и сделать 100-дневный отчетный период с делением на части по 25 дней, если это необходимо. Даже без калькулятора можно будет считать. Или ладно, если период слишком короткий тогда взять 1000 дней. И провести это всё официально.
oleg0xff
Это было бы хорошо и правильно. Привязка финансовой отчетности к годичным циклам имеет смысл только для сельского хозяйства и то не во всех широтах. Или давай тогда начинать разработку весной и релизиться осенью? Это мы типо урожай собираем )
Mad__Max
Разные схемы используются в разных странах и в разных компаниях. Встречаются как минимум следующие варианты:
1. Финансовый год полностью совпадает с календарным как по продолжительности, так и по началу и концу. Кол-во дней в месяце переменное (как в календаре)
2. Финансовый год про продолжительности равен календарному (365 или 366 дней), но начинается и кончается не 1 января/31 декабря, а в другие даты. Крупный пример бюджет в США — их финансовый(бюджетный) год начинается с 1 октября, а заканчивается 30 сентября следующего года.
3. Финансовый год равен равен 360 дням, все месяцы одинаковые = 30 дням. Начало и конец из-за этого каждый год смещается на 5(6) дней.
4. Финансовый год равен стандартным 365 дням и по продолжительности совпадает с календарным, но месяцы при этом берутся не календарной продолжительности, а фиксированной дробной длины (30.4 дня для обычного не високосного года).
Последний по-моему самый редкий вариант. И не уверен соответствует ли он закону (использование 360 дневного допускается в российских законах). Ну это в плане официального бухгалтерского и налогового учета. Для внутреннего (управленческого) можно считать кому как хочется/удобно.
Вариант с 30*12=360 похоже используется в Билайне. По крайней мере у них расчетный период всегда 30 дней независимо от длины месяца из-за этого платежная дата каждый 2й месяц сдвигается на 1 день назад. Кроме февраля в котором она сдвигается наоборот на 2 дня вперед (или на 1 в високосный год).
Alexeyslav
Это банально неудобно. Время-о будет неизменным, а вот все происходящие процессы надо будет адаптировать под него. Например, время суток на планете.
Гораздо удобней на планете пользоваться часами настроенными на суточный цикл.
Zuy
Поясните кто-нибудь подробней почему корректировка времени на сервере на одну секунду или любое другое значение вдруг должно приводить к проблемам вплоть до зависания?
Серверы ведь и так постоянно корректируют свои часы. Кто-то вперед, а кто-то назад. Это же обычная для них процедура, верно?
Добавление одной секунды означает ведь только то, что у сервера после этого часы будут спешить на эту самую секунду и нужно сделать обычную синхронизацию, чтобы скорректировать время.
SarganSaor
Дело не в зависании, а в целостности данных, черт его знает как себя поведет какая нибудь числодробилка, которая в какую нибудь монгу ежесекундно огромные данные кладет. А вы видели как NTP старается менять время? По 0.2(примерно) секунды в несколько итерация, как раз чтобы проблем не было.
И да, для некоторых областей, например высокочастотные торги, секунда это огромное время.
Zuy
Так а по NTP серверы время только вперед корректируют или в обе стороны?
Если в обе, то получается, что уже сейчас на постоянной основе половина серверов отматывают свое время назад. Да, они это делают по чуть-чуть, но в чем принципиальная разница отмотать на 0.01, 0.1 или 1 секунду?
А второй момент, если сейчас NTP корректирует время по 0.2 за несколько итераций то эту секунду они всю целиком за один раз добавят?
Zuy
Так а по NTP серверы время только вперед корректируют или в обе стороны?
Если в обе, то получается, что уже сейчас на постоянной основе половина серверов отматывают свое время назад. Да, они это делают по чуть-чуть, но в чем принципиальная разница отмотать на 0.01, 0.1 или 1 секунду?
А второй момент, если сейчас NTP корректирует время по 0.2 за несколько итераций то эту секунду они всю целиком за один раз добавят?
Mad__Max
Обычно не «отматывают», а приостанавливают или замедляют пока не сравняются с эталоном. Чтобы не было сдвига во времени назад вообще.
Но это все актуально для специализированных высокоточных операций. На рядовых серверах сказаться не должно.
На не рядовых по-идее это уже должно быть учтено в процедуре синхронизации. Вся заковыка в том что именно по идее, а на практике иногда оказывается совсем по другому.
Zuy
удалено
Bronx
Не знаю, есть связь или нет, но у меня на мобильном внезапно стало 1 июля, т.е. на сутки вперёд. Синхронизация времени по сети, провайдер T-Mobile, реальная дата всё ещё 30 июня. На мобильном жены (тот же провайдер) дата нормальная.
Mad__Max
Adroid?
Писали сегодня что на многих девайсах под управлением android подобный глюк был. У кого-то время на сутки вперед скакнуло, у кого-то смс-ки и звонки вчерашним днем отображались сделанные в текущем дне.
У себя правда такого не заметил — может потому что адроид старый и автосинхронизация времени не стоит.
Bronx
Да, Андроид 2.3.7, CyanogenMod 7.2.0-jordan
Сейчас проверил — вроде прошло, дата нормально синхронизируется.
NeoCode
А мне вот непонятно, как так можно написать софт, чтобы из-за какой-то секунды все зависало на несколько дней??? Как по мне, так время для компьютерных систем это вообще некий «внешний физический маркер», который должен иметь смысл лишь для пользователя (время создания файла, завершения транзакции и т.д.), все остальное должно происходить без привязки к абсолютному времени и иметь внутренние средства синхронизации (порядковые номера пакетов в сети и т.п.).
Появление лишней секунды в системе должно интерпретировться так, как будто за секунду произошло в два раза больше событий. Ну и что? В реальной жизни при высоких нагрузках такого разве не может быть? Тем более всего лишь секунда, а реальные высокие нагрузки могут длиться часами.
kekekeks
Монотонное время потому что надо использовать вместо системного (GetTickCount64, CLOCK_MONOTONIC). На него NTP и всякие переводы часов не влияют никак. Но всем как всегда.
Alexeyslav
Все это невозможно в распределённых сетях. Какая-то часть сети обновит своё время и там будет создана транзакция не в той секунде которую ожидает другой сервер, и он допустим находится в блокировке пока не поступит эта транзакция — обычно ведь они приходят тут же в пределах десятков милисекунд или секунд при обычных условиях… а тут она не приходит никогда потому что ID у нее совсем другой.
NeoCode
А зачем транзакции привязывать к секундам? Пусть сервер при первом к нему обращении выдает порядковые номера для каждого клиента.
Alexeyslav
А если кластер серверов, расположенных по всей планете или по всему континенту? нынче это не редкость когда несколько территориально расположенных дата-центров объединяют в один виртуальный сервер.
Проблема уходит корнями глубже чем это кажется на первый взгляд.
На основании чего сервер гарантирует уникальность номера для каждого клиента? это блокировки… на локальной машине, когда аппаратно сервер предоставлен одной железкой проблем нет, но даже в многопроцессорных конфигурациях с этим могут возникать проблемы.
sergku1213
Что-то я не пойму с темпом торможения. Как ни считаю, при темпе торможения, который имеем, получается, что 1 миллиард лет назад продолжительность суток для Земли была — 0,5 миллисекунды, чтобы получилась нынешняя продолжительность суток… Что тогда раскручивает Землю? Или почему Земля стала тормозится так быстро? На этом фоне проблемы с серверами блекнут — ИМХО.
aikixd
Емнип, после столкновения с Теей, сутки длились около 5 часов. Замедляется Земля изза приливных эффектов луны. Теоритически, если бы Солнце не потухло, Спустя несколько десятков миллиардов лет Земля стала бы повернутой к луне одной стороной.
sergku1213
Обиделся я на неожиданно резкое минусование за вопрос и полез разбираться. Всё оказалось гораздо, гораздо сложнее. Никто, по-моему не обратил внимания на то что, если бы вращение Земли тормозилось, то для компенсации торможения пришлось бы не вводить дополнительную секунду, а отнимать её! Хоть в тексте и не сказано. но очевидно, за постоянную принимается период обращения Земли вокруг Солнца, вероятно сидерический/астрономический год. Вот и получается, что сутки-то сократились! Да, с 1973 года вращение Земли ускоряется. Да, сутки стали короче, потому пришлось добавить 1 секунду с потолка, чтобы Земля успела к полагающейся ей астрономически точке на орбите вокруг Солнца. Причины изменения скорости вращения Земли гораздо сложнее, чем Вы написали. Расчётное время торможения Луной вращения Земли только 0,03 с за 1000 лет. Прямо беда. И при этом знак противоположный, а именно — торможение вращения, а не ускорение. Если хотите узнать, какие факторы и в какой степени влияют на скорость вращения vivovoco.astronet.ru/VV/JOURNAL/NATURE/08_04/UNSTABLE.HTM Там очень много и моё мнение — перечислены вряд ли все. И кстати, в работе 2004 года предполагается, что ускорение должно смениться торможением в период 2005-2010 годов. А этого не случилось, если судить по вносимому изменению времени.
aikixd
Вы путаете теплое с мягким. Високосные секунды и дни добавляются что-бы выровнять положение Земли относитльено Солнца, а не для компенсации изменения скорости вращения. То есть, грубо говоря, что бы 00:00:00 первого января всегда приходилось на 0 градусов истинной аномалии (это для наглядности, когда это происходит я не знаю). То есть лето будет летом, а зима зимой. Секунды добавляют потому, что добавить 1 день раз в 4 года недостаточно точно. Прецессия вращения тоже влияет, но это миллисекунды в год. Постепенно, изза замедления врящения земли количество високосного времени будет снижаться, но это происходит очень медленно, на протяжении миллионов лет, так-что этими силами можно пренебречь.
sergku1213
Извините, это Вы путаете тёплое с мягким. Почитайте внимательно статью по моей ссылке и обсуждаемую статью, там всего лишь научная статья про природу нестабильностей вращения Земли(не обращения!), а в статье, которую мы обсуждаем, как раз говорится про неравномерность суточного вращения Земли. Посмотрите и увидите, что бывали отклонения скорости вращения Земли и больше, чем сейчас — до 1 с в год, и в ту и другую сторону.
aikixd
Да вы оказались правы. Високосные дни и секунды не относятся друг к другу. Дни выравнивают обращение, секунды — вращение.
Mad__Max
Минусы потому что ерунду какую-то сами насчитали и начали из нее выводы делать.
Вообще не понимаю откуда взялись 0.5 миллисекунды 1 млрд. лет назад
Но вероятно из неверного предположения что каждый год вращение земли замедляется на столько что сутки становятся длиннее на ~0.6 секунд (25 дополнительных секунд с 1972 года). Но это неверно — это не сокращение суток на 0.6 секунды каждый год, а суммарное накопившиеся отклонение за весь год, в среднем(43 года) сутки длиннее эталона было всего на 1.5 миллисекунд
Причем эти 1.5 миллисекунды/сутки это не темп замедления вращения, а так же накопленное отклонение продолжительности с момента ввода «эталонной» продолжительности суток и эталона самой секунды — т.е. суммарное накопленное замедление вращения с момента введения эталона.
В статье вы что-то странное вычититали, чего там вообще нет:
1. Сутки считаются как вращение земли вокруг своей оси. Продолжительность года и обращение вокруг солнца тут не причем, с обращением вокруг солнца синхронизируют только продолжительность года.
2. Земля сейчас вращается медленней чем предполагает эталон. Т.е. реальные сутки (1 оборот Земли вокруг собственной оси) занимает чуть больше чем 24*60*60 = 86400 секунд. Именно поэтому приходится секунду периодически добавлять. Сутки не сокращаются, а удлиняются — откуда вы противоположное выдумали совершенно не понятно. Если бы Земля ускорялась секунды пришлось бы вычитать — т.к. 1 оборот занимал бы меньше чем 86400 секунд.
3. Вращение Земли продолжает замедляться, а не ускоряться. Да, последние несколько десятков лет оно ускоряется, но при этом:
3а — один оборот все-равно занимает больше 86000 секунд, т.е. физические сутки длиннее/вращение медленней чем у суток измеренных по точным часам — поэтому и приходится периодически доп секунду добавлять за которую Земля «догоняет» часы. Просто само это отставание в данный конкретный момент временно уменьшается — если 40 лет назад вращение Земли отставало от атомных часов порядка 3 миллисекунд каждые сутки, то сейчас отставание сократилось всего до 1 мс примерно.
3б — это ускорение временный эффект циклических повторяющихся колебаний, а так глобально вращение Земли постепенно(правда очень медленно) замедляется — из-за взаимодействия с Луной. Это можно заметить на 1м графике из статьи, при широких циклических колебаниях то в одну то в другой стороны (то ускорение, то замедление вращение) общий тренд просматривается в сторону замедления вращения (увеличения продолжительности суток).
sergku1213
1.Да, предположение о постоянстве изменения скорости вращения Земл — неверно, об этом я и намекал. Теперь по Вашему тексту: Посчитаем внимательно вместе: «суммарное накопившиеся отклонение за весь год, в среднем(43 года) сутки длиннее эталона было всего на 1.5 миллисекунд»- Это Ваши слова. 1,5 мс/год — значит за 1 миллион лет — отклонение (при том же темпе изменения скорости) — 1500 секунд. За 100 миллионов лет — 150 000 секунд, что составляет значительно более суток. Предположим, что надо учитывать не абсолютное изменение продолжительности, а долевое. Так что я сделал табличку экселевскую на 1000 строчек(это сразу, ещё в первом посте -сначала думаю, потом пишу) и… результат не такой драматический, но как раз 1,5 миллисекунды 1 миллиард лет назад должны были длиться сутки при таком темпе торможения чтобы сейчас их продолжительность была 86400 секунд. Только я не учёл ошибки в знаке — а её никто не учёл. А вот если брать изменение продолжительности суток в среднем за 350 лет из статьи Гидрометцентра, то да — уже значительно ближе к тому что могло бы быть.
2.Если так, то сутки пришлось бы удлинять каждый раз. Т.е вводить постоянную прибавку — ведь сутки изменились. Если же мы единовременно вводим лишнюю секунду, то мы удлиняем год в который это сделали и сокращаем на 1/365.24 этой годичной коррекции сутки.Ведь число суток в календаре остаётся прежним. Эта секунда делится на весь интервал времени между коррекциями. Ведь так? Если Земля стала медленнее вращаться, то период обращения вокруг Солнца (год) пришлось бы делать короче -это понятно? И да, коррекцию вводят не раз в год, а когда накопится, годом я мы оперируем для понятности. Конечно, это на нашу жизнь влияет мало, но угловые положения звёзд и планет при таком изменятся сильно.
3.Определитесь пожалуйста, таки вращение Земли замедляется или ускоряется? По данныи IERS и по графикам из статьи Гидромедцентра о неравномерности вращения Земли, получается, что всё ж таки, с 1974 года скорость вращения Земли увеличивается, хоть и неравномерно. Я не утверждаю и не утверждал противоположного. Да, по данным IERS продолжительность суток сейчас на 0,6 мс больше чем 86400с, и немного сокращается. 3б — да, согласен совершенно, если брать интервал 350 лет — то Вращение Земли замедляется, но если брать интервал 43 года — получается, что ускоряется. Долгопериодические колебания. Можно посмотреть тут исходные данные, это служба вращения Земли www.iers.org/IERS/EN/Home/home_node.html.
Mad__Max
Да, мои слова, но неправильно понятые/интерпретированные, я же уточнил:
Т.е. даже если не учитывать периодические колебания(замедления чередующиеся с ускорениями на фоне глобального но медленного замедления), а допустить постоянное равномерное замедление, то его темп не 1.5мс удлинения суток за 1 год, а 1.5 мс замедления накопившиеся с введения «эталона» суток (когда приняли продолжительность суток считать всегда ровно 86400 секунд и определили независимый стандарт/эталон самой секунды не привязанный к вращению Земли как раньше, т.е. через атомные часы).
Это было больше 50 лет назад. Т.е. даже в эту грубую (и неправильную) прикидку нужно было закладывать темп не 1.5 мс/год, а 0.03 мс / год (порядка 1.5 мс расхождения продолжительности суток накопившиеся за 50 лет).
Это дало бы хоть и не правильную оценку, но хотя бы верного порядка: около + 30 000 секунд к суткам за 1 миллиард лет, если линейно считать. Т.е. продолжительность суток 1 миллиард лет назад в 15,5 часов против текущих 24ч
Или если в долях, то увеличение периода вращения на 0.0000000347% в год. Или примерно 41% за 1 миллиард лет.
Это все в общем тоже неправильные расчеты, т.к. надо делать поправку на циклические колебания (о которых в статье написано) и то что на длинных интервалах времени Луна постепенно удаляется от Земли(это происходит как раз из-за того что она тормозит землю — импульс вращения Земли вокруг своей оси перетекает в импульс вращения Луны вокруг Земли, что приводит к увеличению радиуса ее орбиты) и из-за этого ее вклад в томожение вращения Земли постепенно снижается. Но по крайней мере в этом случае ошибка будет лишь на десятки %, максимум в 2-3 раза. А не на несколько порядков, как ваши изначальные 0.5 мс. Из-за этого минусов этому сообщению и накидали проходящие.
Ну если заниматься перфекционизмом, то да, нужно удлинять сами сутки, т.е. собраться и решить что теперь сутки не 86400 секунд, а скажем 86400.0015 секунд. Но это жутко неудобно и повлечет множество проблем. Поэтому просто ждут когда эти «хвостики» по 1-2 мс каждый день накопятся хотя бы на 1 полную секунду и проводят разовую коррекцию — примерно раз в 1.5-2 года.
Хотя когда-нибудь в дальнем будущем, когда замедление вращение (увеличение астрономических суток) относительно неизменного эталона в 86400 «атомных» секунд станет намного больше придется использовать какой-то другой подход, т.к. иначе эти дополнительные корректировочные секунды будут набираться слишком часто.
Да, календарные год(в котором проводилась такая корректировка) этим самым мы тоже удлиняем. Но эта погрешность в 1 секунду на фоне того, что наш календарный год и так всегда на четверть суток (больше 20 000 секунд) отличается от реального астрономического — это мелочь, на которую можно не обращать внимания. Хотя ученые ее конечно тоже учитывают и когда-нибудь тоже скорректируют когда накопится значительное отклонение. Например один раз сделав промежуток между високосными годами не 4 года, а 3. Но это будет еще очень не скоро, а пока только 35 секунд суммарного отклонения накопилось.
3. Ну да, тут особо спорить не о чем. Долгосрочно — постоянно и довольно равномерно замедляется(длительность суток увеличивается) из-за взаимодействия с Луной. Но на это накладываются собственные колебания Земли (с луной не связанные), которые в краткосрочном плане даже сильнее влияния Луны, поэтому когда они совпадают по направлению — получается быстрое замедление вращения, когда они оказываются противоположными по направлению — получается умеренное ускорение вращения либо колебания около одного уровня т.к. «земных» циклов не связанных с Луной несколько разных разной природы, периодичности и силы и они все накладываются друг на друга.
Но их итоговый вклад на любом достаточно длительном периоде времени стремится к нулю(половину цикла ускоряют, половину замедляют, общее влияние по завершении каждого полного цикла ==> 0), к тому же не смотря на значительный вклад этих циклических колебаний еще ни разу не было ситуации, чтобы они так сильно разогнали вращение Земли, чтобы целую секунду пришлось отнимать (из-за сильного или продолжительного сокращения длительности астрономических суток ниже 86400 секунд) — все корректировки идут только в строну увеличения продолжительности суток, поэтому я для упрощения сначала написал только о замедлении вращения.
vsb
Я считаю, что нужно убрать эти leap seconds из компьютеров. В компьютерах обычно время представляется в виде количества миллисекунд (иногда наносекунд, хотя большого смысла в этом нет), прошедших с 1970 года. Вот так пусть и будет, без всяких leap seconds. А вот когда надо будет это количество миллисекунд перевести в строку (или распарсить строку), вот тогда пусть эти leap seconds и учитываются. Тогда для программ время будет всегда упорядоченным, не будет никаких скачков секунд.
Google в этом плане делает всё правильно.
oleg0xff
Поосторожней с таким предложениями. Я выше написал про линейное время там мне всю карму слили и даже в минус ушел.
vsb
Я на числа в профиле смотрю разве что случайно. Меня эта карма не очень интересует, чего и вам советую.
dimaniko
Если вы не планируете писать больше одного комментария в неделю — на карму вообще можно забить: geektimes.ru/info/help/karma
vsb
Никогда не сталкивался с ситуацией, в которой я что-то терял от невозможности написать комментарий. Не смогу написать и бог с ним, я-то уж точно от этого ничего не потеряю, да и сайт, скорее всего, как-нибудь переживёт такую потерю.
NeoCode
Время (абсолютное, с часами, минутами, секундами) нужно для людей. Чтобы человек посмотрел на время создания файла, время события в логе — и ему что-то стало понятно.
А компьютеру время не должно быть нужно, компьютеру должен быть важен логический порядок событий. А если компьютеры начинают использовать абсолютное время как основной (или даже единственный) источник для синхронизации каких-то событий в вычислительных сетях, то это плохо… архитектурно плохо. Вся синхронизация должна быть на транзакциях, а не на времени.
А вы написали про отказ от традиционного времени для людей, что совершенно ненужно — люди как ориентировались на вращение Земли, так и будут.
oleg0xff
>>А компьютеру время не должно быть нужно, компьютеру должен быть важен логический порядок событий.
Вы, как минимум, сразу отменили криптографию
oleg0xff
>> люди как ориентировались на вращение Земли
Сейчас люди ориентируется не на вращение Земли а на бизнес процессы. т.е. когда просыпаться зависит не от того когда солнце встает, а от того когда работу идти. И до восхода солнца бывает людям приходиться вставать (особенно зимой) а бывает и в ночные смены работают.
TipTop
Организмы-то старые остались, непропатченные. И если все время по ночам работать, то вылезут проблемы со здоровьем, которых не будет при дневной работе. Так что причины ориентироваться по светилу никуда не ушли.
oleg0xff
Так и ориентируйтесь, я ж не против. Я за то что б было глобальное мировое время в метрической системе, единое для для всех. По которому ходят поезда, летают самолеты, назначаються деловые встречи встречи (очень запутано бывает встретиться в скайпе людям из разных часовых поясов: просто смещение не помогает надо еще учитывать переход на летние и зимние время который в разных странах в разные дни и плюс еще приказным порядком бывает каке-то изменения в дате перехода), и т.д. А если рабочий график не привязан жестко к бизнес процессам, как в цеху непрерывного производства, то конечно ложиться и вставать надо по солнечному времени. А поясное время как правило солнечному не соответствует. При том что предлагаю я от поясного времени с широченными поясами можно отказаться и в каждом населенном пункте устанавливать свое, солнечное, время.
TipTop
Существующее решение именно компромисс между неудобным солнечным временем (которое отличается для соседних населенных пунктов, такое раньше в Англии было) и абсолютным временем, не привязанным к солнечному ритму (когда одно и то же абсолютное время может означать разное время дня или ночи).
Mad__Max
Так уже придумано UTC время
Ну а каждый у себя сам уже делает поправку на часовой пояс, летнее/зимнее, точность своих часов и прочие заморочки.
Alexeyslav
С высоты птичьего полета все звучит замечательно… но как только вы начинаете углубляться в вопрос сразу всплывают грабли и подводные камни.
Транзакции хорошо когда времени завались, и плохо когда задержка распространения сигнала становится существенной. Как применять транзакции в распределенной базе данных без синхронизации времени и потери производительности? Как определить чья транзакция началась раньше в распределенной сети между узлами которой не существует синхронизации времени?
Да и самая наглядная сеть которая требует синхронизации времени — спутниковые системы GPS/ГЛОНАСС, это ведь тоже компьютеризированные системы.
Компьютер-компьютеру рознь, что в локальных масштабах очевидно то для распределённых систем не работает.
nikitasius
Прочел новость сегодня, все работает! :)
edwardspec
man 3 adjtime — замедляет/ускоряет течение времени, пока нужная секунда постепенно не прибавится.
Хоть вперёд можно, хоть назад, хоть на 10 микросекунд, хоть на 2145 секунды (лимит у glibc-версии: INT_MAX/1000000-2 = 2145).
grossws
Если правильно помню, в нём в 2012 ошибка и сыграла. На большом количестве ядер от 2.6.26 до 3.3 (включительно).
Есть, например, статья от redhat, где описаны последствия leap second, применительно к RHEL4-7.
gag_fenix
PHP мне вот такое выдал:
Я уже писал в прошлом посте про високосную секунду, что мои коллеги как-то умудрились уложить сайт на всю ночь в HTTP 500 01.07.12. Что-то намудрили в Perl с time()+86400 или типа того.
paceholder
У нас на работе сервера с телефонией подвисли, помогла перезагрузка
stepik777
Вроде в ноябре этого года собираются голосовать за то оставить ли или убрать эти секунды (инфа из Википедии). Надеюсь разум возобладает и это недоразумение таки отменят.
artyums
Интересно, а кто-нибудь знает, как вообще время попадает на все серверы мира? Что является корневым синхронизирующим элементом?
Это же ведь только подумать… миллиарды устройств, на которых надо синхронизировать время! Офигенная, честно сказать, инженерная задача, хоть и совершенно обыденная в настоящее время.
grossws
См. ntp stratum0 и stratum1
Tuxman
Вот на что надо устраивать атаку, сразу все сервера во всём мире зависнут.
grossws
Каждый человек, способный купить цезиевые/рубидиевые часы в датацентр (1-4U по размерам) или номальный GPS-приёмник (1-2U по размерам) может иметь сервер stratum1. Остальные могут довольствоваться тысячами доступных stratum1.
darthslider
У нас на одном из стендов жесткий реалтайм, там стоят как раз gps часы (хотя время нужно в первую очередь одинаковое, а не точное) и раздают время по сети. При чем не по ntp, а по какому-то более точному протоколу.