УДК 004.8; 519.85
КЛАСТЕРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА ДЛЯ РЕШЕНИЯ ЗАДАЧ ОБЕСПЕЧЕНИЯ УСТОЙЧИВОСТИ ФУНКЦИОНИРОВАНИЯ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
Д.О. Есиков, А.Н. Ивутин, С.И. Мельник
Предложено для решения задач обеспечения устойчивости функционирования распределенных информационных систем применять островной генетический алгоритм. Для получения рационального (квазиоптимального) решения в условиях жестких временных ограничений рекомендована к использованию кластерная вычислительная система. Определены структура кластера, состав и параметры программно-аппаратных средств.
Ключевые слова: островной генетический алгоритм, кластер, распределенная информационная система.
Одной из сложных и остро стоящих задач в области обеспечения бесперебойной обработки данных является задача обеспечения устойчивости функционирования распределенных информационных систем.
Для обеспечения устойчивости функционирования распределенных информационных систем предлагается решить следующие задачи [1]:
1. Оптимизация распределения элементов программного обеспечения функциональных задач по узлам сети;
2. Оптимизация распределения информационных ресурсов по центрам хранения и обработки данных;
3. Определения рационального уровня расходов на формирование комплекса средств хранения данных вцентрах хранения и обработки информации;
4. Оптимизация состава технических средств системы хранения и обработки данных;
5. Оптимизация распределения резерва информационных ресурсов по центрам хранения и обработки данных.
Данные задачи относятся к классу задач комбинаторной оптимизации [1], а именно целочисленного дискретного программирования с булевыми переменными [1, 2].
Для получения точного решения существует достаточно большое количество методов дискретной оптимизации [2, 3]. Однако с увеличением размерности задач время решения точными методами возрастает экспоненциально.
В условиях жестких временных ограничений целесообразным является применение для решения указанных задач приближенных методов, имеющих алгоритмы, обладающие невысокой вычислительной сложностью и хорошо поддающиеся распараллеливанию. При этом необходимо
обеспечить управление точностью получаемого решения. Это позволит обеспечить в распределенных информационных системах оперативное решение задач управления процессами хранения и обработки данных.
Этим критериям отвечают многоагентные популяционные алгоритмы [2]. Параллельные популяционные алгоритмы, построенные на основе островной модели (islandmodel) параллелизма, в некоторых публикациях называют миграционными алгоритмами или алгоритмами коммутирующей мультипопуляции. Суть алгоритмов этого класса состоит в следующем. Создается мультипопуляция £ = ^ и ... и 5|р|, состоящая из числа субпопуляций (островов) £■, равного числу используемых рабочих процессоров [р] параллельной ЭВМ (вычислительных модулей кластерной системы). Каждый остров обрабатывает свой процессор системы. Обмен данными между островами выполняем после каждых независимых итераций (сезонов) в соответствии c используемой топологией соседства островов [6].
Островная модель использует статическую балансировку загрузки параллельной ЭВМ (кластерной системы) и обеспечивает, как правило, высокую производительность при выполнении следующих условий: вычислительная система является гомогенной; размеры субпопуляций одинаковы и достаточно велики; условием завершения итераций каждой из субпопуляций £ является достижение одного и того числа итераций.
Известны следующие рекомендации относительно предпочтительности использования островной модели [4]. Если пропускная способность коммуникационной сети ЭВМ является невысокой и мала вычислительная сложность фитнесс-функции, то целесообразно выбирать островную модель. Также островную модель лучше использовать в случае популяции очень большого размера.
Варианты островной модели различаются топологиями связей островов, стратегиями миграции, режимами обмена агентами.
Метод получения рационального (квазиоптимального) решения в условиях жесткого ограничения времени решения, основанный на использовании островного генетического алгоритма обеспечит, за счет обоснованного выбора параметров алгоритма, в отличие от существующих приближенных методов, гарантированное получение рационального (квазиоптимального) решения (серии рациональных решений) за время не превышающее заданное.
Сущность островного генетического алгоритма заключается в одновременной и независимой друг от друга работе на каждом вычислительном модуле кластера(процессоре параллельной ЭВМ) нескольких простых генетических алгоритмов (ГА) со своими популяциями. Каждый из них, вследствие случайной начальной инициализации исходной популяции, сходится к своему локальному экстремуму (острову). С определенной пе-
91
риодпчностью (через определенное число поколений) по определенной схеме ГА обмениваются заданным числом лучших особей (осуществляется миграция особей), после чего процесс решения продолжается. Совокупность шагов алгоритма, завершающаяся обменом (миграцией особей) лучшими особями между островами (вычислительными модулями), составляет одну итерацию островного генетического алгоритма (ОГА). Подобная схема позволяет обеспечить выход простых ГА в каждом из островов из области локального экстремума, обеспечить большее разнообразие особей в популяциях и с большей вероятностью получить .лучшее решение (в том числе достичь глобального экстремума). В качестве схемы миграции особей используется миграция с топологией полной сети, миграция с топологией кольца и их модификации [5,6].
Для решения указанных задач, а также оценки эффективности схем реализации многоагентных алгоритмов дискретной оптимизации предлагается использовать кластерную вычислительную систему конфигурация которой представлена на рисунке.
Г----------------------1
Схема кластерной вычислительной системы
Технические характеристики вычислительных модулей кластера, а так же коммутатора и средств коммуникациипредставлены в табл. 1 и 2.
Данная кластерная система относится к классу систем с разделенной памятью [7].
Таблица 1
Технические характеристик и вычислительных модулей
Технические характеристики RaspberryPi 3 Model B
Процессор Broadcom 2837 quad-core ARM Cortex-A53 64bit (1,2GHz)
Оперативная память 1Gb
Видеовыход HDMI
А/V выход А/V выход 3.5мм jack 4 pin
USB порты USB 2.0 х 4
Сеть WiFi 802.11n, 10/100Mb RJ45 Ethernet
Bluetooth Bluetooth 4.1, BluetoothLowEnergy
Слот для карты памяти Micro SD
GPIO 40
Операционная система Raspbian Jessie (2016-05-27)
Таблица 2 Технические характеристик и коммутатора и средств коммуникации
Технические характеристики Коммутатор D-LINK (DES-1005A/E)
Количество портов коммутатора 5 x Ethernet 10/100 Мбит/сек
Внутренняя пропускная способность 1 Гбит/сек
Интерфейсы среды передачи Автоматическое определение MDI/MDIX на всех портах
Топология Звезда
Скорость фильтрации/передачи пакетов +Ethernet: 14,880 пакетов в сек. на порт +FastEthernet: 148,800 пакетов в сек. на порт
Буфер RAM 49K на устройство
Скорость передачи данных +Ethernet: -10 Мбит/с (полудуплекс) -20 Мбит/с (полный дуплекс) + FastEthernet: -100 Мбит/с (полудуплекс) -200 Мбит/с (полный дуплекс)
Средства коммуникации Patch cord Hyperline RJ-45 category 6 U/UTP 0.3m -LSZH-BK
На каждом вычислительном узле функционирует собственные копии операционной системы.
В этом случае единственно возможным механизмом взаимодействия между вычислительными модулями кластера является модель с передачей данных. При выполнении буферизированной передачи управление сразу же возвращается в вызывающую процедуру - сообщение при этом копируется в системный буфер и ожидает пересылки.
В кластерной вычислительной системе представленной структуры и конфигурации, на каждый вычислительный модуль предлагается к установке операционная система Raspbian Jessie, основанная на DebianJessie 8.5. Под управлением данной операционной системы выполняются параллельные ветви программы, реализующей ОГА. Запуск программы может осуществляться как с внешнего компьютера, подключенного к кластеру, с помощью коммутатора или по Wi-Fi удаленно путем отправки команды запуска программы на главный вычислительный модуль, так и непосредственно с главного вычислительного модуля кластера. Для реализации программы решения задач обеспечения устойчивости функционирования распределенных информационных систем предлагается применение языка C++ с использованием библиотек MPI, поддерживаемых выбранной операционной системой.
Особенностью предложенной кластерной вычислительной системы является хорошая масштабируемость, определяемая возможностями коммутационного оборудования, невысокая стоимость, возможность применения бесплатно распространяемого программного обеспечения.
Практическое использование кластерной вычислительной системы позволит высвободить вычислительные средства распределенной информационной системы от решения непрофильных задач при минимальных затратах.
Список литературы
1. Есиков Д.О. Задачи обеспечения устойчивости функционирования распределенных информационных систем // Международный научно-практический журнал «Программные продукты и системы» № 4 (112), 2015. Тверь: Изд-во Научно-исследовательский институт «Центрпрограм-мсистем».
2. Сергиенко И.В., Гуляницкий Л.Ф., Сиренко С.И. Классификация прикладных методов комбинаторной оптимизации // Кибернетика и системный анализ, 2009.
3. Алексеев О.Г. Комплексное применение методов дискретной оптимизации. М.: Наука, 1987. 248 с.
4. Карпенко А.П. Популяционные алгоритмы глобальной поисковой оптимизации. Обзор новых и малоизвестных алгоритмов // Информационные технологии, 2012. №7. С. 13-15.
5. Михалевич В.С., Волкович В.Л., Волошин А.Ф. Метод последовательного анализав задачах линейного программирования большого размера // Кибернетика, 1981. №4. С. 114-120.
6. Holland J.H. Adaptationin Naturaland Artificial Systems: 2n ded. Cambridge, MA: MITPress, 1992.
7. А.А. Букатов, В.Н. Дацюк, А.И. Жегуло. Программирование многопроцессорных вычислительных систем. Ростов-на-Дону. Изд-во ООО «ЦВВР», 2003, 208 с.
Ивутин Алексей Николаевич, канд. техн. наук, доц., alexey.ivutin@,gmail.com, Россия, Тула, Тульский государственный университет,
Есиков Дмитрий Олегович, асп., mcgeen4@gmail.com, Россия, Тула, Тульский государственный университет,
Мельник Сергей Иванович, преподаватель, msii@yandex.ru, Россия, Тюмень, Тюменское военное училище связи
CLUSTER COMPUTING SYSTEM FOR SOLVING PROBLEMS OF MAINTENANCE OF STABLE FUNCTIONING OF DISTRIBUTED INFORMATION SYSTEMS
D.O. Yesikov, A.N. Ivutin, S.I. Melnik
Proposedfor the solution of problemsof maintenance of stable functioning ofdistri-buted information systemsto apply theislandgeneticalgorithm. To obtain a rational (quasioptimal) solutionsunder tight timeconstraintsproposedto use cluster computingsystem. The structure of the clustercomposition and parameters ofsoftware and hardware.
Key words: islandgenetic algorithm, cluster, distributed information system.
Yesikov Dmitry Olegovich, postgraduate, mcgeen4@,gmail.com, Russia, Tula, Tula State University,
Ivutin Alexey Nikolaevich, candidate of technical sciences, docent, alex-ey.ivutin@gmail.com, Russia, Tula, Tula State University,
Melnik Sergey Ivanovich, teacher, msii@yandex.ru, Russia, Tyumen, Tyumen Military School of Communication