MODELING OF THE STRUCTURE OF THE BRAIN-COMPUTER COMPUTING CLUSTER

Abstract


In this paper the model of computation of global distributed computing cluster based on neuro-computers, which is a software implementation of a management system globally distributed computing cluster. Shows a generalized model of cluster computing cluster structure based neuroprocessors includes model of computing neuro-clasters structure, packet transmission network model, model download subtasks in the computing cluster structure of neuro-computers. The developed models allow to realize effective clustered parallel and distributed systems with the specified parameters of performance. The high level of parallelization allows the implementation of the "flexible", reconfigurable systems with different structures, that is to form the hardware basis for a given algorithm problem. There are two Prince pial approach to the formation of cluster computing structures: static and dynamic as before the direct distribution of the next sub-tasks for the next calculation module you must enter it in the computer structure, and then direct the task itself to it. To implement dynamic approach was chosen as the model of formation of the structure, according to which another compute node dynamically reserved by interviewing all the computers after the task the previous computing fashion-lem. The advantage of this is the ultra-fast computing cluster tasks. The downside of possible errors in routing and execution of programs box, received the task. The developed system uses the principle of dynamic provisioning of computing machines. Offered messaging model is based on the principle of packet switching for data transmission, but it should be noted that in this study are considered and modeled one-way communication.

Full Text

Введение. В современной научной и производственной сфере достаточно актуальна задача эффективного использования систем обработки данных из-за недостаточности вычислительных ресурсов для решения ряда задач. Модель вычислений осуществляет связь между архитектурой и моделью программирования в вычислительных системах, а также отражает взаимодействие процессов в них. Но в настоящее время для классифицированных технологий нейрокомпьютерных кластерных вычислений универсальных моделей не построено, что объясняется сильной зависимостью модели вычислений от архитектуры распределенной системы. В работе рассматривается модель вычислений глобального распределенного вычислительного кластера на базе нейрокомпьютеров, которая имеет программную реализацию в виде системы управления глобальным распределенным вычислительным кластером. Статический и динамический подходы к формированию вычислительной структуры кластера. Существуют два принципиальных подхода к распространению задач внутри кластера [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]. Выводы. Показаны формализованное описание и обобщенная модель функционирования вычислительной системы на базе нейрокомпьютеров, включающая ее характеристики, возможные структуры при взаимодействии с памятью, модель передачи сообщений и модель распределения задач внутри облачного кластера. Модель нейрокомпьютерного кластера позволяет более эффективно использовать системы обработки данных на базе специализированных аппаратных ресурсов - нейропроцессоров.

About the authors

V. A Romanchuk

Ryazan State University named after S.A. Yesenin

Email: v.romanchuk@rsu.edu.ru

V. V Lukashenko

Ryazan State University named after S.A. Yesenin

Email: v.lukashenko@rsu.edu.ru

References

  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.

Statistics

Views

Abstract - 21

PDF (Russian) - 7

Refbacks

  • There are currently no refbacks.

Copyright (c) 2017 Romanchuk V.A., Lukashenko V.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies