Операционные системы распределенных вычислительных систем


Синхронизация времени. - часть 2


/p>

 

Для целей упорядочения всех событий удобно потребовать,  чтобы их времена никогда не совпадали.  Это можно сделать,  добавляя в качестве дробной части к времени уникальный номер процесса (40.1, 40.2).

Однако логических  часов  недостаточно  для   многих   применений (системы управления в реальном времени).

Физические часы.

После изобретения  в  17 веке механических часов время измерялось астрономически. Интервал между  двумя  последовательными  достижениями солнцем наивысшей  точки на небе называется солнечным днем.  Солнечная секунда равняется 1/86400(24*3600) части солнечного дня. В 1940-х годах было установлено,  что  период  вращения  земли  не  постоянен - земля замедляет вращение из-за приливов и атмосферы.  Геологи  считают,  что 300 миллионов  лет назад в году было 400 дней.  Происходят и изменения длительности дня  по  другим  причинам.  Поэтому  стали  вычислять  за длительный период среднюю солнечную секунду.

С изобретением в 1948 году атомных  часов  появилась  возможность точно измерять   время  независимо  от  колебаний  солнечного  дня.  В настоящее время 50 лабораторий  в  разных  точках  земли  имеют  часы, базирующиеся на частоте излучения Цезия-133. Среднее значение является международным атомным временем (TAI),  исчисляемым с 1 июля 1958 года.

Отставание TAI   от   солнечного  времени  компенсируется  добавлением секунды тогда,  когда  разница  становится  больше  800   мксек.   Это скорректированное время, называеемое UTC (Universal Coordinated Time), заменило прежний стандарт (Среднее время по Гринвичу - астрономическое время). При  объявлении  о  добавлении  секунды  к  UTC  электрические компании меняют частоту с 60 Hz на 61  Hz  (c  50  на  51)  на  период времени в 60 (50) секунд.  Для обеспечения точного времени сигналы WWV передаются коротковолновым передатчиком  (Fort  Collins,  Colorado)  в начале каждой секунды UTC. Есть и другие службы времени.

 

Алгоритмы синхронизации времени.

Две проблемы  -  часы  не  должны ходить назад (надо ускорять или замедлять их для проведения коррекции) и ненулевое  время  прохождения сообщения о времени (можно многократно замерять  время  прохождения сообщений с показаниями часов туда и обратно,   и брать самую удачную попытку – с минимальным временем прохождения).




Начало  Назад  Вперед