Научная статья на тему 'СИНХРОННОЕ ВЫПОЛНЕНИЕ ГРУППОВЫХ ОПЕРАЦИЙ В РАСПРЕДЕЛЕННЫХ КОМПОНЕНТАХ СУПЕРКОМПЬЮТЕРОВ И КОМПЬЮТЕРНЫХ КЛАСТЕРАХ'

СИНХРОННОЕ ВЫПОЛНЕНИЕ ГРУППОВЫХ ОПЕРАЦИЙ В РАСПРЕДЕЛЕННЫХ КОМПОНЕНТАХ СУПЕРКОМПЬЮТЕРОВ И КОМПЬЮТЕРНЫХ КЛАСТЕРАХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
50
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СУПЕРКОМПЬЮТЕРЫ / КОМПЬЮТЕРНЫЕ КЛАСТЕРЫ / ДЕЦЕНТРАЛИЗОВАННОЕ УПРАВЛЕНИЕ / МНОГОУРОВНЕВАЯ СИНХРОНИЗАЦИЯ ДЕЙСТВИЙ ОБЪЕКТОВ / РАСПРЕДЕЛЕННЫЕ ВНУТРИСЕТЕВЫЕ ВЫЧИСЛЕНИЯ / ГРУППОВЫЕ ОПЕРАЦИИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стецюра Геннадий Георгиевич

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

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

SYNCHRONOUS EXECUTION OF GROUP OPERATIONS IN DISTRIBUTED SUPERCOMPUTER COMPONENTS AND COMPUTER CLUSTERS

This paper proposes decentralized processes for synchronizing the actions of a distributed group of active components (objects) in supercomputers and computer clusters, allowing them to move to specified states or influence the external environment synchronously. The object action depends on the current state of the object and the external environment. The actions should start with the minimum delay after the possibility of their execution is detected. Synchronization is performed by exchanging optical signals over wireless communication channels through an optical signal repeater, combining one group of objects or sequences of groups of objects (layers). Accurate distance measurement performs the compensation of possible changes in distances between objects. Group operations accelerate synchronize and simultaneously receive data from a group of distributed objects. Data processing occurs during their transfer, without increasing the time. The operation time does not depend on the quantity of data processed by the operation. A group operation is performed in a repeater containing no computational means.

Текст научной работы на тему «СИНХРОННОЕ ВЫПОЛНЕНИЕ ГРУППОВЫХ ОПЕРАЦИЙ В РАСПРЕДЕЛЕННЫХ КОМПОНЕНТАХ СУПЕРКОМПЬЮТЕРОВ И КОМПЬЮТЕРНЫХ КЛАСТЕРАХ»

ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ т. 13, № 4(55), с. 3-24 научная статья программное и аппаратное обеспечение для суперЭВМ

удк 004.272.45

10.25209/2079-3316-2022-13-4-3-24

Синхронное выполнение групповых операций в распределенных компонентах суперкомпьютеров и компьютерных кластерах

Геннадий Георгиевич Стецюра

Институт проблем управления имени В. А. Трапезникова РАН, Москва, Россия

gstetsura@mail.ru (подробнее об авторе на с. 24)

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

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

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

Для цитирования: Стецюра Г.Г. Синхронное выполнение групповых операций в распределенных компонентах суперкомпьютеров и компьютерных кластерах // Программные системы: теория и приложения. 2022. Т. 13. № 4(55). С. 3-24. http://psta.psiras.ru/read/psta2022_4_3-24.pdf

© Стецюра Г. Г. ВЕзИй

This Article in English: http://psta.psiras.ru/read/psta2022_4_ 25-46.pdf

Введение

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

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

Выше отмечено, что ускорение реакции на возникающие события наиболее важно для работы в жестком реальном времени. Первые сложные компьютерные системы, которые пресса относит к суперкомпьютерам, появились 70-х годов прошлого века и предназначались для решения именно таких задач. Это были ассоциативные системы RADCAP, их последователи системы STARAN, более поздние MPP. Например, STARAN, регулировал движение самолетов в аэропорту им. Кеннеди Нью-Йорка. Сейчас в большинстве публикаций суперкомпьютеры используют в задачах, менее требовательных к скорости реакции на события. Однако в последнее время для таких задач стало возможно применять компактные суперкомпьютеры. Примером могут служить практически настольные суперкомпьютеры серии Nvidia DGX, производительность которых превышает 1 пфлопс. Подобные

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

В статье сетевые средства выполняют не только передачу сообщение, но также управление использованием сети и выполнение в ней вычислений. Но такие совмещения в сети многих функций были и ранее. В 1997 г. в статье [1] предложено использовать сетевые компьютерные средства для управления трафиком, затем появились работы, предлагающие использовать такие средства для управления конфигурацией сети [2], появилось направление In-Network Computing [3-5], в котором ряд видов вычислительных операций также выполняют сетевые компьютеры. В отличие от этих работ для повышения реактивности систем предлагается, как отмечено выше, не использовать в сети компьютеры. Их заменили не содержащие вычислительных средств ретрансляторы.

Для предлагаемых ниже решений необходимо точно определять временной интервал прохождения сигналом расстояния между компонентами системы. Основой для таких измерений является промышленный сетевой протокол PTP, корректирующий показания часов объекта [6-8], и протокол, созданный в проекте White Rabbit для прецизионных физических экспериментов [9,10]. В настоящее время разработан стандарт, объединяющий эти два метода [8]. Эти методы используют для выполнения измерений ведущий объект (лидер). Лидер имеет точные часы и поочередно синхронизирует показания часов ведомых объектов, измеряя расстояние объектов от лидера. В [9,10] ошибка в измерениях времени лежит в субпикосекундном диапазоне. Эти результаты использованы без изменений в статье. Но лидер заменен произвольными объектами. Все решения статьи ориентированы на расстояния между объектами СК в десятки метров и менее. Ограничение расстояний необходимо для получения высокой реактивности распределенной системы.

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

1. Средства для выполнения групповых опера ций 1.1. Ст руктура с вязей между объекта ми

Средством выполнения многослойных групповых операций в СК является развитие структуры выполнения однослойных групповых операций в СК, предложенной автором ранее [11]. Ее фрагмент представлен на рисунке 1.

На рисунке изображены объекты двух типов: объекты О^ — источники (группа Бо) и приемники (группа Де) сигналов и объект ДБ — ретранслятор) оптических сигналов объектов ОДля приема сигналов от ДБ объекты Де посылают непрерывные оптические сигналы частотг /т и С/о. Источник Бо посылает ДБ сигналы /1 и /"о, несущие сообщения. ДБ модулирует сигналами сообщения непрерывные сигналы, возвращаемые на приемник. Объекты могут содержать переключатель для выбора необходимого ДВ.

Как показано на рисунке 2а, объект ДИ представляет1 собой оптиче-

Рисунок 1. Сеть с единственным ретранслятором

Не

ма к/

(а) новая схема

(б) прежняя схема

Рисунок 2. Оптический ретранслятор сети ский ретрорефлектор (Д/), который возвращает сигнал, поступающий

на ДБ, в его источник. ДБ содержит фотоприемники (Рд) сигналов / и /о и фильтры-модуляторы (Мд) сигналов / и /о.

Фильтры обычно закрыты, и сигналы /1 и /о, поступающие в ДБ, не возвращаются к своим источникам. Когда сигнал /1 или /о поступает на фотоприемники Рд, частотный фильтр /1 или */о открывается, соответственно. Все приемники, посылающие сигналы / или /о, фиксируют приход сигналов /1 и /о в КБ от объектов-источников. Эти действия определяют схему обмена сообщениями сигналов Мв между объектами О^.

Эта структура обмена сообщениями развивает разработанный ранее в [12] метод получения данных от источника за счет энергии устройства, запрашивающего данные. Он показанна рисунке 2 б. Приемник данных Де посылает непрерывный оптический сигнал на ретрорефлектор источника данных Бо. Последний возвращает приемнику свой сигнал, модулируя его содержанием запрашиваемых данных. Здесь нет отдельного объекта ДБ. Источник Бо имеет модулятор Мд входящих сигналов опроса от Де. Фотодетекторы отсутствуют. Сигналы сообщения (Мв), поступающие в Б о, формируют ответные сигналы Де в Мд.

Этот метод был разработан для морских приложений. Предлагалось также использовать его для связи между спутниками [13]. Для простых систем связи этого достаточно, но СК требует дополнений, показанных на рисунке 2а, и коммутации связей между многими ДБ. Потребуется также особая синхронизация обмена сообщениями, обсуждаемая в других разделах этой статьи.

Система коммутации с многими ретрансляторами, использующая узлы рисунка 1 показанана рисунке 3.

Г), ос. ^^ "

Ог

Рисунок 3. Структура коммутатора с многими ретрансляторами

3

Здесь есть группы объектов О^ и КБк. Значение к может начинаться от 1 и превышать п — количество объектов О^. Каждый О^ должен

иметь, средства для отправки любому, определяемому текущими требованиями выполняемой задачи объекту ДУк сигналов /1, /о, */1, /о, и приема от любого ДБк сигналов */1, */0, модулированных сигналеми /1, /о других О'

Рассмотрим процесс коммусации в однослойной структуре еисун-ка 3.

Поскольку только ДБк является единственным посредником между чсточником и приемником сообщения, коотрый не вносит задержку в процесс передачи, переключение являесся простым. Источник и получатели сообщения подключаются указанным выше способом к заранее известному им ДБ к, и происходит общая передача сообщения всей группе получатетей. В то же время, есптльзуя другие ДБ к, будетосуществляться передача различных источников. На рисунке 3 один из ретрансляторов группы ДБк (ретранслятор 4) будет ннобходим н качестве *ДБк для связи между г.уппами объектов на рисунке 4. Для того чтобы передать сообщение одновременно всем Оь, целесообртзно ввести ши/отовещатнльный ДБ, коттрый по ненаправленному оптическому или радиоканалу передает полученное им тообщение всем объектам.

Организация многоуровневой работы показана на рисунке 4.

Ог ЯБк Ог + ЯБк *ЯБк

Рисунок 4. Многослойная структура связей

Здесь объекты О^ разделены на группы, отнесенные к разным слоям. Каждой такой группе присваивается группа ДБ к. Внутри этой группы выделяется ретранслятор слоя *ДБк.

Он отличается от остального слоя ДБк только тем, как он используется при взаимодействии слоев. К объекту *ДБк одновременно обращаются О^ двух слоев — текущего и предыдущего. Как было указано во введении, объекты О^ предшествующего слоя работают с объектами *ДБк как источники, а объекты О^ текущего слоя - как

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

Выше повторители находились вне объекта Оц. С небольшими изменениями ретранслятор может быть использован в объекте. Такой ретранслятор **Д Б к, показанный на рисунке 5, состоит из приемника В1 и источника Вз оптических сигналов, который имеет переключатель для выбор а внешнего ДБ^. Компьютер объекта взаимодействует с устройствами В1 , В2, Вз по каналам Ц^, ^2, Ц3.

Рисунок 5. Встроенный в объект ретранслятор

Ретранслятор имеет управляемый объектом переключатель В2, который соединяет выход приемника с входом источника оптического сигнала. Когда ключ разомкнут, он работает как дополнительная обычная пара источник/приемник оптических сигналов. Однако при закрытом ключе входящий оптический сигнал будет передаваться на нужный внешний ДБ^ без задержки. Объект может влиять на передаваемый сигнал, участвуя в групповых операциях.

Наличие **Д Б к позволяет передавать сообщение через цепочку объектов с минимальной задержкой и одновременно выполнять последовательность групповых операций. Если коммутатор может одновременно поддерживать группу соединений с ДБ к, то возможна отправка одного сообщения нескольким объектам.

Замечание. Структура связей подраздела 1.1 при включении СК в систему управления с подвижными объектами запрещает последним покидать поле приема сигнала ретрорефлектором. Это ограничение устранено в статье [14].

Отметим основные возможности структур подраздела 1.1.

(1) Группа объектов может использовать отдельный канал для каждого парного соединения (режим коммутатора) или общий канал для подключения источников к одному приемнику (режим шины). Оба типа структур могут существовать одновременно. Структура связей изменяется с высокой скоростью без снижения скорости обработки данных при посылке объектам групповой команды.

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

(3) Структура позволяет быстро заменить вышедший из строя канал связи. Достаточно иметь один резервный ДБ для замены любого отказавшего ДБ. Кроме того, как правило, каналы имеют запас по ширине полосы, и нагрузка отказавшего канала может быть перераспределена между ними.

1.2. Способы измерения расстояний между объектами

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

Ведущий посылает ведомому в момент ¿1 сигнал о начале синхронизации и отсчет своих часов. Эта информация в момент ¿2 поступает к ведомому. Ведомый корректирует свои часы по часам ведущего.

В момент ¿з ведомый посылает ведущему ответный сигнал и значение своих часов. Ведущий в момент ¿4 получает этот ответ, определяет время передачи сигнала между ведущим и ведомым т = (¿4 — ¿з)/2 и сообщает ведомому значение т скорректированного показания часов. Ведомый корректирует показания часов. Если не вдаваться в некоторые подробности, то это основа коррекции времени в РТР.

Используемый в статье вариант измерения без использования часов показан на рисунке 6 б. Измеряется время передачи сигнала между объектом и ретранслятором сигналов ДБ. Для оптических сигналов в качестве ДБ может быть использован пассивный ретрорефлектор.

master slave

(а) RSk (б) Oj

Рисунок 6. Измерение времени в РТР и вариант его использования в статье

Произвольный объект Ог имеет таймер, включает его и в момент времени посылает сигнал на ЯБ. Сигнал поступает в ЯБ в момент времени £2 • С задержкой в ЯБ в момент времени £3 сигнал будет отправлен от ЯБ, и в момент времени £4 объект Ог определяет время передачи сигнала между О г и ЯБ как То1 ^ = ((£4 — ) — (£3 — £2 ))/2.

Протокол WR позволил добиться более точного способа измерения временных интервалов. Простыми средствами была достигнута точность в фемтосекундном диапазоне [10]. Протокол использует цифровой вариант способа биений.

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

2. Синхронизация действий приемников команд

В этом разделе описывается синхронизация распределенных объектов ЯБ для выполнения требуемых действий одновременно или с дополнительными временными задержками, которые могут быть заданы для каждого объекта. В подразделе 2.1 рассматривается одноуровневая синхронизация приемников команд, посылаемых одним источником. В подразделе 2.2 представлена многоуровневая синхронизация с одним источником команд.

2.1. Одноуровневая синхронизация приемников команд

Пусть имеется группа источников команд, из которых только один, произвольно расположенный Ог, посылает команду объектам-приемникам через ДБ к. Пусть приемникам команд известно расстояние от ДБк и время передачи сигнала между этими объектами. Для того чтобы группа действовала одновременно, каждый член группы, получив команду, должен задержать свое действие, чтобы уравнять свое расстояние от ДБ^ с расстояниями других объектов.

Для этого объект Ог после получения команды выполняет задержку = Т — Тг. Здесь Т - интервал времени, не менее времени передачи сигнала между ДБ к и самым дальним от ДБ^ приемником, Т - интервал времени передачи сигнала между ДБ к и Ог. Легко проверить, что при таком действия команд повторных приемников будут выполняться одновременно. Если к для Ог добавить задержку аг, то аг сдвинет действие Ог относительно других приемников. Это действие завершает одноуровневую синхронизацию.

Выполнение синхронных действий значительно усложняется, когда происходят изменения в динамике времени Тг. Существует две основные причины таких изменений — изменение расстояний между ДБк и Ог из-за внешних воздействий, например, изменения температуры, и из-за присутствия подвижных объектов, например, при включении СК в систему управления. Если длительность сигналов, передаваемых между ДБ к и Ог, превышает Т, то этими изменениями можно пренебречь. Тем не менее, в СК, при работе с сигналами пикосекундной длительности, изменения Т необходимо учитывать. Опишем необходимые для этого действия.

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

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

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

После измерений времени синхронизация завершается, как описано выше в подразделе 2.1.

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

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

В подразделе 2.1 для каждого объекта выделяется временной интервал Т для измерения расстояния до ДБ к. Возможен более сложный метод измерения, позволяющий выполнять измерения для всех приемников за время Т, описанный в работе [16]. Такое ускорение процесса измерения наиболее существенно при включении СК в систему управления, содержащую движущиеся объекты. Объект в данном разделе корректирует расстояние от ДБ только после того, как все объекты завершили измерение расстояния. Новый метод устранения накопленной ошибки использует выделенный только для него канал.

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

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

синхронизации. Объект Ог помещает в свой разряд шкалы с порядковым номером г сигнал Б£. Этот сигнал имеет меньшую длительность, чем отведенная для передачи разряда шкалы. Он размещается в центре разряда. Шкалы объектов с выравниванием одноименных разрядов поступают в ЯБ и возвращаются объектам. При изменении расстояний между Ог и ЯБ сигнал Б£ смещается внутри разряда, позволяя всем объектам учитывать изменение расстояния до ЯБ за время передачи шкалы.

2.2. Многоуровневая синхронизация приемников команд

Разделим группу приемников на несколько подгрупп (слоев), как показанона рисунке 4.

В пределах одного слоя объекты действуют так, как показано выше. Сигналы, которыми обмениваются объекты одного слоя, недоступны в других слоях. Повторители *ЯБк соседних слоев доступны объектам этих слоев и могут быть объединены в одно устройство. Первый слой приемников получает команды источника от ретранслятора своего слоя. Затем один из приемников первого слоя действует через ретранслятор как источник для приемников второго слоя. Приемники последующих слоев действуют аналогично. В простейшем случае требуется, чтобы только приемники последнего слоя действовали синхронно с внешними объектами. Здесь внешний объект — это объект внешней среды или объект СК, не включенный в конкретный процесс синхронизации. В более сложном случае компьютеры объектов всех слоев будут одновременно выполнять совместные действия с внешними объектами. В последнем случае возможны два варианта. В первом действия каждого из слоев завершаются в течение одного и того же известного промежутка времени. Во втором варианте время завершения действий слоев различны и заранее неизвестны. Ниже рассмотрена синхронизация внешних действий только последнего слоя (процесс 1) и одновременно всех слоев (процесс 2).

Рассмотрим детально оба процесса.

Процесс 1.

Имеется к слоев объектов, к = 0,... ,п. Объекты-приемники слоя к для взаимодействия с приемниками слоя к +1 выделяют один источник, который синхронизирует приемники слоя к + 1. Процесс достигает последнего слоя, и его приемники воздействуют на внешние объекты одновременно или с заданными дополнительными сдвигами во времени.

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

Пусть для завершения работы любого слоя требуется интервал времени С. После получения команды приемники произвольного слоя к ^ п многократно вычисляют значение Д = п — к, увеличивая к на 1. Каждое следующее вычисление Д выполняется после временной задержки С. Когда достигается Д = 0, приемники слоя выполнят внешнее действие. Таким образом, первое вычисление для слоя к = 0 дает Д = п, для слоя к = 1 дает Д = п — 1, и так далее. В результате, при получении команды в последнем слое, приемники во всех слоях получают Д = 0 и одновременно выполняют необходимые действия.

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

Шаг 1: Подготовка к синхронизации. На этом шаге источники первого уровня асинхронно подготавливают данные для передачи их приемникам первого уровня. Все действия выполняются с использованием барьерной синхронизации [11]. В ней один или несколько объектов, выполняющих совместную операцию, при ее выполнении посылают сигнал В на ретранслятор, доступный всем объектам.

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

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

Шаг 2: Синхронизация. Процесс аналогичен процессу 2, но все слои перенумеровываются в обратном порядке. Последний слой п теперь имеет номер 0. Для синхронизации объекты слоя с новой

нумерацией к = 0 выступают в качестве источников и начинают синхронизировать приемники всех слоев.

После получения команды объекты многократно вычисляют значение = п — к, увеличивая к на 1 с задержкой после каждого вычисления *С. Когда Д = 0 получено во всех слоях, приемники одновременно выполняют внешнее действие.

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

Здесь синхронизация происходит быстрее, так как объекты не выполняют никаких действий, кроме отправки команды в предыдущий слой.

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

3. Синхронизация действий источников команд

3.1. Синхронизация процессов обмена сообщениями

Синхронные действия группы источников подробно рассмотрены в [15], здесь мы дадим краткое и более близкое к тексту раздела 2 резюме синхронных действий группы источников. Источники действуют следующим образом, аналогично действиям приемников в разделе 2. Источники Бо^ из группы источников Б о, упорядоченных по ], посылают в ЯБ сигнал Б.

В ответ Бо^ получает от ЯБ сигнал Бтв и сигнал *Бтв — признак завершения Б. После этого Бо^ поочередно определяют расстояние до ЯБ и могут вычислить задержки Dj = 2(Т—Т^), где Т, Т соответствуют Т, Тг в разделе 2.

Теперь источники могут посылать синхронные сообщения (и команды приемникам) в ЯБ без использования выделенного центра.

Для этого источники используют логическую шкалу ЬБ — последовательность двоичных битов, равную числу источников в Бо. Источник Бoj, который должен послать сообщение в ЯБ, ставит в соответствующий ему бит ] шкалы ЬБ единицу и передает в ЯБ сигнал с несущей частотой /1. Остальные биты ЬБ могут не содержать сигналов, либо Бoj вносит ноль, который передается сигналом /о.

Источники для начала работы с ЯБ, используя шкалы, посылают в ЯБ сигнал Б и получают в ответ Бтв и *Бтв. Затем, используя задержки Dj, источники посылают свои шкалы ЬБ в ЯБ, чтобы получить шкалу *ЬБ, которая объединяет одноименные разряды всех

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

ДБ теперь действует как единый источник, посылая сообщения или команды от ДБ к приемникам.

При асинхронных действиях объектов отсутствует возможность указать время занятия ДБ объектом. Необходимо применять барьерную синхронизацию (см. подраздел 2.2). Без нее значение С придется выбирать излишне большим.

Таким образом, для передачи своих сообщений объекты должны выполнить следующие действия. Объекты децентрализовано посылают сигналы Б в ДБ, получают от ДБ сигнал *Бтв, по очереди определяют расстояние до ДБ с использованием задержек П^, посылают в ДБ свои шкалы ЬБ, получают от ДБ совместную шкалу, и получают право упорядоченно передавать сообщения.

3.2. Изменение порядка передачи сообщений источников

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

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

Затем источники посылают команду уведомления, чтобы начать формирование новой шкалы с изменением порядка сообщений. После этих действий источники синхронно выполняют следующий1 процесс 1 для определения объекта с текущим наивысшим приоритетом.

■'"Исходным вариантом процесса 1 является метод ДПУ (децентрализованное управление приоритетами), при котором право на передачу сообщения получает объект с наивысшим текущим приоритетом. Для проводной шины ДПУ был разработан в ИАТ (позднее ИПУ) АН СССР в 1970 году [16]. ДПУ использовался в промышленных системах управления. Позже аналогичное решение было предло-

Процесс 1.

Шаг 1: Источник передает в ЯБ значение старшего двоичного разряда своего кода приоритета (старшего из разрядов, не переданных в этом процессе ранее). Значение «1» передается сигналом частоты /1, значение «0» — сигналом частоты /о.

Шаг 2: Если источник на шаге 1 послал сигнал /о и получил сигнал /1 от других источников, он завершает процесс 1. Остальные источники переходят к шагу 3.

Шаг 3: Источник проверяет, не остались ли не переданными какие-либо биты кода приоритета на шаге 1. Если таковые имеются, источник возвращается к шагу 1. В противном случае процесс 1 завершен.

Этот процесс отделяет один источник от претендентов на изменение последовательности обслуживания. Если окажется, что несколько источников имеют одинаковые приоритеты, то затем порядковые номера источников выделят только один из них.

Далее выполняется процесс 2 для формирования шкалы доступа ЯБ с учетом приоритетов.

Процесс 2.

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

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

Существенно, что в разделе 2 приемники в нескольких случаях выступают в роли источников. Поэтому все вышесказанное относится и к ним.

Таким образом, получен оперативный учет требований при изменении прав объектов на передачу сообщений.

жено в компании Philips и широко используется для разрешения конфликтов в качестве интерфейса 12C.

4. Особенности группового взаимодействия объектов

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

4.1. Краткое описание групповых управляющих операций, используемых в статье

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

1. Начальный перевод асинхронно работающих объектов в синхронное состояние с помощью сигналов Б и в подразделе 2.1. Операция выполняется с использованием или без использования ДБ (см. ниже).

2. Формирование задержек в передаче сообщений объектами в ДБ для одновременной доставки в ДБ.

3. Коррекция приемниками времени использования сообщений, полученных от ДБ в разное время, в зависимости от удаленности приемников от ДБ. Коррекция позволяет приемникам выполнять свои действия одновременно или с установленными дополнительными временными задержками.

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

5. Применение шкал для ускорения измерения расстояния между объектами; одновременное разрешение конфликта доступа для группы объектов; изменение порядка доступа с учетом текущего приоритета доступа объекта.

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

4.2. Вычислительные групповые операции, выполняемые на ретрансляторе

Следующие операции включают распределенные вычислительные операции, которые ускоряют управление системой при поиске объектов с заданным набором свойств и оценке системы в целом. Это побитовые операции И и ИЛИ, нахождение max и min чисел, аналого-цифровые арифметические операции. В данной работе такие операции не используются. Однако они включены в раздел, так как позволяют оценить состояние всех объектов и данных в них одновременно за время, которое не зависит от количества участников операции.

Операции побитового И и ИЛИ позволяют быстро оценить состояние всех объектов в системе. Для этого состояние объекта описывается шкалой — последовательностью двоичных разрядов. Каждый из них равен единице при наличии соответствующего признака и равен нулю при его отсутствии и передается соответственно сигналами с частотами / и /0.

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

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

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

В качестве примера используем десятичную систему. С помощью шкал цифры 7, 3 и 1 записываются как 001000000, 000000100, 000000001. При объединении одноименных разрядов этих шкал в RS, все объекты получат результат объединенной новой шкалы 001000101. Из нее следует, что max равно 7, а min равно 1.

СинхронноЕ выполнение групповых операций

21

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

Рассмотрим выполнение аналого-цифровых операций. Для выполнения аналого-цифровых операций RS должен содержать аналого-цифровой преобразователь (АЦП). Покажем выполнение операции сложения чисел. Энергия оптических сигналов, поступающих в RS с совпадением по времени, измеряется фотодетектором, который передает результат измерения на АЦП. Последний преобразует результат в число и рассылает его всем объектам.

Как и в предыдущем примере, числа, передаваемые объектами в RS, представляются в десятичной системе счисления с помощью шкал. Пусть три объекта передают в RS комбинацию цифр шкал трех чисел 789, 988, 786, соответственно. При применении шкал эти числа будут записаны как

001000000; 010000000; 100000000], 100000000; 010000000; 010000000], 001000000; 010000000; 000100000].

При объединении цифр шкалы в RS объекты получат три шкалы из RS

[102000000; 030000000; 110100000]. Здесь цифры 3 и 2 в первой и второй шкалах показывают цифровые показания АЦП, суммирующие энергию трех и двух сигналов. В результате каждый объект, используя свое вычислительное средство, локально выполняет суммирование и получает результат

(9 + 2 х 7) х 100 + 3 х 8 х 10 + 9 + 8 + 6 = 2300 + 240 + 23 = 2563. Таким образом, вычисление суммы не зависит от количества объектов, участвующих в операции сложения. Для вычитания достаточно получить две суммы в RS для уменьшаемого и вычитаемого чисел и завершить операцию локально в каждом объекте.

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

Для получения в СК точного цифрового значения аналого-цифровых операций при суммировании нескольких тысяч сигналов необходимы источники со стабильным значением энергии оптического сигнала. В [17] приведен простой светодиодный источник со стабильностью выходной мощности лучше 50 ppm/°C.

4.3. Три основных механизма ускорения синхронизации объектов

Из предыдущих разделов ясно, что в синхронизации действий объектов центральную роль играют три механизма. К ним относятся начальная синхронизация асинхронных объектов сигналами Б и *Б, замена группы источников сигналов одним повторителем сигналов ЯБ и логические шкалы, представляющие ноль и единицу активными сигналами.

Хотя в подразделе 2.1 объекты используют ЯБ при начальном запуске, его использование необходимо только для получения высоких скоростей взаимодействия объектов. Например, объекты могут не использовать ЯБ для связи с периферией. В этом случае объекты могут непосредственно получать сигналы Б и определять наличие *Б без ЯБ. Объекты, получившие *Б, будут поочередно выполнять необходимые операции.

Однако эти операции будут выполняться значительно медленнее, чем при использовании ЯБ. Без ЯБ после появления в системе сигнала *Б первый объект обнаружит *Б и начнет передачу сообщения не позднее момента времени Т. Следующий объект начнет передачу не позднее момента времени Т после детектирования передачи предшественника и так далее. Между сообщениями возникает неуправляемая пауза длительностью ^ Т. Добавление ЯБ устранило зависимость от Т.

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

Логические шкалы устраняют конфликт доступа объектов к ЯБ одновременно для всех конфликтующих объектов. Их второе важное применение — создание групповых аналого-цифровых вычислительных операций.

Заключение

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

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

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

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

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

[1] Tennenhouse D., Smith J. M., Sincoskie W. D., Wetherall D.J., Minden G.J. A survey of active network research // IEEE Communications Magazine.- 1997.-Vol. 35,- No. 1,- pp. 80-86. б

[2] Zilberman N., Watts P. M., Rotsos C., Moore A. W. Reconfigurable network systems and software defined networking // Proc. of the IEEE.- 2015.- Vol. 103.-No. 7,-pp. 1102-1124. I 1б

[3] Tokusashi Y., Tu Dang H., Pedone F., Soule R., Zilberman N. The case for in-network computing on demand // EuroSys '19: Proceedings of the Fourteenth EuroSys Conference 2019 (March 25-28, 2019, Dresden, Germany), New York: ACM.- 2019.- ISBN 978-1-4503-6281-8.- 16 pp. I ' б

[4] Sapio A., Abdelaziz I., Aldilaijan A., Canini M., Kalnis P. In-network computation is a dumb idea whose time has come // HotNets-XVI: Proceedings of the 16th ACM Workshop on Hot Topics in Networks (30 November-1 December, 2017, Palo Alto, CA, USA), New York: ACM.- 2017,- ISBN 978-1-4503-5569-8.- pp. 150-156. Б

[5] Kim D. Towards elastic and resilient in-network computing, CMU-CS-21-143.-Pittsburgh: Carnegie Mellon University.- 2021.- 150 pp. url; б

[6] IEEE standard for a precision clock synchronization protocol for networked measurement and control systems, IEEE Std 1588-2008 (Revision of IEEE Std 1588-2002).- 2008,- 269 pp. б is

[7] IEEE standard for a precision clock synchronization protocol for networked measurement and control systems, IEEE 1588-2019.- IEEE Instrumentation and Measurement Society.- 2020. б 13

[8] Girela-Lopez F., Lopez-Jimenez J., Jimenez-Lopez M., Rodriguez R., Ros E., Diaz J. IEEE 1588 high accuracy default profile: Applications and challenges // IEEE Access.- 2020,- Vol. 8,- pp. 45211-45220. I 1 б is

[9] Sliwczynski L., Krehlik P., Buczek L., Schnatz H. Picoseconds-accurate fiber-optic time transfer with relative stabilization of lasers wavelengths // Journal of Lightwave Technology.- 2020,- Vol. 38,- No. 18,- pp. 5056-5063.

б 13

[10] Moreira P., Darwazeh I. Digital femtosecond time difference circuit for CERN's timing system.- 4 pp. (url) б n 13

[11] Stetsyura G. Addition for supercomputer functionality // RuSCDays 2016: Supercomputing, Communications in Computer and Information Science.-vol. 687, eds. Voevodin V., Sobolev S., Cham: Springer - 2017- isbn 978-3-319-55668-0.- pp. 251-263. 6 15

[12] Rabinovich W. S., Goetz P. G., Mahon R., Swingen L. A., Murphy J. L., Ferraro M., Burris H. R., Moore Ch.I., Suite M.R., Gilbreath G. Ch., Binari S. C., Klotzkin D. J. 45-Mbit/s cat's-eye modulating retroreflectors // Optical Engineering.- 2007,- Vol. 46,- No. 10,- 104001,- 8 pp. r

[13] Zhu Y., Wang G. Research on retro-reflecting modulation in space optical communication system, IOP Conference Series Earth and Environmental Science.- vol. 108,- 2018. I p

[14] Г. Г. Стецюра Сетевая информационно-вычислительная поддержка взаимодействия подвижных роботов // Проблемы управления.- 2018.-

№ 5,- с. 56-65. gl d 9

[15] Стецюра Г. Г. Децентрализованная автономная синхронизация процессов взаимодействия мобильных объектов // Проблемы управления.- 2020.-№ 6,- с. 47-56. I 116

[16] StetsuraG. G. Commentson'Peripheralinterfacestandardsformicroprocessors" jj Proceedings of the IEEE.- 1977,- T. 65,- № Ц,- c. 1920. f 13 it

[17] Bosiljevac M., Babic D., Sipus Z. Temperature-stable LED-based light source without temperature control, Photonic Instrumentation Engineering III (15 March 2016, San Francisco, CA, USA), Proc. SPIE.- vol. 9754,- 2016,- 6 pp.

d 21

Поступила в редакцию 01.07.2022;

одобрена после рецензирования 18.09.2022; принята к публикации 19.09.2022.

Рекомендовал к публикации

д.ф.-м.н. С.М. Абрамов

Информация об авторе:

Геннадий Георгиевич Стецюра д. т.н., профессор, гл. н. с. ИПУ РАН. Область интересов: информатика, computing. Основные работы в области распределенных многокомпонентных цифровых систем. Более 150 публикаций и более 20 патентов и авторских свидетельств на изобретения.

e-mail:

0000-0003-4606-4424 gstetsura@mail.ru

Автор заявляет об отсутствии конфликта интересов.

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