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

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

CC BY
67
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНЫЙ КЛАСТЕР / ИЕРАРХИЧЕСКАЯ СТРУКТУРА СВЯЗЕЙ / БЫСТРЫЕ ВЫЧИСЛЕНИЯ В СЕТИ / ДИНАМИЧЕСКАЯ РЕКОНФИГУРАЦИЯ / РАСПРЕДЕЛЕННАЯ СИНХРОНИЗАЦИЯ / БАРЬЕРНАЯ СИНХРОНИЗАЦИЯ / РАСПРЕДЕЛЕННЫЙ УСКОРИТЕЛЬ ВЫЧИСЛЕНИЙ / COMPUTER CLUSTER / HIERARCHICAL NETWORK STRUCTURE / FAST COMPUTING IN THE NETWORK / DYNAMIC RECONFIGURATION / DISTRIBUTED SYNCHRONIZATION / BARRIER SYNCHRONIZATION / THE DISTRIBUTED ACCELERATOR OF COMPUTING

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Стецюра Г. Г.

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

THE COMPUTER CLUSTERS WITH FAST SYNCHRONIZATION OF MESSAGES AND WITH FAST DISTRIBUTED COMPUTING BY THE NETWORK HARDWARE

The network structure and methods for the rapid interaction of computers in a distributed composite cluster are proposed. The composite cluster is organized hierarchically and consists of a group of simple clusters, one of which gives tasks to simple clusters. Simple clusters perform tasks synchronously and asynchronously. In the simple cluster, a group of processors also acts synchronously or asynchronously, using fast barrier synchronization. The activities of simple cluster computers are controlled by a leading computer. The composite cluster quickly performs the processes of synchronization of messages sent, processes to resolve conflicts of computer access to network tools, distributed logical operations, the distributed definition of max and min , distributed addition and subtraction operations. These operations do not require message delay to complete. The duration of operations does not depend on the number of cluster computers participating in them. To do this, computers send messages simultaneously, creating a group message in which the bits of the same name are combined in time. Acceleration of the above mentioned distributed computing and synchronization are achieved with intensive computer access to the cluster network, which distinguishes the proposed solutions from the existing practice of using a computer network. The proposed operations allow creating faster algorithms for real-time tasks, including tasks for managing the cluster.

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

УДК 004.75 РС!: http://doi.org/10.25728/pu.2020.4.7

КОМПЬЮТЕРНЫЕ КЛАСТЕРЫ С БЫСТРЫМ АППАРАТНЫМ ВЫПОЛНЕНИЕМ СИНХРОНИЗАЦИИ СООБЩЕНИЙ И РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ СЕТЕВЫМИ СРЕДСТВАМИ

Г. Г. Стецюра

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

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

ВВЕДЕНИЕ

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

Однако в последние два десятилетия компьютерные сети существенно усложнились и начинают дополнительно выполнять различные виды обработки данных в процессе их передачи. Появились широко известные активные сети (Active Networks) [1], программно-управляемые сети (SDN)

[2], сети с внутрисетевыми вычислениями (InNetwork Computing) [3—6]. Такие, конструктивно достаточно сложные сети, содержат сетевые компьютеры, программное обеспечение которых выполняет дополнительно часть работы основных компьютеров. В Active Networks выполняется управление пересылкой через сеть сообщений с учетом их особенностей. Сети SDN динамически ре-конфигурируют сетевую структуру. В In-Network Computing сетевые средства выполняют вычисления над передаваемыми в сообщениях данными. Перечисленные сети ориентированы на передачу сообщений большого объема. Благодаря передаче части работы основных компьютеров системы программам сетевых компьютеров эффективность системы повышается.

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

Удовлетворяющие этим требованиям решения были получены для суперкомпьютеров [7, 8] и систем мобильных объектов, в частности роботов [9]. Но в этих работах не рассмотрен распространенный вид систем — составные компьютерные кластеры, которые содержат простые кластеры, взаимно удаленные на расстояние не более нескольких десятков метров. Настоящая статья дает для составных кластеров способы достижения указанных целей.

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

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

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

В статье использованы результаты организации распределенных быстрых вычислений в суперкомпьютерах и в группах мобильных роботов из пуб-

ликаций [7—9], расширенные и адаптированные к потребностям составного компьютерного кластера с иерархическими сетевыми соединениями.

1. ПРОСТОЙ КЛАСТЕР

В простом кластере (рис. 1) применяются два вида объектов (сетевых узлов) — сетевые контроллеры N0 и модули связи МБ.

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

В простом кластере имеется только один объект МБ. Объекты N0 соединены с модулем связи МБ каналами связи (оптоволоконными, беспроводными оптическими каналами или радиоканалами). В структуре (рис. 1, а) применяется любой из указанных каналов.

Объект N0 взаимодействуют через модуль связи МБ следующим образом. Объект N0 должен отправлять сигналы частотой /1 для передачи двоичной единицы и частотой /0 для передачи двоичного нуля в модуль связи МБ, который преобразует эти сигналы в сигналы других частот */1 и */0 и отправляет их всем объектам N0. Эти сигналы имеют одинаковую длительность для всего кластера.

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

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

МБХ

тп

С М52 —-■ С/М5

Рис. 1. Виды соединений в кластере: а — канал любого вида; б — оптоволоконный канал

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

Как показано, модуль связи МБ — единственный вид сетевого устройства, через которое проходят все сетевые потоки. В § 2 и 4 показано, что процессы синхронизации и распределенных вычислений в значительной степени выполняются в модуле МБ, который не содержит компьютеры, для большинства операций в нем не требуются даже логические элементы. В § 3 для работы в иерархической сетевой структуре модули МБ составного кластера усложнены и в них применяется аппаратное управление переключением проходящих через МБ потоков данных и команд.

2. СИНХРОНИЗАЦИЯ В ПРОСТОМ КЛАСТЕРЕ, ФОРМИРОВАНИЕ КЛАСТЕРА

Рассмотрим три вида синхронизации: синхронизацию, устранение конфликтов доступа к МБ и барьерную синхронизацию.

Синхронизация обеспечит доставку сообщений группы N0 в МБ в виде одного сообщения. В этом сообщении биты с одинаковыми именами в сообщениях N0 перекрываются в МБ или сообщения передаются одно за другим без временных пауз, как единое сообщение [7—9].

Синхронизация с помощью специальной команды начала синхронизации. Пусть такая команда поступила от МБ ко всем N0. Пусть известно Т{ — время распространения сигнала между NC¡ и МБ, и Ттах — время, не меньше времени распространения сигнала между МБ и самыми удаленными от него N0.

Один из объектов N0 отправляет команду начала синхронизации через МБ всем N0. Получив команду, N0, которые должны отправить сообщение, отправляют в МБ сообщение — двоичную шкалу. Число битов в шкале равно числу всех N0. Объекты N0, которые должны отправить сообще-

ние, отправляют единицу (/1) в позицию (бит) шкалы, которая соответствует N0. Шкала отправляется с задержкой = 2(Ттах — Т) Одноименные биты в шкале поступают в МБ одновременно от всех N0, и все N0 получают общую шкалу от МБ — результат перекрытия сигналов N0. Получив шкалу, N0 отправляет сообщение с задержкой Сообщения передаются одно за другим или с перекрытием их разрядов. Все N0 получают такое сообщение от МБ.

Синхронизация без специальной команды. Если N0 не получают в течение заданного интервала времени сигналы от МБ, то они начинают передавать сообщения. Если при этом возникает конфликт, то в сообщениях N0 в результате наложения в МБ сигналы искажаются (совместный приход в N0 сигналов / и /0). Первое такое искажение N0 воспринимают как команду начала синхронизации и устранения конфликта. В ответ N0 посылают в МБ приведенную выше шкалу. Далее выполняется синхронизация, как описано выше, и конфликты устраняются для всех N0 одновременно.

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

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

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

3. СОСТАВНЫЕ КЛАСТЕРЫ

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

3.1. Синхронный составной кластер

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

1МБ. Волоконно-оптические каналы соединяют модули первого уровня 1МБ с модулем МБ. Удаленность каждого N0 составного кластера от МБ и наибольшая удаленность всех N0 от МБ известны.

Модуль МБ работает, как описано выше. Модули 1МБ принимают сигналы /0, /1 и /2 от подключенных к ним N0 и, не изменяя частоту сигналов, передают их в МБ. Поэтому МБ воспринимает модули 1МБ как N0. Модуль МБ посылает сигналы 71, 70, и */2 не только своим N0, но и модулям 1МБ. Последние, подобно МБ, посылают эти сигналы своим N0. Модули 1МБ не преобразуют проходящие через них сигналы. Система с модулями 1МБ ведет себя аналогично системе, которая содержит только модули МБ.

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

В процессе синхронизации участвуют все простые кластеры, которые передают в сообщениях общую шкалу. От МБ общая шкала возвращается всем N0. После синхронизации N0 отправят свои сообщения без конфликтов.

В этом процессе должно выполняться дополнительное условие: сообщения N0 должны поступать

без конфликтов не только в МБ, но и в 1МБ. Каждый N0 должен отправить сообщение с рассмотренной выше задержкой Т., к которой добавляется задержка, учитывающая расстояние между МБ и

Рис. 2. Составной кластер

1МБ. Все последующие операции в кластере начинаются одновременно.

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

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

3.2. Асинхронный составной кластер

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

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

Теперь обратимся к составному асинхронному кластеру. Модули 1МБ состоят из двух ч астей: 1МБа

и 1МБЬ. Для автономной работы N0 в модулях 1МБ потребуются два источника сигнала /2.

Перевод центральным кластером модуля 1МБ в автономный режим состоит из следующих шагов.

Шаг 1. Произвольный N0 центрального кластера, действующий как и, отправляет команду 01.

После получения команды 01 модуль 1МБ информирует подключенные к нему N0 о предстоящей автономной работе. Модули 1МБ и их N0, получившие команду 01, ждут команду 02 от объекта и. Эта команда перечисляет имена N0 — получателей 02. Для каждого N0 указывается задача — команда или программа, которую должен выполнить N0. Затем модуль 1МБ выполняет шаг 2.

Шаг 2. После получения 02 модуль 1МБ запрещает прохождение сигналов от МБ к N0, указанного модуля 1МБ и сигналов этих N0 к МБ. Часть 1МБа отправляет в МБ сигнал /2 — признак барьерной синхронизации. От модуля МБ поступает сигнал */2. ко всем 1МБ. На шаге 3 объекты N0 модуля

1МБ будут асинхронно выполнять задачи, указанные в команде 02.

Шаг 3. Команда 02 среди N0 модуля 1МБ выбирает произвольный N0, который обозначим *и. Объект *и должен управлять действиями остальных объектов N0 модуля 1МБ. Объект *и также может быть выбран совместными операциями

объектов N0, объединенных модулем 1МБ. В своем простом кластере объект *и ведет себя подобно объекту и центрального кластера.

Каждый N0, получивший команду от *и, отправляет части 1МБЬ сигнал /,. Часть 1МБЬ преобразует сигнал /2 в сигнал */2, который отправляется

объектам только N0 этого модуля 1МБ.

После завершения операции N0 отключает свой сигнал /2. При отсутствии сигналов /2 модуль 1МБЬ отключает сигнал */2.

В ответ объект *и либо продолжает работать с объектами 1МБ, либо завершает работу и отправляет команду части 1МБа, чтобы прекратить отправку сигнала /2 в модуль МБ.

Шаг 4. Когда модуль МБ прекратит прием сигнала /2, модуль МБ прекратит передачу сигнала */

своим объектам N0 и модулям 1МБ.

После выполнения шагов 1—4 результаты вычислений в модулях 1МБ остаются в тех N0, которые подключены к этим модулям, и недоступны N0, которые подключены к МБ. Чтобы этим N0 дать доступ, выполняется шаг 5.

Шаг 5. Предполагается, что в команде 02 объект *иполучил задачу по сбору данных из N0, которые подключены к модулю 1МБ, и собрал требуемые данные.

После этого объект и получает через модуль МБ и *и все данные из объектов.

Таким образом, разделение модуля 1МБ на части 1МБа и 1МБЬ позволяет взаимодействовать двум асинхронным процессам. Часть 1МБа обеспечивает подключение модуля 1МБ как объекта к МБ. Часть 1МБЬ позволяет объектам, подключенным к модулям 1МБ, работать автономно. По сравнению с МБ подчиненные модули 1МБ пришлось усложнить.

Шаги 1—5 легко изменяются для включения

2 3

модулей следующих уровней иерархии — 2МБ, 3МБ и т. д. Это позволяет создать многоуровневую структуру.

В составном кластере любой компьютер можно заменить составным кластером.

Организация составного кластера с иерархической сетевой структурой связей — центральная задача статьи. Иерархическая сетевая структура характерна для многих современных распределенных компьютерных систем. Но рассмотренный выше составной кластер при наличии в нем п компьютеров п-кратно ускоряет синхронизацию и ряд видов распределенных вычислений.

3.3. Быстрые изменения в структуре кластера

Рассмотрим типичные варианты изменений в структуре кластера.

Смена лидера. Для проведения в кластере вычислений (§ 4) часто нужен объект N0 — лидер, управляющий действиями других объектов N0 кластера. Если лидер перестает работать, требуется выбор другого лидера за минимально возможное время. Для этого достаточно выполнить следующие действия.

Объектам N0 присваивают различные двоичные номера. Цифра номера, равная единице, будет передаваться сигналом /х, а цифра ноль — сигналом /0. Выполняется алгоритм из двух шагов.

Шаг 1. Если в течение времени 2*Ттах объекты N0 не обнаруживают сигнал /0 или /р то они переходят к шагу 2.

Если объект обнаруживает сигнал /р и его старшая цифра равна нулю, тогда он прекращает выполнение алгоритма. В противном случае он переходит к шагу 2.

Шаг 2. Объекты N0 передают старшую цифру своего номера, которую получают все N0 и ожидают в течение времени 2 *Ттах. Если при этом N0, который передал сигнал /0, получает сигнал /х, то он прекращает выполнение алгоритма. Иначе N0 повторяет шаг 2, передавая следующую цифру своего номера. Алгоритм завершается после передачи объектами N0 последней цифры.

После завершения алгоритма будет выделен единственный N0. Он становится лидером или передает функции лидера другому N0. Число повторений шага 2 логарифмически зависит от числа объектов N0. Переход к представлению чисел, показанному в § 4, дает дальнейшее ускорение благодаря уменьшению числа обменов сообщениями в сети. Более сложные действия по выбору лидера изложены в работе [9].

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

Вначале соединение между модулями связи будем считать беспроводным (см. рис. 1, а). Рассмотрим общий случай — сбой или отказ МБ или первоначальный запуск еще не сформированного кластера. Будем считать, что имеется несколько МБ, один из них работает в данный момент времени. Остальные следят за его работоспособностью и при отказе проводят выбор нового МБ, подобно выбору лидера среди N0.

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

Если соединения оптоволоконные, то применяется структура соединений, представленная на рис. 1, б. Работающий и резервные МБ объединены каналом связи согласно рис. 1, б. Выбор нового МБ выполняется, как в предыдущем варианте для рис. 1, а, но с посылкой сигналов в соответствии с § 1.

Глобальный обмен сообщениями. Полученные в каком-либо N0 данные в составном кластере непосредственно доступны N0, соединенными с тем же модулем связи. Другие N0 получат доступ к этим данным только через указанную в п. 3.1 и 3.2 цепочку переключений в структуре МБ. Для дальнейшего ускорения вычислений, воспользуемся объединением всех N0 дополнительной связью в соответствии с рис. 1, а или 1, б. Эта связь включается по команде основного модуля связи нулевого уровня. В результате составной кластер преобразуется в простой кластер, действия которого описаны выше.

3.4. Управление группой распределенных конвейерных вычислений

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

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

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

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

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

Приведенное ускорение требует применения синхронизации, описанной в § 2.

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

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

4. РАСПРЕДЕЛЕННЫЕ СЕТЕВЫЕ ВЫЧИСЛИТЕЛЬНЫЕ ОПЕРАЦИИ

Далее приведены примеры быстрых распределенных вычислительных операций, разработанных ранее для систем из публикаций [7—10] и настоящей статьи. Состав операций расширяется при переходе к новым видам и применениям систем. Поэтому § 4 служит ориентиром для создания новых полезных сетевых операций.

4.1. Формат данных в выполняемых кластером распределенных операциях

Для представления двоичных единиц и нулей применяются соответственно сигналы двух частот Л и /0 (см. § 1).

В ряде операций для представления цифр применяется также двоичная шкала, в которой число битов равно основанию данной системы счисления. Только один бит в шкале, соответствующий значению цифры, равен 1, остальные равны 0. Например, для десятичной системы счисления и цифры 7 шкала равна 001000000. Для двоичной системы мы получаем обычное двоичное представление чисел. Увеличение базы системы счисления ускоряет работу, поскольку уменьшает количество обменов сообщениями.

4.2. Распределенные цифровые операции

Битовые логические операции И и ИЛИ. Объекты NC синхронно передают биты в MS, используя представление двоичных цифр 1 и 0 сигналами f и f0. Если MS при выполнении операции И получает только сигналы то результат наложения сигналов считается единицей. При приходе в MS сигналов f и f или f результат равен нулю.

В операция ИЛИ при приходе в MS только сигнала f результат равен нулю. При приходе в MS только сигнала f1 или сигналов f1 и f0 результат равен единице.

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

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

4.3. Распределенные аналого-цифровые операции

Рассмотрим операции аналого-цифрового суммирования. Эти операции существенно расширяют возможности цифровых операций (см. п. 4.2).

Добавим в модуль MS аналого-цифровой преобразователь (АЦП). Каждой ц ифре суммируемых чисел, представленной в произвольной системе счисления, выделим шкалу из п. 4.1. Шкалы ц ифр всех суммируемых чисел поступают в MS с побитным их совмещением. Приемник сигналов f1 в MS для каждого бита шкалы объединяет энергию принятых сигналов f1 и передает результат на АЦП, который выдает цифровое значение, соответству-

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

Время для вычисления в МБ состоит из двойного интервала времени передачи сигналов между МБ и наиболее удаленным объектом и времени перевода «аналог — цифра».

Приведем пример сложения трех десятичных чисел Б = 68 + 58 + 68. Они представлены шкалами: число 68 представлено шкалой младшего разряда Ях = [010000000] и шкалой старшего разряда Я2 = [000100000]; число 58 представлено соответственно Я3 = [010000000] и Я4 = [000010000]; еще раз число 68 представлено Я5 = [010000000] и = = [000100000]. Вначале на МБ поступают три шкалы Я2, Я4, ^6 младших цифр чисел, которые в результате наложения создают общую шкалу [0(3)0000000]. Здесь в круглых скобках указана суммарная энергия поступивших сигналов /г Эту

шкалу АЦП переводит в цифровую шкалу 1Я = = [030000000], где цифра 3 указывает, сколько сигналов поступило в данный разряд от объектов N0. Эти данные направляются всем N0. Заметим, что энергия сигналов не обязательно идентична, и АЦП должен вносить соответствующую коррекцию. Для упрощения модуля связи АЦП может передавать в N0 только ц ифровые измерения уровня энергии, где они будут переведены в число сигналов. Аналогично обрабатываются шкалы Яр Я3, Я5 с образованием шкалы [000(2)10000], которая будет направлена объектам N0 как Я = [000210000].

12

По шкалам Я и Я объекты получают из частичных сумм полную сумму Б = 10 (2-6 + 5) + 3-8 = 194.

Аналогично выполняется вычитание.

Часто полезно в АЦП только подсчитывать число полученных сигналов /0. Это, например, позволит быстрее узнать, сколько объектов N0 участвовало в операции.

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

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

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

Часто признакам дается только двоичная оценка 1 и 0. Для получения гистограммы в этом случае сложение вырождается в операцию счета.

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

ЗАКЛЮЧЕНИЕ

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

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

• Аппаратное выполнение барьерной синхронизация асинхронных процессов, обычно выполняемое программно.

• Устранение конфликтов доступа компьютеров к сети также аппаратно путем посылки короткого сообщения для одновременного разрешения группы конфликтов.

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

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

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

замедляет его выполнение. В рассмотренной структуре применение сети ускоряет выполнение алгоритма. Как показано в § 2 и 4 ускорению способствует замена поочередной передачи сообщений многих источников синхронизированной передачей единственного сообщения с совмещением одноименных разрядов всех сообщений.

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

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

ЛИТЕРАТУРА

1. Tennenhouse, D.L. Towards an Active Network Architecture // SIGCOMM Comput. Commun. Rev. - 1996. - 26 (2).

2. Kreutz, D., Ramos, F.M.V., Verissimo, P., et. al. Software-Defined Networking. A Comprehensive Survey // Proc. of the IEEE. - 2015. - Vol. 103, no. 1, January. - P. 14-76.

3. Tokusashi, Y, Huynh, Tu Dang, Pedone, F., et al. The Case for In-Network Computing on Demand // Dresden, Germany. EuroSys'19. March 25-28. - 2019. - https://doi.org/ 10.1145/3302424.3303979

4. Sapio, A., Abdelaziz, I., Aldilaijan, A., et al. In-Network Computation is a Dumb Idea Whose Time Has Come // Proceedings of the 16th ACM Workshop on Hot Topics in Networks -HotNets-XVI. - 2017. - http://dx.doi.org/10.1145/ 3152434.3152461

5. Ports, D.R.K., Nelson, J. When Should the Network Be the Computer? // Workshop on Hot Topics in Operating Systems (HotOS'19), May 13-15, Bertinoro, Italy. - 2019. - https:// doi.org/10.1145/3317550.3321439

6. In-Network Computing and Next Generation HDR 200G Infiniband Whitepaper // Mellanox Technologies. - 2018. -https://www.mellanox.com/pdf/whitepapers/WP_In-Network_Computing_Next_Generation_HDR_200G_IB.pdf

7. Стецюра Г.Г. Компьютерная сеть с быстрой распределенной перестройкой своей структуры и обработкой данных в процессе их передачи // Проблемы управления. - 2017. № 1. - С. 47-56. - http://pu.mtas.ru/archive/ Stetsyura_117.pdf [Stetsyura, G.G. A Computer Network with Fast Distributed Reconfiguration and Data Processing During Transfer // Automation and Remote Control. - 2018. -Vol. 79, iss. 4. - P. 713-724. - DOI: 10.1134/ S0005117918040124]

8. Stetsyura, G. Means for Fast Performance of the Distributed Associative Operations in Supercomputers // Communications in Computer and Information Science: Springer International Publishing AG. - 2017. - Vol. 793. - P. 27-39. - https:// doi.org/10.1007/978-3-319-71255-0_3

9. Стецюра Г.Г. Сетевая информационно-вычислительная поддержка взаимодействия подвижных роботов // Проблемы управления. - 2018. - № 5. - С. 56-65. - DOI: http://doi.org/10.25728/pu.2018.5.6 [Stetsyura, G.G. Network Information-Computing Support of Automatic Mobile Objects Interaction // Automation and Remote Control. - 2019. -

Vol. 80, iss. 6. - P. 1134-1147. - DOI: https://doi.org/ 10.1134/S0005117919060110] 10. Патент РФ 2697729 C1. Способ и система управления взаимодействием автономных мобильных технических объектов с быстрой реакцией на изменение состояния объектов и внешней среды. [Patent RF. 2697729 C1. Method and control system for the interaction of autonomous mobile technical objects with a quick reaction to a change in the state of objects and the environment.]

Статья представлена к публикации членом редколлегии В.М. Вишневским.

Поступила в редакцию 03.12.2019, после доработки 15.04.2020.

Принята к публикации 3.06.2020.

Стецюра Геннадий Георгиевич — д-р техн. наук, Институт проблем управления им. В.А. Трапезникова РАН, г. Москва, Н gstetsura@mail.ru.

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

Направления подготовки

09.06.01 — «Информатика и вычислительная техника»

Специальности:

05.13.01 — Системный анализ, управление и обработка информации (по отраслям) — по техническим наукам;

05.13.01 — Системный анализ, управление и обработка информации (в отраслях информатики, вычислительной техники и автоматизации) — по физико-математическим наукам;

05.13.05 — Элементы и устройства вычислительной техники и систем управления — по техническим наукам;

05.13.06 — Автоматизация и управление технологическими процессами и производствами (по отраслям) — по техническим наукам;

05.13.10 — Управление в социальных и экономических системах — по техническим наукам;

05.13.11 — Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей — по техническим наукам;

05.13.12 — Системы автоматизации проектирования (по отраслям) — по техническим наукам; 05.13.15 — Вычислительные машины, комплексы и компьютерные сети;

05.13.18 — Математическое моделирование, численные методы и комплексы программ — по техническим наукам.

38.06.01 — «Экономика»

Специальности:

08.00.05 — Экономика и управление народным хозяйством (по отраслям и сферам деятельности, в том числе управление инновациями); 08.00.13 — Математические и инструментальные методы экономики.

01.06.01 — «Математика и механика»

Специальность:

01.01.02 — Дифференциальные уравнения, динамические системы и оптимальное управление.

Более подробная информация на https://www.ipu.ru/aspirantura/postgraduate/about

THE COMPUTER CLUSTERS WITH FAST SYNCHRONIZATION OF MESSAGES AND WITH FAST DISTRIBUTED COMPUTING BY THE NETWORK HARDWARE

G.G. Stetsyura

V.A. Trapeznikov Institute of Control Sciences of Russian Academy of Sciences, Moscow, Russia

M gstetsura@mail.ru

Abstract. The network structure and methods for the rapid interaction of computers in a distributed composite cluster are proposed. The composite cluster is organized hierarchically and consists of a group of simple clusters, one of which gives tasks to simple clusters. Simple clusters perform tasks synchronously and asynchronously. In the simple cluster, a group of processors also acts synchronously or asynchronously, using fast barrier synchronization. The activities of simple cluster computers are controlled by a leading computer. The composite cluster quickly performs the processes of synchronization of messages sent, processes of resolving conflicts of computer access to network tools, distributed logical operations, the distributed definition of max and min, distributed addition and subtraction operations. These operations do not require message delay to complete. The duration of operations does not depend on the number of cluster computers participating in them. To do this, computers send messages simultaneously, creating a group message in which the bits of the same name are combined in time. Acceleration of the above mentioned distributed computing and synchronization is achieved with intensive computer access to the cluster network, which distinguishes the proposed solutions from the existing practice of using a computer network. The proposed operations allow creating faster algorithms for realtime tasks, including tasks for managing the cluster.

Keywords: computer cluster, hierarchical network structure, fast computing in the network, dynamic reconfiguration, distributed synchronization, barrier synchronization, the distributed accelerator of computing.

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