Современные информационные технологии / 3. Программное обеспечение
Крючин О.В., Вязовова Е.В.
Тамбовский государственный
университет им. Г.Р. Державина, Россия
Технические
аспекты разработки универсальной системы моделирования базирующейся на аппарате
искусственных нейронных сетей с параллельными алгоритмами обучения
В
работах [1-3] описана информационная система (ИС), предназначенная для
моделирования различных объектов при помощи аппарата искусственных нейронных
сетей (ИНС). При разработке данной ИС был использован ряд библиотек:
·
CrVMPI — объектно-ориентированная оболочка над средством межпроцессорной
передачи данных MPI;
·
pthread — библиотека потоков;
·
expat — парсер XML;
·
QT — библиотека графического интерфейса.
Все
вышеперечисленные библиотеки, за исключением QT, предназначены для POSIX-совместимых
операционных систем. Поскольку, платформа Microsoft Windows не относится
к таковым, то для нее в реализации компонента ИНС —
нейросимулятора (UNS) — библиотеки pthread и expat заменяются
средствами QT (в случае POSIX-совместимых систем библиотеки pthread
и expat используются по той причине, что на вычислительных кластерах QT
может отсутствовать). Библиотека MPI для платформы Microsoft Windows
не существует, что обуславливает наличие для этой операционной системы только
последовательной версии UNS. Таким образом, параллельная версия УНС
может работать только на платформах nix (GNU/Linux, BSD, Solaris
и т.д.)
Как
известно, MPI является мощной, но вместе с тем низкоуровневой
технологией. Разрабатывая программу на каком либо языке высокого уровня,
например, С++ (который используется при написании нейросетевого
симулятора) при использовании MPI, программист вынужден писать
фактически на ANSI С. Например, для передачи массива встроенного типа,
такого как int или double, необходимо выполнить ряд
подготовительных действий перед отправкой на посылающем процессоре, произвести
отправку, на принимающем процессоре также вызвать ряд подготовительных функций,
затем отдельно принять длину массива и лишь затем сам массив. Наличие такого
количества действий увеличивает время разработки и способно привести к
появлению ошибок, которые в силу особенностей структуры программ обнаружить
труднее, чем в однопроцессорных архитекторах. Кроме того, MPI позволяет
передавать лишь массивы встроенных типов и при необходимости передать
пользовательский тип его необходимо разложить на встроенные типы, и после
принятия снова собрать. Также MPI требует указывать тип передаваемых
данных, что делает невозможным передачу параметризованных типов, широко используемых
программистами С++, затрудняя тем самым позднее связывание программ.
Для
устранения перечисленных выше недостатков была реализована библиотека
межпроцессорной передачи данных. Эта библиотека представляет собой
высокоуровневую оболочку над функциями MPI, что делает работу с данной
технологией более удобной. Данная оболочка обладает рядом преимуществ по
сравнению со стандартными функциями, реализующие MPI [4]:
·
возможность
избежать низкоуровневой работы (отслеживания размерности передаваемых массивов,
адресов памяти и т.п.);
·
возможность
передачи параметризованных типов;
·
возможность
передачи пользовательских типов.
Литература
1. Арзамасцев А.А., Зенкова
Н.А., Крючин О.В., Квашенкин Д.О., Неудахин А.В. Автоматизированная технология
и программно-технологический комплекс для построения экспертных систем с
интеллектуальным ядром, основанным на нейросетевых моделях, поддержкой
распределенного ввода данных и параллельных вычислений // Вестник Тамбовского
Университета. Серия: Естественные и технические науки, - Т. 17, Вып. 3 – С.
948-978.
2. Крючин О.В. Программный
комплекс для моделирования объектов социально-экономического назначения с
использованием искусственных нейронных сетей на кластерных вычислительных
системах // Гаудеамус. Психолого-педагогический журнал. Актуальные проблемы
информатики и информационных технологий. No2 (16). 387 с. // Материалы XIV-й
международной научно-практической конференции. Тамбов 2010. c. 534.
3. Крючин О.В., Арзамасцев
А.А, Королев А.Н., Горбачев С.И., Семенов Н.О. Универсальный симулятор,
базирующийся на технологии искусственных нейронных сетей, способный работать на
параллельных машинах. // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. –
Тамбов, 2008, Т. 13. Вып. 5. С. 372 – 375.