УДК 004.383.3

ЭКСПЕРТНАЯ СИСТЕМА ВЫБОРА НАИБОЛЕЕ РАЦИОНАЛЬНОЙ НЕЙРОКОМПЬЮТЕРНОЙ СТРУКТУРЫ

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

Аннотация
В данной работе исследуются возможности и предлагается продукционная модель экспертной системы наблюдения за операциями с целью формирования маршрута и демонстрируется алгоритм неявного параллелизма на базе многокритериального нечеткого выбора и алгоритмов «оценки значения критерия» и «оценки эффективности маршрута» на основе явного и неявного кластерного параллелизма. Рассматривается структура интеллектуальной компиляции на основе анализа алгоритмов функционирования явного параллелизма.

Ключевые слова: вычислительная система, Кластер, нейрокомпьютер, нейропроцессор, экспертная система


EXPERT SYSTEM TO CHOOSE THE MOST RATIONAL STRUCTURE NEUROCOMPUTER

Romanchuk Vitaliy Aleksandrovich
Ryazan State University named S.Esenin
PhD if Technical Science, Associate Professor of Computer Science, Computer Engineering, and methods of teaching of computer science

Abstract
This article explores the possibilities and offers a production model of the expert system for monitoring transactions in order to create a route and shows the implicit parallelism algorithm based on fuzzy multi-criteria selection and algorithms evaluation criterion values "and" assess the effectiveness of the route "on the basis of explicit and implicit parallelism cluster. We consider the compilation of intellectual structure based on the analysis of the functioning of explicit parallelism algorithms.

Keywords: cluster computing system, expert system, neuroprocessor


Библиографическая ссылка на статью:
Романчук В.А. Экспертная система выбора наиболее рациональной нейрокомпьютерной структуры // Современная техника и технологии. 2016. № 12. Ч. 1 [Электронный ресурс]. URL: http://technology.snauka.ru/2016/12/11259 (дата обращения: 27.05.2017).

Массовый параллелизм в многочисленных приложениях сложной обработки видео, изображений, коммуникации, безопасности и других видов сигналов присутствует в основном на уровне данных (Data Level Parallelism – DLP). Реализация DLP в большинстве современных процессоров осуществляется в виде одиночного потока команд и множественного потока данных – как SIMD (векторная архитектура). Перечисленные выше многие приложения также обладают и значительным параллелизмом на уровне инструкций (Instruction Level Parallelism – ILP). В этом случае с помощью параллельного задания нескольких скалярных операций и/или SIMD-операций осуществляется параллельное выполнение на уровне инструкций ILP. Однако SIMD – архитектура может оказаться не самым лучшим решением для приложений с варьируемым DLP, что приводит к снижению производительности и возрастанию энергопотребления [1–4].
В современных вычислительных системах для реализации ILP и DLP используется VLIW архитектура [2,3]. Одними же из методов ускорения развития альтернативных повышению частоты способов увеличения быстродействия являются использование высокопараллельной вычислительной техники, например, нейропроцессоров и разработка принципиально новых и хорошо распараллеливающихся алгоритмов с элементами интеллектуальной компиляции. Такая концепция направлена на упрощение аппаратного обеспечения и извлечения как можно больше ”скрытого параллелизма” на уровне команд, используя большую ширину ”выдачи” команд (WIW–Wide Issue Width) и длинные (глубокие) конвейеры с большой задержкой (DPL – Deep Pipeline Latency). 
Кроме того, в настоящее время специалисты [4,5] ожидают появления суперскалярного VLIW-процессора с масштабируемым параллелизмом, объединяющим явный статический параллелизм с неявным динамическим. Однако пока нет видимых способов совмещать статическое и динамическое переупорядочивание, так как в таких системах по отношению к существующим классическим ”RISC–inside CISC–outside” архитектурам можно добиться лишь путем переноса интеллектуальных функций из аппаратного обеспечения в программное посредством такого компилятора. Поэтому, вариантом повышения быстродействия в нейрокомпьютерных системах является выбор наиболее рациональной многопроцессорной вычислительной структуры для реализации текущего алгоритма. В данной работе исследуются возможности и предлагается вариант выбора наиболее рациональной нейрокомпьютерной структуры на основе явного и неявного кластерного параллелизма.

1. Структура интеллектуальной компиляции

На основе исследований авторов [6] предлагается следующая модель структуры интеллектуальной компиляции, включающей в себя следующие шаги.
1. Анализ исходных алгоритмов функционирования проектируемой микронейропроцессорной системы (МНПС) и представление группы независимых операций согласно явному параллелизму в очень длинные слова инструкций c целью упаковки, обеспечения быстрого запуска и более эффективного их исполнение функциональными модулями (ФМ) (микропроцессорами или ядрами) МНПС некоторой структурой.
2. Продукционная модель экспертной системы наблюдения за операциями из разных базовых блоков с целью помещения этих операций в одну и ту же длинную инструкцию и, тем самым, обеспечения большего параллелизма ФМ. 
3. Прокладка «маршрута» по всей программе – трассировки. 
4. Осуществление оптимизации планировщиком вычислений на уровне всей программы, а не ее отдельных базовых блоков. 
5. Прогнозирование компилятором наиболее подходящего маршрута и планирование прохождения, рассматривая его как один большой базовый блок. 
6. Повторение процесса п.4 для всех других возникших после этого программных веток до самого конца программы.
7. Выполнение компилятором различных «интеллектуальных шагов» в виде развертывания программного цикла, исполнения IF – преобразование для удаления всех логических переходов из подвергающихся трассировке секций, перемещения их с одного места на другое до обнаруженного ветвления, с возможностью формирования отката назад.

2. Анализ алгоритмов функционирования явного параллелизма

Исходными данными для анализа являются алгоритмы функционирования МПС, представляемые посредством конечного кортежа операций  выражением:  длиной , и микропроцессорная система, рассматриваемая как совокупность устройств на основе выбранной элементной базы – chipset со множеством команд  конкретного комплекта СБИС. Здесь под МК подразумевается внутренний язык микропроцессорной нейрокомпьютерной системы со своей производительностью, стоимостью, количеством СБИС и др.
Каждый алгоритм может представлять собой кортеж алгоритмов, в том числе и стандартных: отбраковки, сжатия, калибровки, автоконтроля и других. Тогда в процессе проектирования [5] выбирается элементная база и решается математическая задача нахождения отображения множества операций  во множество команд МК: . (1)
Причем, в общем случае под  понимается оптимальное количество команд, реализующее операцию . Далее в зависимости от решения задачи (1) проектирования каждому -му алгоритму обработки ставится в соответствие программа обработки  в виде кортежа команд:  посредством определяемого отображения: . (2)
При этом рассматриваемая программа  характеризуется длиной программы , определяемой общим числом команд, входящих в программу, временем выполнения программы и др.
Выражение (2) определяет однопроцессорный вариант МНПС и практически в общем виде представляет процесс компиляции.
Далее для осуществления задачи распараллеливания используется понятие кластера Clk, и решается задача разбиения программы обработки . С этой целью воспользуемся понятием равенства кластеров CLl и CLk обработки информации: CLl = Clk., под которым понимается равенство длин указанных кластеров |CLl| = |CLk| и совпадение их с точностью до команды MKi(k)=MKi(l), PR(j)=<MKi,MK1,…MKj>:
 . (3)
При этом выражение (3) является критерием качества разбиения на кластеры исходной программы с точностью до команды, что и является метрикой кластеризации.
Далее процесс распараллеливания кластеров рассматривается как отношение параллельности выполнения кластеров двумя различными микропроцессорными модулями: проектируемой вычислительной системы.
Таким образом, структурная организация проектируемой вычислительной системы обработки информации ставит в соответствие некоторой  - й программе обработки  совокупность независимых и неравных кластеров , число которых равно числу классов эквивалентности , а кратность () определяется порядком класса эквивалентности (): . (4)
В работе авторами показывается, что полученное разбиение (4) на кластеры отвечает свойствам рефлексивности, симметричности и транзитивности и, следовательно, является отношением эквивалентности. В результате однозначно определяется разбиение программы на классы эквивалентности кластеров, что является процедурой явного параллелизма. Кроме того, выражение (4) определяет качественные структурные связи между кластерами. Поэтому оно определяет и маршрут передачи данных либо внутри кластера либо между кластерами. Таким образом варианты решения задачи (4) представляются в виде продукционной модели экспертной системы.
3. Продукционная модель экспертной системы наблюдения за операциями и формирования маршрута. В результате решения задачи (4) возможны следующие варианты маршрута передачи данных, которые составляют основу продукционной модели для дальнейшего анализа с учетом исходных данных.
Число классов эквивалентности равно , и порядок каждого -го класса равен . Тогда -му алгоритму обработки данных ставится в соответствие совокупность данных, определяемых согласно (4), и, как нетрудно видеть, этот случай является наиболее общим и предполагает отношения не только между элементами внутри кластера, как в векторной структуре, но и между элементами различных кластеров согласно Instruction Level Parallelism ILP.
Рассматриваемые ниже варианты обработки информации оказываются возможными в зависимости от построения конкретной -й структуры данных , а точнее от передачи данных между кластерами в виде маршрута Mi передачи данных.
Пусть обмен информацией между представителями кластеров , осуществляется последовательно друг от друга. Тогда если кластеры внутри -го класса обмениваются последовательно, то имеем уже известный последовательный маршрут передачи данных.
Если для элементов внутри -го класса требуется информация одновременно, тогда получаем последовательно – параллельный обмен (ILP + DLP) или маршрут передачи данных.
Если при обработке информация требуется одновременно для всех кластеров, тогда для общего случая (Data Level Parallelism DLP) обработки информационных данных или параллельный маршрут Mi||передачи данных.
В общем случае имеем матричный обмен информационных данных: каждый с каждым. В результате имеем матричный маршрут передачи данных.
Прокладка «маршрута» предполагает соединение всех кластеров согласно получаемых маршрутов: последовательный, параллельный, последовательно — параллельный, параллельно – последовательный (DLP +ILP) и матричный.
4. Алгоритм неявного параллелизма многокритериального нечеткого выбора с целью выполнения различных «интеллектуальных шагов»: 
На практике процесс проектирования интеллектуального компилятора является сложной многокритериальной задачей выбор маршрута из полученного многообразия. Эксперт или аналитик на основании обобщенной оценки каждой альтернативы выбирает наилучшую по совокупности противоречивых критериев: 1. Быстродействие (); 2. Объем микропрограммной памяти (); 3. Число микропроцессорных модулей (); 4. Время простоя (Tпр,). 5. Потребляемая энергия (Р); 6. Надежность (Q); 7. Адаптация (A); 8. Стоимость (С) и др. Для конкретизации выбора все вышеперечисленные критерии предлагается распределять в виде кортежа в порядке важности технического проектирования и в дальнейшем называть стратегией выбора.
Пусть требуется воспроизвести знание — правило 3: Если  и обмен информацией между кластерами в классах осуществляется последовательно, то маршрут — последовательный. Данное знание—правило моделируется произведением нечетких множеств RI,I = FстрI * GпарI или продукцией.
Предложенная авторами [5] методика многокритериального выбора имеет в своей основе нечеткие множества, элементами которых являются лингвистические переменные (ЛП) или термы  с характеристическими функциями принадлежности , определенными на отрезке . Эксперт оценивает маршрут и критерии с помощью понятий нечеткой логики вышеперечисленными переменными. 
В предлагаемой методике используются два вида бинарных нечетких переменных: «оценка значения критерия»  и «оценка эффективности маршрута или трафика»  с использованием унарнойлингвистической переменной – «оценка качества значения критерия»  и «оценка качества эффективности маршрута» , соответственно.
Значения бинарных лингвистических переменных «оценка значения критерия» и «оценка эффективности маршрута» строятся методом нечеткого алгоритма высказывания правил вида: «если А, то В». Два и более правила нечетких высказываний объединяются связкой «иначе»: «если А, то В, иначе С»= или V( «если А, то В, иначе С») = .
Заключение. Предложена структура продукционной модели экспертной системы наблюдения за операциями и формирования маршрута на основе модели анализа явного параллелизма предлагаемой кластеризации нейрокомпьютерной системы. Описывается экспертная система интеллектуальной компиляции. В статье демонстрируется алгоритм неявного параллелизма многокритериального нечеткого выбора. Приводится описание алгоритма «оценки значения критерия» по различным техническим характеристикам согласно стратегии проектирования: быстродействие, объем микропрограммной памяти, число микропроцессорных модулей и др. Описывается алгоритм «оценки эффективности маршрута. 


Библиографический список
  1. Романчук В.А. Разработка алгоритмов определения связей элементов вычислительной структуры на базе нейропроцессоров // Информатика и прикладная математика : межвуз. сб. науч. тр. – Рязань : РГУ имени С.А.Есенина, 2011. – Вып.17. – С.98–102.
  2. Романчук В.А., Ручкин В.Н. Разработка алгоритмов определения вида структуры нейропроцессорной системы на основе описания связей ее элементов // Информатика и прикладная математика : межвуз. сб. науч. тр. – Рязань : РГУ имени С.А.Есенина, 2011. – Вып.17. – С.103–106.
  3. Романчук В.А. Оптимизация программных и аппаратных средств сложных вычислительных систем на базе нейропроцессоров [Электронный ресурс] // Моделирование, оптимизация и информационные технологии, 2015. – №1(8). -URL: http://moit.vivt.ru/wp-content/uploads/2015/03/Romanchuk_1_15_1.pdf.
  4. Андреева А.Ю., Романчук В.А. Применение нейрокомпьютерных технологий в методах управления сложными объектами [Электронный ресурс] // Современная техника и технологии, 2015. – № 4. – URL: http://technology.snauka.ru/2015/04/6557.
  5. Романчук В. А. Разработка методологических основ программной оптимизации систем нейрокомпьютерной обработки информации // Молодой ученый. — 2015. — №15. — 56-61.
  6. Романчук В.А. Системный анализ архитектуры нейропроцессора [Электронный ресурс] // Современная техника и технологии, 2015. – № 8. – URL: http://technology.snauka.ru/2015/08/7695.
  7. Романчук В.А. Инновационный программный комплекс моделирования вычислительных систем на базе нейропроцессоров “НейроКС” // Современные научные исследования и инновации. – Декабрь, 2012. – URL: http://web.snauka.ru/issues/2012/12/19407.
  8. Танненбаум Э., Ван Стен М. Распределенные системы. Принципы и парадигмы.  Спб.: Питер, 2003. – 877 с.
  9. Макаров Д.В., Романчук В.А. Облачные SaaS, IaaS, PaaS системы для искусственного интеллекта // Современная техника и технологии. № 5. 2015. URL: http://technology.snauka.ru/2015/05/6731 (дата обращения: 01.09.2016).
  10. Топорков В.В. Модели распределенных вычислений. М.: ФИЗМАТЛИТ, 2004. 320 с.


Все статьи автора «Романчук Виталий Александрович»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: