Troshina Anna Gennad'evna, сandidate of technical sciences, docent, atroshi-na@mail.ru, Russia, Tula, Tula State University
УДК 004.383.3
МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ ОБЛАЧНЫХ НЕЙРОКОМПЬЮТЕРНЫХ СИСТЕМ
В. А. Романчук, В.Н. Ручкин
Предложена математическая модель облачной вычислительной системы на базе концептуально нового поколения вычислительной техники - нейропроцессоров. Показано разработанное программное обеспечение для логического проектирования и организации сложных, распределенных и облачных нейрокомпьютерных систем.
Ключевые слова: вычислительная система, облачные вычисления, логическое проектирование, нейропроцессор, нейрокомпьютер.
Идея облачных вычислений появилась еще в 1960 году, когда Джон Маккарти высказал предположение, что когда-нибудь компьютерные вычисления будут производиться с помощью «общенародных утилит». Считается, что идеология облачных вычислений получила популярность с 2007 года благодаря быстрому развитию каналов связи и стремительно растущим потребностям пользователей.
Под облачными вычислениями (от англ. cloud computing, также используется термин «облачная (рассеянная) обработка данных») обычно понимается предоставление пользователю компьютерных ресурсов и мощностей в виде интернет-сервиса. Таким образом, вычислительные ресурсы предоставляются пользователю в «чистом» виде, и пользователь может не знать, какие компьютеры обрабатывают его запросы, под управлением какой операционной системы это происходит и т.д.
В настоящее время крупные вычислительные облака состоят из тысяч серверов, размещенных в центрах обработки данных (ЦОД). Они обеспечивают ресурсами десятки тысяч приложений, которые одновременно используют миллионы пользователей [1, 2]. Облачные технологии являются удобным инструментом для предприятий, которым слишком дорого содержать собственные ERP, CRM или другие серверы, требующие приобретения и настройки дополнительного оборудования [3].
Облачные нейропроцессорные вычислительные системы (ОНПВС) предполагают обеспечение повсеместного сетевого доступа по требованию к инфраструктуре конфигурируемых вычислительных ресурсов, таких, как нейропроцессорная система. Принципиальным отличием облачной системы от параллельных и распределенных систем является наличие временных задержек за счет использования относительно медленных каналов связи между пользователем и "облаком" [4].
Облачная система может быть описана в виде
^ = {Р, F, Sw, Fl, U, C, E, А, Sw, a, ^ q, Шс, Tlc},
где P = {Р\,Р2,...,Pq} - множество вычислительных узлов ОНВПС, где
каждый вычислительный узел-нейропроцессор может быть описан с помощью технических параметров: Pi ® Ир, H¡(i, Hli, Hmi, (Ир,H¡(i,
Иц, Ит! - технические параметры, отвечающие за тактовую частоту ней-ропроцессора, количество ядер, объемы оперативной и дисковой памяти для / -го нейропроцессора (НПВМ) соответственно); Е - множество направленных связей между кластерами или узлами; F = F2,...,Fj■} -
множество хранилищ данных; Sw = {Sw1, Sw2,..., Sw5}- множество коммутаторов; С = {С\,С2,...,Сс}- множество контроллеров; А - диспетчер (управляющий узел) ОНПВС; Sw - структура ОНПВС, выбор которой определяется диспетчером А; Fl = Fl2,...,Fl^} - типы экземпляров
виртуальных машин; и = {Ц\,и2,...,ии}- множество пользователей облачного центра; а - архитектура аппаратного обеспечения каждого узла ОНПВС; h - архитектура программного обеспечения каждого узла ОНПВС; Пгс - время задержек передачи данных до управляющего устройства ОНПВС и обратно к пользователю; Т1с - время латентности при передаче данных от управляющего устройства ОНПВС и обратно.
Обобщенная модель вычислений облачной вычислительной системы показана на рис. 1.
Рис. 1. Обобщенная модель вычислений облачной вычислительной системы
236
Тип экземпляра виртуальной машины Fl, е Fl характеризуется множеством параметров:
Fl, ® {Cr,,Mr,, Dr,}, где Cr, - количество виртуальных процессов; Mr, - объем оперативной памяти; Dr, - объем дисковой памяти.
Экземпляр виртуальной машины Ik е I из множества запущенных или запускаемых экземпляров I = {Ij, 12,.., I p } определяется как:
Ik ® {Imk, Flk, stk {tX hk {tX ak {t), statfr (t)}, где Imk - дисковый образ экземпляра виртуальной машины; Flk - тип экземпляра виртуальной машины Flk е Fl ; stk (t) - состояние экземпляра виртуальной машины (в очереди, работает, мигрирует, остановлен, удален и др.) в момент времени t ; hk (t) - номер узла, на котором выполняется экземпляр виртуальной машины в момент времени t ; ak (t) - номер ядра узла, на котором выполняется экземпляр; statk (t ) - характеристики экземпляра, такие как время запуска, время остановки и др.
Рассмотрим множества Tr и Tlat для ОНПВС. В этом случае величина Ttr » 0, а время задержек при передаче от пользователя U, е U к управляющему узлу Ttrc в системе
Tt^i = Ttrpoi + Ttropi, где Ttrp0i - время передачи данных между пользователем и узлом Л ;
Ttropi - время передачи данных между узлом Л и пользователем U, eU.
Tl^ = Tl poi + Tlopi, где Tlpoi - время латентности при передаче данных между пользователем
U) е U и управляющим узлом Л ; Tlp - время латентности при передаче
данных между управляющим узлом Л и пользователем U, е U .
Тогда имеем общее количество задержек
Tsi = Шс, + Tlcj Ф 0; Ttr = Tl = 0.
Были реализованы программные средства логического проектирования и организации сложных, распределенных и облачных многопроцессорных систем на базе нейропроцессоров - подсистема "Логическое проектирование нейропроцессорных систем" на базе платформы "NP Studio" [5-10]. Для того чтобы реализовать возможность использования нескольких устройств, были выполнены следующие действия:
1. Реализована возможность работы с PCI-слотами PC-компьютера, необходимыми для работы инструментальных модулей MC 51.03, MC51.02, MC 23.01. В поставку программного обеспечения добавлены необходимые драйвера, устанавливаемые автоматически.
2. Реализована возможность работы с двухпортовыми банками внутренней памяти нейропроцессора объемом16Кх64 бит каждый (SRAM). Реализована проверка на переполнение любого из четырех банков памяти.
3. Реализована возможность проверки кэш-памяти команд объемом 1Кх64 бит (ICACHE) на переполнение. Проверка выполняется при организации, проектировании и реализации приложения для нейропроцессорных устройств.
4. Реализована возможность использования двух байтовых коммуникационных портов (CP0 и CP1) с пропускной способностью до 150 Мбайт/с для организации связи между нейропроцессорами семейства NM640x и процессоров ТMS320C4x. Коммуникационные порты СР1 и СР2 обеспечивают информационный обмен по двунаправленной восьмиразрядной шине. Каждый коммуникационный порт имеет встроенный контроллер прямого доступа к памяти (ПДП, DMA), позволяющий обмениваться 64-разрядными данными с памятью на внешних шинах.
5. Реализованы необходимые программы и библиотеки для компиляции приложения в зависимости от выбранной модели нейропроцессора. Также добавлены все необходимые настройки и ключи компиляции для системных утилит: компилятора nmcc.exe, утилиты нейроассемблера asm.exe, утилиты редактора связей linker.exe. точного эмулятора процессора temu.exe.
6. Спроектирован интерфейс, максимально похожий на интерфейс подсистемы визуального программирования (рис. 2).
Рис. 2. Подсистема логического проектирования НПВС в программной системе "NP-Studio "
238
Главным элементом подсистемы является понятие "процессорный модуль", который может быть связан с другими НПВМ и выполняет какие-либо функции.
На первом этапе пользователь описывает НПВМ и связи между ними с использованием их графического представления в программе.
Рабочая область программы разделена на функциональные части.
1. Область выбора структуры. В этой же области расположены варианты многопроцессорных структур: конвейерная, векторная, конвейер-но-векторная, векторно-конвейерная и произвольная.
2. Рабочая область, которая, в свою очередь, может быть представлена в виде визуального представления НПВМ и связей между ними и в виде матрицы связей между элементами (рис. 3).
NP Studio vl.5 1 = | Б1
Ф IftNmcG Щ Linker Щ L.br Щ Du mp Й Emuiun ЦТ,™ £ А J & * У Ш Ф 4* » iS S £ ¿У ЛЛ в 11ST ш
Обозреватель проекта ? X
|.....Текстовый редактор {ASM) Характеристики
О Конвейерная структура гИализ структуры
; .У? Модель нейропроиессора Щ- А Конструктор систем 1 И Пример: 5 -—' Проанализировать —О видструктуры Конвейерн структура: а: 0 3. 0% Вид структуры:
■ Вс™,™«»«. процессоров друг за другом. Конв.'вект структура 0 % ■V -
► Рг.1 Рг.2 X 0 0 0 0 0 0 0 0 "^-запрещенные ячейки
Пример: 5 Рг.4 Рг.5 X X х X X х X 0
о Векторно-конвейерная структура 1.2.3 |ОК| Пример: 1,2,3,4 Ж Рг.6 X X X X
1 1ок 1 Пример: 4.3,2,1 Последовательно-параллельное
Возможно если для подпрограмм внутри классов данные необходимы
1 Произвольная структура
• И Пример: 5 Последовательно-параллельное
Системные сообщения f х Вывод ? X
ыша- НИИ'
| №№48 noram&asm Num | Х = 1 I Y=I |
Рис. 3. Представление связей элементов в виде матрицы в программной системе "МР-ЗШйю "
Связи между функциональными блоками представлены в виде матрицы связи НПВМ М = [Му ]. Ее размерность д х д, где д - число НПВМ.
Рассмотрим возможные виды нейрокомпьютерных структур, реализованные в подсистеме логического проектирования в программной системе "NP-Studio" в графическом виде:
а) система конвейерной структуры;
б) система векторной структуры;
в) система векторно-конвейерной структуры;
г) система конвейерно-векторной структуры;
д) система произвольной структуры.
239
Если в системе присутствуют распределенные связи, то есть нейро-процессорные модули удалены друг от друга, то в разработанной программной подсистеме линии между модулями выделяются пунктиром. В случае наличия облачного нейропроцессорного модуля последний выделяется красным цветом (рис. 4).
Рис. 4. Конвейерная нейропроцессорная структура из шести процессорных модулей с распределенными связями и облачным модулем в программной системе "МР-8Шйю "
Для идентификации вида структуры реализована возможность анализа и матрицы связей между нейропроцессорами.
Заключение. В статье предложена математическая модель облачной вычислительной системы - центра обработки данных на базе нейро-процессоров. Показаны возможности разработанного программного обеспечения "Программная система "КР-ЗШёю" для логической организации сложных, распределенных и облачных нейрокомпьютерных систем различной структуры.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта №14-07-00261 а.
Список литературы
1. Ручкин В.Н., Романчук В.А., Фулин В.А. Когнитология и искусственный интеллект. Рязань: Узорочье, 2012. 260 с.
2. Карпов В.С., Ивутин А.Н., Суслин А.А. Подход к реализации методики оценки надежности ПО на основе комплексных метрик // Известия Тульского государственного университета. Технические науки. Тула: Изд-во ТулГУ. 2009. Вып. 4. С. 116-125.
3. Романчук В. А., Ручкин В.Н. Разработка программного комплекса для моделирования и анализа нейропроцессорных систем обработки изображений // Цифровая обработка сигналов. №1. 2010. С. 53-58.
4. Романчук В. А., Ручкин В.Н. Разработка алгоритмов определения вида структуры нейропроцессорной системы на основе описания связей ее элементов // Информатика и прикладная математика: межвуз. сб. науч. тр. 2011. Вып. 17. С.106-109.
5. Романчук В. А., Ручкин В.Н. Оценка результатов моделирования вычислительных систем на базе нейропроцессоров // Известия Тульского государственного университета. Технические науки. Тула: Изд-во ТулГУ. 2013. Вып. 9. Ч. 2. С. 194-203.
6. Романчук В. А. Разработка алгоритмов определения связей элементов вычислительной структуры на базе нейропроцессоров // Информатика и прикладная математика: межвуз. сб. науч. тр. 2011. Вып. 17. С. 102-105.
7. Ivutin A.N., Larkin E.V. Estimation of Latency in Embedded RealTime Systems // 3rd Mediterranean Conference on Embedded Computing MECO. Budva, Montenegro. 2014. P. 236-239.
8. Романчук В. А. Оптимизация программных и аппаратных средств сложных вычислительных систем на базе нейропроцессоров [Электронный ресурс] // Моделирование, оптимизация и информационные технологии. №1(8). 2015. URL: http://moit.vivt.ru/wp-content/uploads/2015/ 03/ Roman-chuk 1 15 1 .pdf.
9. Романчук В.А. Разработка методологических основ программной оптимизации систем нейрокомпьютерной обработки информации // Молодой ученый. №15. 2015. С. 56-61.
10. Экспертная система нечеткой кластеризации нейропроцессор-ных систем / В.Н. Ручкин, В. А. Романчук, В. А. Фулин, А. А. Пролыгина // Известия Тульского государственного университета. Технические науки. Тула: Изд-во ТулГУ. 2014. Вып. 6. С. 162-167.
Романчук Виталий Александрович, канд. техн. наук, доц., v.romanchuk@rsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С.А. Есенина,
Ручкин Владимир Николаевич, д-р техн. наук, проф., v.ruchkin@ rsu.edu.ru, Россия, Рязань, Рязанский государственный университет имени С. А. Есенина
MATHEMATICAL AND SOFTWARE LOGIC DESIGN NEUROCOMPUTING
CLOUD SYSTEMS
V.A. Romanchuk, V.N. Ruchkin
A mathematical model of a cloud computing system based on a conceptually new generation of computer technology - neuroprocessors. Displaying designed software for logic design and organization of complex, distributed systems and cloud neurocomputing.
Key words: computer system, cloud computing, logical design, neuroprocessors neurocomputer.
Romanchuk Vitaliy Alexandrovich, candidate of technical science, docent, v.romanchuk a rsu.edu.ru, Russia, Ryazan, Ryazan State University named after S.A. Yesenin,
Ruchkin Vladimir Nikolaevich, doctor of technical science, professor, v.ruchkin@rsu.edu.ru, Russia, Ryazan, Ryazan State University named after S.A. Yesenin