Синхронизация часов: различия между версиями

Перейти к навигации Перейти к поиску
м
мНет описания правки
Строка 25: Строка 25:


== Формулировка задачи ==
== Формулировка задачи ==
Простейшим вариантом синхронизации часов является ''внешняя синхронизация'', при которой у одного из процессоров, называемого источником, имеются часы без дрейфа, и задачей всех процессоров является поддержка как можно более точной оценки текущего показания часов источника. Эта формулировка соответствует ньютоновской модели, в которой процессоры находятся в четко определенной системе временных координат, а часы источника отсчитывают стандартное время. Говоря формально, при внешней синхронизации каждый процессор <math>v</math> имеет две выходные переменные <math>\Delta_v</math> и <math>\varepsilon_v</math>; оценка <math>v</math> времени источника в заданном состоянии равна LTv + Av, где LTv – текущее локальное время в v. От алгоритма требуется, чтобы разница между временем источника и его оценкой была не более Ѵв (заметим, что Av, как и Ѵв, может динамически меняться в процессе выполнения). О производительности алгоритма судят по значению переменных Ѵв: чем они меньше, тем лучше.
Простейшим вариантом синхронизации часов является ''внешняя синхронизация'', при которой у одного из процессоров, называемого источником, имеются часы без дрейфа, и задачей всех процессоров является поддержка как можно более точной оценки текущего показания часов источника. Эта формулировка соответствует ньютоновской модели, в которой процессоры находятся в четко определенной системе временных координат, а часы источника отсчитывают стандартное время. Говоря формально, при внешней синхронизации каждый процессор <math>v</math> имеет две выходные переменные <math>\Delta_v</math> и <math>\varepsilon_v</math>; оценка <math>v</math> времени источника в заданном состоянии равна <math>LT_v + \Delta_v</math>, где <math>LT_v</math> – текущее локальное время в <math>v</math>. От алгоритма требуется, чтобы разница между временем источника и его оценкой была не более <math>\varepsilon_v</math> (заметим, что <math>\Delta_v</math>, как и <math>\varepsilon_v</math>, может динамически меняться в процессе выполнения). О производительности алгоритма судят по значению переменных <math>\varepsilon_v</math>: чем они меньше, тем лучше.
В другом варианте задачи, называемом внутренней синхронизацией, нет выделенного процессора, а требование сводится к тому, чтобы все часы имели значения, близкие друг к другу. Определение этого варианта не так уж просто, поскольку тривиальные решения (например, «установить на всех часах значение 0 на все время») должны быть исключены.
 
 
В другом варианте задачи, называемом ''внутренней синхронизацией'', нет выделенного процессора, а требование сводится к тому, чтобы все часы имели значения, близкие друг к другу. Определение этого варианта не так уж просто, поскольку тривиальные решения (например, «установить на всех часах значение 0 на все время») должны быть исключены.


== Основные результаты ==
== Основные результаты ==
4817

правок

Навигация