МОДЕЛИРОВАНИЕ СТРУКТУРЫ НЕЙРОКОМПЬЮТЕРНОГО ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА

Аннотация


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

Полный текст

Введение. В современной научной и производственной сфере достаточно актуальна задача эффективного использования систем обработки данных из-за недостаточности вычислительных ресурсов для решения ряда задач. Модель вычислений осуществляет связь между архитектурой и моделью программирования в вычислительных системах, а также отражает взаимодействие процессов в них. Но в настоящее время для классифицированных технологий нейрокомпьютерных кластерных вычислений универсальных моделей не построено, что объясняется сильной зависимостью модели вычислений от архитектуры распределенной системы. В работе рассматривается модель вычислений глобального распределенного вычислительного кластера на базе нейрокомпьютеров, которая имеет программную реализацию в виде системы управления глобальным распределенным вычислительным кластером. Статический и динамический подходы к формированию вычислительной структуры кластера. Существуют два принципиальных подхода к распространению задач внутри кластера [1]. В рассматриваемом случае это означает, что существуют два подхода к формированию вычислительной структуры кластера: статический и динамический, поскольку перед непосредственным распределением очередной подзадачи на очередной вычислительный модуль необходимо ввести его в состав вычислительной структуры, а затем направить на него саму задачу. При статическом подходе к распространению подзадач внутри вычислительной структуры вычислительные машины резервируются заранее и остаются занятыми до конца вычислений, после чего запускается процедура разрезевирования, и вычислительные машины возвращаются в режим ожидания. Достоинствами такого способа являются четкая маршрутизация и четкое следование по графу выполнения программы. К недостаткам можно отнести замедление выполнения задач на вычислительном кластере [2, 3]. При динамическом подходе очередной вычислительный узел резервируется динамически посредством опроса всех вычислительных машин после выполнения задачи предыдущим вычислительным модулем. Плюсом такого вычислительного кластера является сверхбыстрое выполнение задач, а минусом - возможные ошибки в маршрутизации и в графе выполнения программ поступившей задачи. В разрабатываемой системе применен принцип динамического резервирования вычислительных машин. С математической точки зрения задача динамического резервирования определенных машин кластера состоит в нахождении такой функции , где - произвольный момент времени, что . Функция показывает, сколько необходимо вычислительных машин кластера для его вычислительной работы в момент времени . Функция показывает, сколько необходимо коммутаторов для связи вычислительных машин в единую сеть в момент времени . В данном случае в роли коммутатора также может выступать и вычислительная машина, не участвующая в данных вычислениях, но передающая данные далее по сети. Функция показывает сетевой маршрут между вычислительными машинами, коммутаторами в момент времени . Функции определяют для каждого вычислительного узла количество вычислительных ядер - нейропроцессоров, объемы оперативной и дисковой памяти в мегабайтах в момент времени . Функции и , как и ранее, показывают объемы доступной оперативной и дисковой памяти, а функция характеризует загруженность вычислительных ядер. Вычислительные ядра могут относиться как к отдельным процессорам, так и к нескольким многоядерным процессорам. С целью упрощения модели они рассматриваются как единое множество вычислительных ядер узла : . Вычисление динамических параметров кластера. Пусть - множество вычислительных ядер всех узлов кластера. Тогда рассмотрим задачу вычисления динамических параметров , , . Процессы, выполняющиеся на вычислительных ядрах, могут напрямую считывать и записывать информацию в оперативную и дисковую память данного узла, взаимодействуя с ними через системную шину или коммутатор. При необходимости передачи сообщения другому вычислительному узлу в рамках одного кластера задействуется сетевая подсистема, осуществляющая разбиение сообщения на пакеты и передачу их по высокопроизводительной коммуникационной сети. Сетевая подсистема каждого узла также содержит коммутатор, выполняющий функции маршрутизации собственных и транзитных пакетов. Обозначим в качестве номер задачи, исполняющейся на ядре в момент времени . Если же ядро в момент времени было свободно, то . Пусть state(x,t) = {free, communication, computation} - состояния вычислительного ядра в момент времени t (free - свободно, communication - исполняет процесс на стадии коммуникации, computation - исполняет процесс на стадии вычислений). Значения динамических параметров узла в момент времени могут быть вычислены по следующим формулам: , (1) , (2) , (3) где и - соответственно объемы оперативной и дисковой памяти, необходимой каждому процессу -й параллельной подзадачи. Также важно отметить, что индекс строго зависит от N - количества доступных к обработке подпрограмм: . Модель передачи сообщений. Предлагаемая модель передачи сообщений основана на принципе коммутации пакетов при передаче данных. Пусть - стандартный фиксированный размер одного пакета, тогда - размер заголовочной части пакета, в котором содержатся стандартные инструкции по передаче пакета по сети: адреса получателя и отправителя, контрольные суммы, а - хвостовая часть пакета, в которой содержится служебная информация об очередности данного программного кода в графе выполнения программы и очередной номер узла в вычислительной нейрокластерной структуре. Тогда для передачи сообщения размером m необходимо будет пакетов. Тогда модель передачи пакетов по сети распределенного вычислительного кластера можно представить в виде маршрута - множества, членами которого будут являться вычислительные узлы и коммутаторы, которые проходит пакет от вычислительного узла с адресом начала до узла с адресом конца, не нарушая контрольных сумм маршрута: . (4) Основным параметром, характеризующим передачу пакетов по маршруту сети, а также являющимся наиболее важной составляющей общей производительности вычислительного кластера, является время передачи пакета от узла до - Для этого сначала определим функцию задержки пакета при передаче от узла до , т.е. задержку при передаче пакета между крайними узлами , где - сетевая связь из множества между вычислительными узлами n1 и n2 при условии, что эти узлы связаны напрямую. В данном случае коммутаторы являются узлами, передающими пакеты далее по сети. В вычислениях они не участвуют. Также некоторые вычислительные узлы могут быть заняты для вычислений в данный момент времени t, но свободны для передачи пакетов далее по сети - в таком случае эти вычислительные узлы выступают в роли коммутаторов. Таким образом - время передачи пакета по сетевому маршруту можно вычислить следующим образом: , (5) где - среднее время маршрутизации пакета. Это время затрачивает каждое сетевое устройство любого узла. В данной формуле не учитываются задержки, связанные с сетевой конкуренцией пакетов, поскольку она исключается использованием вычислительных нейрокластерных структур и динамического распределения задач по узлам вычислительного кластера. Вычислительная загрузка кластера формируется из потока подзадач , которые формируются в результате работы - алгоритма разбиения задач, поступивших на выполнение в вычислительный кластер, помещаемых им в очередь задач. Каждая задача является параллельной неинтерактивной программой, способной работать в пакетном режиме. Процессы этой задачи запускаются планировщиком, реализующим один из подходов к распространению подзадач внутри вычислительной структуры, в данной работе выбран динамический подход. Процессы запускаются одновременно по мере освобождения вычислительных машин от предыдущих задач, во время работы вычислительные ядра-нейропроцессоры обмениваются друг с другом сообщениями. Для каждой задачи необходимо математически определить требования к ресурсам кластера, такие как: количество необходимых нейропроцессоров , объем оперативной и дисковой памяти , необходимой каждому процессу -й параллельной подзадачи в килобайтах, временную оценку - время, необходимое для исполнения каждого процесса в нейропроцессоре, и время выполнения подзадачи на нейропроцессоре целиком - . (6) (7) С учетом выделенных планировщиком ресурсов можно вычислить по формуле (8) где - относительная производительность каждого нейропроцессора, которая определяет, во сколько раз ядра данного узла работают быстрее вычислительных ядер самого непроизводительного узла, Nj - множество номеров вычислительных узлов pi, отданных подзадаче. Структура каждой задачи может быть описана с помощью SPMD-модели. SPMD (Single Program Multiple Data) - модель, подкласс MIMD моделей по классификации Флинна, описывает систему, где на всех процессорах MIMD-машины выполняется только одна единственная программа, и на каждом процессоре она обрабатывает разные блоки данных, именно такая модель присуща распределенным вычислительным кластерам [6]. Выполнение каждого процесса параллельной задачи представляет собой чередование коммутационной фазы и фазы вычислений. Опишем коммуникационную фазу выполнения подзадачи. Коммуникационная фаза на каждой итерации может быть представлена в виде одного коммуникационного паттерна из множества : (9) где - множество процессов подзадачи, а - функция, определяющая количество пакетов сообщения, передаваемого от процесса к процессу . Выполнение коммуникационной фазы для каждого процесса состоит из двух шагов: на первом шаге происходит неблокируемая рассылка сообщений всем свободным процессам, ожидающим приема пакетов, а на втором шаге происходит блокируемый прием пакетов от конкретных процессов, которым предназначаются рассылаемые неблокируемые данные. В литературе встречаются следующие типичные паттерны: Random, Pairs, Ring, One-to-all и All-to-all [4-8]. В рамках настоящего исследования рассматриваются и моделируются однонаправленные коммуникации. Моделирование коллективных коммуникаций достаточно сложно и не входит в задачи исследования. Опишем вычислительную фазу выполнения подзадачи. Основным параметром, характеризующим эту фазу, является время выполнения процесса на нейропроцессоре. Введем функцию которая ставит в соответствие каждому процессу вычислительный модуль - нейропроцессор, на который он назначен алгоритмом планирования. В общем виде будем считать, что каждый процесс тратит одинаковое время на выполнение вычислительной части каждой итерации SPMD-модели задачи. Тогда время выполнения коммутационной фазы процессом можно вычислить по формуле: (10) Следовательно, если взять - время выполнения коммуникационной фазы процессом задачи , тогда реальное время выполнения задачи может быть вычислено по формуле: (11) Следует отметить, что величина зависит от сетевой конкуренции и от физического расположения нейропроцессов на вычислительных узлах, ее значение может быть вычислено непосредственно в процессе работы вычислительного кластера и его управляющей системы. Также следует отметить, что в рамках данной модели происходит пренебрежение временем разбиения сообщения на пакеты ввиду его незначительности [9-11]. Выводы. Показаны формализованное описание и обобщенная модель функционирования вычислительной системы на базе нейрокомпьютеров, включающая ее характеристики, возможные структуры при взаимодействии с памятью, модель передачи сообщений и модель распределения задач внутри облачного кластера. Модель нейрокомпьютерного кластера позволяет более эффективно использовать системы обработки данных на базе специализированных аппаратных ресурсов - нейропроцессоров.

Об авторах

В. А Романчук

Рязанский государственный университет им. С.А. Есенина

Email: v.romanchuk@rsu.edu.ru

В. В Лукашенко

Рязанский государственный университет им. С.А. Есенина

Email: v.lukashenko@rsu.edu.ru

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

  1. Галушкин А.И. Нейронные сети: основы теории. - М.: Горячая линия-Телеком, 2010.
  2. Топорков В.В. Модели распределенных вычислений. - М.: Физматлит, 2004.
  3. Ручкин В.Н., Романчук В.А., Лукашенко В.В. Обобщенная модель вычислений кластера нейрокомпьютеров // Вестник Рязан. гос. ун-та им. С.А. Есенина. - 2015. - № 2(47). - С. 146-150.
  4. Лукашенко В.В. Анализ основных вопросов классификаций распределенных вычислительных систем // Современная техника и технологии. - 2015. - № 4(44). - С. 65-69.
  5. Романчук В.А., Ручкин В.Н. Оценка результатов моделирования вычислительных систем на базе нейропроцессоров // Известия Тульск. гос. ун-та. Технические науки. - 2013. - Вып. 9-2. - С. 194-203.
  6. Романчук В.А., Ручкин В.Н. Разработка алгоритмов определения вида структуры нейропроцессорной системы на основе описания связей ее элементов // Информатика и прикладная математика: межвуз. сб. науч. тр. - 2011. - Вып. 17. - С. 106-109.
  7. Романчук В.А., Лукашенко В.В. Модель описания функционирования нейропроцессора как сложной параллельной системы // Автоматизация и управление в технических системах. - 2015. - № 2(14). - С. 13-24.
  8. Романчук В.А. Разработка алгоритмов определения связей элементов вычислительной структуры на базе нейропроцессоров // Информатика и прикладная математика: межвуз. сб. науч. тр. - Рязань: Изд-во Рязан. гос. ун-та им. С.А. Есенина, 2011. - Вып. 17. - С. 102-105.
  9. Макаров Д.В., Романчук В.А. Облачные SaaS, IaaS, PaaS системы для искусственного интеллекта [Электронный ресурс] // Современная техника и технологии. - 2015. - № 5(45). - С. 75-78. - URL: http://technology.snauka.ru/2015/05/6731 (дата обращения: 04.01.2017).
  10. Бурцев В.С. Параллелизм вычислительных процессов и развитие архитектуры супер ЭВМ. - М.: Изд-во ИВВС РАН, 1997.
  11. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002.

Статистика

Просмотры

Аннотация - 27

PDF (Russian) - 14

Ссылки

  • Ссылки не определены.

© Романчук В.А., Лукашенко В.В., 2017

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial 4.0 International License.

Данный сайт использует cookie-файлы

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

О куки-файлах