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

УДК 004.75, 004.272.45

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

В.Н. Ручкин, В. А. Романчук, В. А. Фулин, В.В. Лукашенко

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

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

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

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

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

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

Функционирование системы управления кластером отображается в математической модели вычислений кластера.

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

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

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

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

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

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

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

Пусть А1(' ) е А1 - один из алгоритмов обработки информации, который предназначен для реализации на распределенной вычислительной нейрокомпьютерной системе.

Алгоритм А1' представляет собой кортеж операций Ор =< Ор1,Ор2,...,Орр,...,Орр >так, что длина кортежа операций равна

¡1 =| А1(''>|;] = 1Р:

А1=< Ор1,Ор2,...,Орр,...,Орр >;' = 1Р,

Для реализации работы программы при разработке каждой операции ставится в соответствие совокупность микрокоманд процессора

{МКр}; "р = \Лг

"Ор} е Ор : Орт  {МКр};"р = \К1;"т = Щ,

где МКр = {МК1, МК 2,..., МКр,..., МКр} - множество микрокоманд, принадлежащих пространству микрокоманд нейропроцессора, используемого в нейрокомпьютерах распределенного вычислительного кластера.

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

На втором шаге алгоритма управления вычислительным кластером в зависимости от решения задачи (2) необходимо каждому у -му алгоритму

обработки поставить в соответствие некоторую программу РЯ(у), т.е. требуется определить некоторое отображение р:

ф: А1

Под программой РЯ(у) понимается кортеж микрокоманд:

РЯ

Следует отметить, что выражение (4) определяет однопроцессорный вариант реализации алгоритма, поступившего на обработку в распределенный вычислительный кластер, что не соответствует требованиям распределения вычислений и затратам по ресурсам. Поэтому на третьем шаге алгоритма управления вычислительным кластером производится разделение кода программы РЯ(у) на множество подпрограмм {ЯО^)}; I = 1,Ь и загрузка подпрограмм на каждый нейрокомпьютер участвующий в работе вычислительного кластера.

Математически этот шаг описывается следующим образом:

РЯ

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

Введем понятие вычислительной структуры Б^ е Б/т;w = 1, Ж, под ней будем понимать отношение параллельности выполнения подпрограмм в вычислительных узлах распределенного вычислительного. Отношение параллельности - есть выполнение одновременно более чем одной подпрограммы на разных нейрокомпьютерах распределенного вычислительного кластера.

Таким образом на этом шаге работы алгоритма управления вычислительным кластером необходимо определить множество структур

Бк = [БЩ,Б^,...,Б^...,Б^}, позволяющее ' -й программе РЯ(') (4) поставить в соответствие множество подпрограмм [ЯО|')}; I = 1, Ь :

Б^ : РЯ

В этом случае (6) определяет уже распределенную структуру вычислительного кластера, необходимую для решения поступившего на обработку в кластер алгоритма.

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

Для решения задачи (6) необходимо ввести понятие равенства программ обработки информации ЯО' = ЯОк, под которым будем понимать

= |ЯО*|, под которым понимается ра-

равенство длин подпрограмм

ЯО'

венство числа микрокоманд подпрограмм, и совпадение подпрограмм с точностью до микрокоманды МК('') = МК(к),"I = 1,| ЯО' |, т.е.

ЯО' = ЯОк

ЯО'

= \ЯОк\

МК

) = мк

Рассмотрим отношение структуры Б^ е Б/г; w = 1, Ж, которое указывает на то, что любые две произвольно взятые подпрограммы ЯО' и

ЯОк , удовлетворяющие (7), могут выполняться одновременно на разных вычислительных модулях распределенного вычислительного кластера, т.е.

"ЯО1, ЯОк е РЯ

Таким образом, справедливо утверждать, что отношение структуры обработки есть отношение эквивалентности.

Отношение эквивалентности - это бинарное отношение, для которого выполнимы следующие условия:

1) рефлексивность.

2) симметричность.

3) транзитивность.

Рассмотрим каждое из этих условий.

1. Всякая программа обработки информации ЯО}, удовлетворяющая (7), может выполняться параллельно самой себе, т.е. ЯО^^ЯО1. Таким образом, справедливо условие рефлективности подпрограмм

"ЯО1 е РЯ(у) .

2. Если подпрограмма обработки информации ЯО1 равна подпрограмме ЯО£, то подпрограмма обработки ЯО£ равна подпрограмме обработки ЯО1 и одновременно с ней может выполняться, т.е.

"ЯО1, ЯО£ е РЯ(у) : ЯО[Б^ЯО£  ЯО£Б^ЯО[.

3. Если подпрограмма обработки информации ЯО1 равна подпрограмме обработки ЯО£, а подпрограмма ЯО£ равна ЯОд, тогда подпрограмма обработки ЯО1 равна и параллельна подпрограмме обработки ЯОд, т.е.

"ЯО1, ЯО£ е РЯ(у) е Strw : ЯО^^ЯО£, ЯO£StrwЯOq  ЯО^^ЯОд.

Таким образом, справедливо условие транзитивности подпрограмм обработки информации.

Отношение структуры обработки информации в распределенном

вычислительном кластере позволяет разбить всю программу РЯ(у), определяемую в (8), на классы неравных между собой подпрограмм согласно (6), т.е. классы эквивалентности. Число классов эквивалентности обозначим как Ь, а порядок каждого класса - | а} |, I = 1, Ь. Всякий класс подпрограмм имеет своего представителя в виде подпрограммы ЯО1 с числом микрокоманд, равным порядку подпрограммы | ЯО/ |.

В итоге, вычислительная структура Strw распределенного вычислительного кластера ставит в соответствие некоторой у -й программе обработки информации РЯ(у) совокупность подпрограмм ЯО/ число которых

соответствует числу классов эквивалентности Ь, а кратность (ЯО/)определяется порядком класса эквивалентности | а} |:

"у = ,РЯ {{ЯО1)q}"q = 1,| а1 |;"I = \Ь

Рассмотрим все возможные структуры РВНКС, полученные в результате решения задачи (6).

1. Если число классов эквивалентности равно Ь, порядок каждого |а/1= 1 и обмен данными между фрагментами в классах осуществляется последовательно, то «конвейерная структура», если информация требуется одновременно всем фрагментам классов, то «векторная структура».

2. Если число классов эквивалентности Ь равно единице, и порядок каждого класса а1 равен д, и обмен данными между фрагментами в классах осуществляется последовательно, то «конвейерная структура», информация требуется одновременно всем фрагментам классов, то «векторная структура».

3. Если число классов эквивалентности Ь, порядок каждого \= 1 и обмен данными между фрагментами в классах осуществляется последовательно, то «конвейерная структура». Обмен данными между фрагментами в классах осуществляется последовательно с небольшим исключением фрагментов I -го класса, - «конвейерная структура». Обмен данными между фрагментами в классах, кроме I -го, осуществляется последовательно, а I -му классу информация требуется одновременно, - «конвейерно-векторная структура». Фрагменты обмениваются информацией последовательно, однако в некоторых классах информация требуется одновременно - «конвейерно-векторная структура».

4. Если порядок каждого класса равен числу классов эквивалентности Ь, то «матричная структура». Информация сразу требуется фрагментам всех классов, но в некоторых классах требуется последовательный обмен, то «векторно-конвейерная структура». Информация требуется одновременно фрагментам всех классов, но фрагменты I -го класса обмениваются последовательно - «векторно-конвейерная структура». Информация требуется одновременно фрагментам всех классов, кроме некоторых фрагментов I -го класса, - «векторно-конвейерная структура». Информация требуется одновременно всем фрагментам классов - «векторная структура».

Во всех случаях необходимое и достаточное число вычислительных

Ь

модулей будет рассчитываться в результате решения q = ^ | а11, где

I=1

q - число вычислительных модулей.

На пятом шаге работы алгоритма управления вычислительным кластером для каждого класса эквивалентности осуществляется выбор подходящей вычислительной структуры Б^ е Б№; w = 1,Ж

На шестом шаге работы алгоритма управления вычислительным кластером сформированные на втором шаге подпрограммы

[ЯО^')}; I = 1, Ь распределяются по узлам соответствующих вычислительных структур для последующего выполнения.

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

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 14-07-00261а.

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

1. Бурцев В.С. Параллелизм вычислительных процессов и развитие архитектуры супер ЭВМ. М.: ИВВС РАН, 1997. 152 с.

2. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб: БХВ-Петербург, 2002. 608 с.

3. Корнеев В. В. Параллельные вычислительные системы. М.: Но-лидж, 1999. 320 с.

4. Лацис А. Как построить и использовать суперкомпьютер. М.: Бестселлер, 2003. 240 с.

5. Таненбаум Э. Архитектура компьютера. СПб: Питер, 2002. 704 с.

6. Buyya Ed. R. High performance cluster computing //Architectures and systems. Programming and applications. New Jersey: Prentice Hall PTR, 1999. 354 с.

7. Лукашенко В. В., Романчук В. А. Разработка математической модели реструктуризуемого под классы задач, виртуализуемого кластера вычислительной grid-системы на базе нейропроцессоров // Вестник Рязанского государственного университета им. С.А. Есенина. 2014. № 1/42. С.176 - 181.

8. Топорков В.В. Модели распределенных вычислений. М.: ФИЗМАТЛИТ, 2004. 320 с.

9. Ручкин В.Н., Романчук В.А., Фулин В.А. Когнитология и искусственный интеллект. Рязань: Узорочье, 2012. 260 с.

10. Романчук В.А., Ручкин В.Н., Фулин В.А. Разработка модели сложной нейропроцессорной системы // Цифровая обработка сигналов. 2012. №4. С. 70 - 74.

11. Ручкин В.Н. Проектирование и выбор специализированных средств обработки информации. М.: МГОУ, 1997. 128 с.

12. Лукашенко В.В. Ручкин В.Н. Анализ основных вопросов функционирования моделей вычислений и управления ресурсами в распределенных вычислительных средах // Фен. наука. 2015. № 6 (45). С. 13-15.

13. Лукашенко В.В. Анализ основных вопросов классификаций распределенных вычислительных систем // Современная техника и технологии, 2015. [Электронный ресурс] URL: http://technology.snauka.ru/ 2015/04/6452 (дата обращения: 10.09.2015).

14. Романчук В. А., Лукашенко В.В. Модель описания функционирования нейропроцессора как сложной параллельной системы // Автоматизация и управление в технических системах, 2015. [Электронный ресурс] URL: http://auts.esrae.ru/14-266 (дата обращения: 10.09.2015).

15. Лукашенко В.В. Модели вычислений и управления ресурсами в распределенных вычислительных средах // Современная техника и технологии, 2015. [Электронный ресурс] URL: http://technology.snauka.ru/ 2015/06/6683 (дата обращения: 10.09.2015).

16. Костров Б.В., Ручкин В. Н., Фулин В. А. Искусственный интеллект и робототехника. М: ФИЗМАТЛИТ, 2008. 260 с.

17. Колмыков М.В., Ручкин В.Н., Романчук В. А. Возможности программного комплекса NM Model для разработки и отладки программ обработки изображений // Вестник Рязанского государственного радиотехнического университета. 2008. № 24. С. 83-85.

Ручкин Владимир Николаевич, д-р техн. наук, проф., v.ruchkinarsu.edu.ru, Россия, Рязань, Рязанский государственный университет им. С.А. Есенина,

Романчук Виталий Александрович, канд. техн. наук, доц., v.romanchuk@rsu. edu.ru, Россия, Рязань, Рязанский государственный университет им. С.А. Есенина,

Фулин Владимир Андреевич, ст. преподаватель, v.fulin@rsu.edu.ru, Россия, Рязань, Рязанский государственный университет им. С.А. Есенина,

Лукашенко Владислав Владиславович, асп., v. lukashenko@rsu. edu. ru, Россия, Рязань, Рязанский государственный университет им. С.А. Есенина

DEVELOPMENT SELECTION ALGORITHM COMPUTING STRUCTURES

DISPERSED CLUSTERS WITHNEUROCOMPUTING ARCHITECTURE

V.N.Ruchkin, V.A.Romanchuk, V.A.Fulin, V.V.Lukashenko

A distributed computing cluster with a hardware architecture based on neurocomputers is considered. An algorithm for computing the choice of cluster structure that implements a mathematical model of computing cluster from a position set-theoretic approach. The reported study was funded by RFBR according to the research project №14-07-00261а.

Key words: clustering, neurocomputing technology, distributed computing, neuro-computational, distributed neurocomputational.

Ruchkin Vladimir Nikolaevich, doctor of technical sciences, professor, v. ruchkin@rsu. edu. ru, Russia, Ryazan, Ryazan State University named after S. Yesenin,

Romanchuk Vitaliy Aleksandrovich, candidate of technical scienses, docent, v. romanchuk@rsu. edu. ru, Russia, Ryazan, Ryazan State University named after S. Yesenin,

Fulin Vladimir Andreevich, senior lecturer, v.fulinarsu. edu. ru, Russia, Ryazan, Ryazan State University named after S. Yesenin,

Lukashenko Vladislav Vladislavovich, postgraduate, v. hikashenkoarsu. edu. ru, Russia, Ryazan, Ryazan State University named after S. Yesenin

УДК 62

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

С.К. Тусюк, В. А. Мозжечков

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

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

Современная военно-техническая политика государства предполагает оснащение Вооруженных Сил России приоритетными средствами вооруженной борьбы. К таким средствам, в частности, относятся комплексы высокоточного оружия [1]. Их совершенствование признано одним из важнейших направлений развития оперативно-тактических вооружений Вооруженных Сил России.

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

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