Научная статья на тему 'О децентрализованном алгоритме синхронизации времени в распределенных вычислительных системах'

О децентрализованном алгоритме синхронизации времени в распределенных вычислительных системах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
348
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДЕЦЕНТРАЛИЗОВАННЫЙ АЛГОРИТМ / СИНХРОНИЗАЦИЯ ВРЕМЕНИ / РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / DECENTRALIZED ALGORITHM / TIME SYNCHRONIZATION / RAS OPREDELENNYE COMPUTING SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Уманский Алексей Борисович, Леонтьев Алексей Викторович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Уманский Алексей Борисович, Леонтьев Алексей Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON DECENTRALIZED ALGORITHM FOR TIME SYNCHRONIZATION IN DISTRIBUTED COMPUTING SYSTEMS

The paper presents a decentralized algorithm time synchronization for certain architectures of distributed computing systems. The aim is to create a decentralized algorithm for time synchronization, which allows, in the absence of an accurate time source to synthesize a system maximum but close to astronomical time. A mathematical model is a multi-node computing system, taking into account the stochastic. do noise generator nodes in the system and the transport delay when routing data packets. Some results demonstrated by the time spent by the algorithm of the decentralized type in the entire mathematical model. Conclusions are made about the applicability of the algorithm in distributed computing systems.

Текст научной работы на тему «О децентрализованном алгоритме синхронизации времени в распределенных вычислительных системах»

ders the questions of implementation of hardware-software means of control and recovery of functioning after failures. The conclusions about expediency of development of the presented architectures and formulated the main directions offurther work on the development of advanced computer systems.

Key words: trunk-modular architecture, distributedyou-numbers system, correction.

Umansky, Alexey Borisovich, candidate of technical sciences, head of sector, pdwn1982@yandex. ru, Russia, Yekaterinburg, JSC "Scientific-production Association of automation named academician N. A. Semikhatova",

Yatsuk George E., head of sector, rx9cim@rambler. ru, Russia, Yekaterinburg, JSC "Scientific-production Association of automation named academician N. A. Semikhatova",

Anan'in Alexander, engineer, ananyinac@yandex.ru, Russia, Yekaterinburg, JSC "Scientific-production Association of automation named academician N. A. Semikhatova",

Leontev Alexey, engineer, lexman00@rambler.ru, Russia, Yekaterinburg, JSC "Scientific-production Association of automation named academician N. A. Semikhatova"

УДК 004.421.2

О ДЕЦЕНТРАЛИЗОВАННОМ АЛГОРИТМЕ СИНХРОНИЗАЦИИ ВРЕМЕНИ В РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ

СИСТЕМАХ

А.Б. Уманский, А.В. Леонтьев

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

Ключевые слова: децентрализованный алгоритм, синхронизация времени, распределенные вычислительные системы.

Введение

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

81

Одной из главных проблем в обеспечении синхронности работы нескольких вычислительных устройств в таких архитектурах является гарантировано одновременный запуск процессов в нескольких узлах. Операционные системы узлов запускают процессы на основе локального времени. В случае, когда локальные времена узлов «плывут» друг относительно друга, возникают неразрешимые коллизии. Более того, система перестает быть отлаживаемой, поскольку постфактум невозможно установить причинно-следственную связь событий [1,2].

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

Существует два класса алгоритмов по синхронизации времени: централизованные и децентрализованные. В централизованных алгоритмах типа алгоритма Кристиана или Беркли назначается некоторый координатор, под метки времени которого подстраиваются все остальные узлы системы [1,3]. При этом недостатком алгоритма является возможность отказа или, что хуже, сбоя серверного узла. Особенно опасными здесь представляются сбои, связанные с ростом дрейфа генератора сервера. В этом случае увеличивается количество логики, необходимой для контроля со стороны узлов-клиентов. Уход времени системы будет не лучше ухода узла назначенного сервером времени.

Однако известны также и децентрализованные алгоритмы, в которых каждый узел на основе кортежа времен, полученных от соседних узлов, независимо синтезирует оценку общего времени, корректируя свой ход времени [4]. В этом случае представляется возможным на основе знаний о природе распределения уходов генераторов при достаточном числе таких генераторов синтезировать оценку времени, лучшую, чем в централизованных алгоритмах.

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

Математическая модель

Опишем алгоритм синхронизации времени и математическую модель К-узловой вычислительной системы, в которой алгоритм будет применён.

Для разработки алгоритма синхронизации целесообразно ввести некоторые общие концепции, относящиеся к большинству алгоритмов синхронизации часов, и некоторые сущности, относящиеся к процессу синхронизации, которые будут использованы далее в работе.

82

Время, наблюдаемое в конкретном узле, назовем локальным временем в противопоставление астрономическому времени, которое по определению не может быть наблюдаемым. Удобно определить локальное время узла как отображение на множество астрономического времени. Иначе говоря, положим С (г) - оператор преобразования астрономического времени в локальное, тогда С(г) = Т обозначает, что когда астрономическое время равно 1, то локальное время узла равно Т. В этом случае Ср (г) будет обозначать локальное время узла р в момент астрономического времени г. При этом считаем узел несбойным, если уход не превышает некоторой величины отклонения за любой конечный участок времени.

Часы узла являются несбойными в течение интервала [И; 12] , если его можно описать как монотонную дифференцируемую функцию на промежутке [Т1;Т2], при этом

ёе(Т )

ат

где Ер некоторая константа, определяющая дрейф (уход) генератора, принадлежащего узлу р .

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

Т = С(? )а - С(г )ь,

где дискрет времени а следует сразу после дискрета времени Ь.

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

к = (г, I) | г е ы\ I = 1, N,

где N - количество узлов в системе; N - область натуральных чисел.

Ошибки, возникающие в работе алгоритмов, связаны с архитектурой транспортного уровня доставки пакетов от узла к узлу. Это время, во-первых, не определено и условно не предсказуемо. Тем не менее, оно может быть определено как сумма некоторой константы и экспоненциального распределения [5]. Конечно, есть зависимость от количества узлов в системе, маршрута пакета, топологии сети узлов, скоростей передачи, ла-тентности и среды передачи данных, но в общем случае можно положить, что время передачи сообщения в сети

Я = + ехр{1 - ^ (N)}, 83

где ОтП - минимальная задержка пакета в сети, определяемая только скоростью передачи данных; F(Щ - некоторая функция, определяющая степень зависимости и зависящая от количества узлов N в системе. Таким образом, распределение времени транспортной задержки будем рассматривать как экспоненциальное.

Точность частоты тактовых генераторов описывают как отклонение измеренного значения от стандартного значения измеряемой величины. Стабильность, с другой стороны, описывает отклонение измеренных значений, поэтому может быть рассчитана только для ряда измеренных значений. Стабильность частоты генератора характеризуется его фазовым и частотным шумом. Существует набор методик для измерения фазовых и частотных шумов. Наряду с характеристикой фазового шума на основе спектрального распределения стабильность генератора можно определить и на основе временного распределения. Она может быть охарактеризована при помощи двухвыброчной дисперсии или вариации Аллана. Она отображает вариацию двух отсчетов в зависимости от времени, которое разделяет эти два отсчета [6]. Фазовый шум является мерой кратковременной стабильности генератора в частотной области. Вызывается он обычно тепловым шумом кварцевой пластины, шумом электронной обвязки генератора и имеет гауссовскую плотность распределения мгновенных значений.

Для простоты будем определять процесс ухода тактового генератора как случайный гауссовский процесс с нулевым математическим ожиданием т = 0 и среднеквадратическим отклонением, равным а*:

£ * = N ).

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

Опишем один шаг синхронизации разрабатываемого алгоритма:

1. Дождаться получения кортежа времен состоящего из N элементов.

2. По критерию о среднем найти значение среди N элементов.

3. Применить коррекцию времени на величину, определяемую ^я как 3^*, в сторону, определяемую знаком разницы выработанного на предыдущем шаге среднего времени и текущего локального времени.

Принимаемое решение о коррекции времени опишем в виде кусочно-заданной функции W :

|2S gTs, если Med (K{( 11 e N, i = 1N) > K{( p);

W p = j ' ' - '

p -2SgTs, если Med(K{t t) 11 e N , i = 1, N) £ K(t p),

где p - логический номер узла, для которого ищется решение, а функция Med (K) определяет некоторое среднее значение среди кортежа значений входного аргумента. В качестве критерия среднего в поиске значений среди кортежа выберем:

- среднее арифметическое;

- среднее гармоническое;

- медианное значение.

Функция также Med (K) осуществляет сепарацию значений по величине транспортной задержки Dtr в случае если она превышает параметр

Ts/ г

/1Q. В этом случае измерение считается недостоверным и отбрасывается.

Параметр «общей рассинхронизации» Skew можно рассматривать как критерий качества системы, оценивая по нему насколько работоспособен любой рассматриваемый алгоритм. Общая рассинхронизация Skew рассчитываемая как сумма дельт между средним значением и выработанным значением каждого узла системы:

Skew = t (Me( K{l J}) - K{, ).

P=1

В совокупности значение времени для узла p в следующий момент времени будет рассчитываться как

Cp (t + T) = Cp (t) + T, (1+ S ^) + W p.

Таким образом, была введена математическая модель, позволяющая при известном количестве узлов в системе N, интервале синхронизации TS , знаниях об уходе узлов генераторов Sg и величине транспортной задержки Dtr оценивать сходимость процесса синхронизации по параметру

общей рассинхронизации Skew .

Моделирование

Проведем моделирование в течение 2Q мс для N=3 узлов, шаге синхронизации TS =1 мс (рис. 1). По оси абсцисс отложено астрономическое время, по ординате - локальное время узла.

85

Введем обозначения: 1 - локальное время абстрактного узла, которое идеально соответствует астрономическому; 2 - «среднее арифметическое»; 3 - поведение трех узлов при критерии «медианное»; 4 - «среднее гармоническое». Видим, что на таком промежутке синхронизации наиболее приближенным к реальному времени является система с критерием «среднее арифметическое», причем практически полностью совпадает с критерием «среднее гармоническое».

01-----I.--1--1---1---1-----1--Ь--1--

? 1 (;■ а 16 -5 ч а)

Рис. 1. Моделирование №1: 20 мс при N=3, Т8 =1 мс

В действительности же моделирование поведения системы на столь коротком интервале смысла не имеет, поскольку при повторной генерации случайных величин (рис. 2) (уходов генераторов и транспортных задержек) получаем совершенно другую картину, в которой «медианный» критерий демонстрирует себя адекватнее, а «среднее арифметическое» и «среднее гармоническое» начинают расходиться друг относительно друга.

Рис. 2. Моделирование № 2: 20 мс при N=3, Т8 =1 мс

86

Увеличим время моделирования до 700 мс (рис. 3).

Рис. 3. Моделирование № 3: 700 мс при N=3, Т8 =1 мс

Рис. 4. Общая рассинхронизация моделирования № 3: 700 мс при N=3, Т =1 мс

Увеличим время моделирования до 60 минут (рис. 5.)

Рис. 5. Моделирование № 4: 60 мин. при N=3, Т8 =1 мс

87

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

Проведем моделирование также в условиях возникновения неисправностей. Назначим узел 1 сбойным в момент времени T = 100 мс при

времени моделирования 700 мс. Видим, что медианное время кластера узлов при этом меняется незначительно, в отличие от «среднего арифметического» и «среднего гармонического» (рис. 6, 7). Из этого можно сделать вывод, что критерий медианного времени в условиях возникновения неисправностей узлов наиболее оптимальный.

Рис. 6. Моделирование № 5: 700 мс при N=3, Т8 =1 мс, сбой узла 1 в момент времени 100 мс

N

\ \ \ \ N

\ %

- 1 ' \\ \ \ —тг* а я—■ , —м—i—— . . !■ р» W .1» ж wo да ВД г»

Рис. 7. Общая рассинхронизация моделирования № 5: 700 мс при N=3, Т =1 мс, сбой узла 1 в момент времени 100 мс

88

Для сетевых структур вычислительных систем, описанных в [7] характерно наличие большего количества узлов. В рассматриваемой структуре их 12 (рис. 8).

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

Наблюдаем, что максимальная рассинхронизация превышает 5 мс, что можно считать неудовлетворительным результатом (рис. 10). При увеличении частоты рассинхронизации Т8 до 0,5 мс можем получить более

удовлетворяющий результат среднем (рис. 11).

^ не более 2,5 мс для всех критериев о

Рис. 8. Сетевая архитектура вычислителя на базе интерфейса

SpaceWire

Рис. 9. Моделирование № 6: 700 мс при N=12, Т8 =1 мс

89

Рис. 10. Общая рассинхронизация моделирования № 6: 700 мс при N=12, Т =1 мс

Рис. 11. Общая рассинхронизация моделирования № 7: 700 мс при N=12, Т =0,5 мс

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При возникновении неисправности в 1, 2, 3 и 10 узлах системы наблюдаем отсутствие изменений по критерию «медианное» при этом «среднее арифметическое» и «среднее гармоническое» накапливают систематическую ошибку, которая не устраняется в дальнейшем (рис. 12).

Рис. 12. Моделирование № 8: 700 мс при N=12, Т8 =0,5 мс, и четырех сбоях в момент времени 100 мс

90

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

Заключение

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

Дальнейшими перспективами развития алгоритма является улучшение качества переходных процессов при возникновении ошибок в узлах путем использования обратной связи по рассинхронизации, введение новых критериев «среднего» типа «средневзвешенного арифметического» с определением весов каждого узла в системе. Также имеет смысл накопление значений времен узлов за определенный интервал времени и использование вариации Аллана для оценки шумов генераторов в узлах.

Список литературы

1. Таненбаум Э., М. ван Стеен. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. 877 с.

2. Lamport L. Time, Clocks, and the Ordering of Events in a Distributed System // Massachusetts Computer Associates. Inc. 1978. Vol. C-21, No 7. P. 558-565.

3. Алдунин Ю.А. Синхронизация времени в распределенных системах в зависимости от выбранной модели непротиворечивости // Вестник РГРТУ. 2007. Вып. 22.

4. Marzullo K. Maintaining the Time in a Distributed System. Technical Report // Computer Systems Laboratory, Departments of Electrical Engineering and Computer Science Stanford University, 1983, No.83-247.

91

5. Кузнецова Н.Ю., Первицкий А.К., Сухов А.М.Функция распределения задержки пактов в глобальной сети // Труды XVII Всеросс. научн. -метод. конф. «Телематика 2010». 2010. Вып. №12. С.56-62.

6. Рамиан Ф. Измерение временной нестабильности генераторов (Вариация Аллана) // Указание к применению изделий фирмы Rohde&Schwarz, 2009.

7. Ginosar R. A FAULT-TOLERANT SPACEWIRE COMPUTER. Proceedings of the 3rd Interantional SpaceWire Conference SpaceWire-2010 // St.Petersbur, 2010. P.321-327.

Уманский Алексей Борисович, канд. техн. наук, начальник сектора, pdwn1982@yandex.ru, Россия, Екатеринбург, АО «Научно-производственное объединение автоматики им. академика Н.А. Семихатова»,

Леонтьев Алексей Викторович, инженер-программист, lexmanOQarambler.ru, Россия, Екатеринбург, АО ««Научно-производственное объединение автоматики им. академика Н.А. Семихатова»

ON DECENTRALIZED ALGORITHM FOR TIME SYNCHRONIZATION IN DISTRIBUTED

COMPUTING SYSTEMS

B. A. Umansky, A. V. Leont'ev

The paper presents a decentralized algorithm time synchronization for certain architectures of distributed computing systems. The aim is to create a decentralized algorithm for time synchronization, which allows, in the absence of an accurate time source to synthesize a system maximum but close to astronomical time. A mathematical model is a multi-node computing system, taking into account the stochastic. do noise generator nodes in the system and the transport delay when routing data packets. Some results demonstrated by the time spent by the algorithm of the decentralized type in the entire mathematical model. Conclusions are made about the applicability of the algorithm in distributed computing systems.

Key words: decentralized algorithm, time synchronization, RAS opredelennye computing system.

Umansky, Alexey Borisovich, candidate of technical sciences, head of sector, pdwn1982@yandex. ru, Russia, Yekaterinburg, JSC "Scientific-production Association of au-to-mation named academician N. A. Semikhatova",

Leontev Alexey Victorovich, engineer, lexmanO Qaram bler. ru, Russia, Yekaterinburg, JSC "Scien-tific-production Association of automation named academician N. A. Semikhatova"

i Надоели баннеры? Вы всегда можете отключить рекламу.