Диссертация (Математическое и программное обеспечение балансировки вычислительных заданий для распределенных вычислительных комплексов на основе прогнозных моделей), страница 13
Описание файла
Файл "Диссертация" внутри архива находится в папке "Математическое и программное обеспечение балансировки вычислительных заданий для распределенных вычислительных комплексов на основе прогнозных моделей". PDF-файл из архива "Математическое и программное обеспечение балансировки вычислительных заданий для распределенных вычислительных комплексов на основе прогнозных моделей", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 13 страницы из PDF
Таккак разработка системы ведётся на языке JAVA, то стоить упомянуть проRMI (англ. Remote Method Invocation). RMI представляет собой программныйвызов удалённых процедур для программм на языке JAVA. ПреимуществомRMI по сравнению снепосредственной реализацией взаимодействия сиспользованием сокетов, заключается в упрощении программированиявзаимодействия между клиентом и сервером.
При использовании RMI,разработчику совсем не обязательно следить за используемыми портами,протоколами передачи данных, а также форматировать сообщения междуклиентом и сервером. По своей сути, технология RMI представляет собойдистанционный вызов удалённых процедур, реализованных на основетехнологии Socket, представляющих разработчику набор готовых методовдля работы. Таким образом, использование RMI позволяет значительноупростить процесс разработки.Дляхраненияданныхиспользуетсясоответствующаясистемауправления базами данных (СУБД). Так как в рамках данного проекта вкачестве основной парадигмы программирования был выбран объектноориентированный подход, то возникла задача выбора СУБД, использующей в92качестве основной модели данных объектную модель. Преимуществообъектно-ориентированных баз данных заключается в том, что данные,которые хранятся в БД, моделируются в виде объектов, классов и методов,что, в свою очередь, позволяет тесно интегрировать и наиболее полноиспользовать все преимущества объектно-ориентированного подхода присоздании сложных систем.В результате анализа СУБД, реализующих объектно-ориентированнуюмодель хранения данных, в качестве основной ООСУБД была выбрана db4o[100].
Отличительной особенностью db4o является открытость исходногокода и относительная легкость использования в случае знакомства стехнологией объектно – реляционного отображения (ORM) для связиреляционныхбазданныхсконцепциейобъектно-ориентированногопрограммирования (библиотека Hibernate).Такимобразом,дляреализациисистемыкоординированиявычислительной нагрузки в РВК в качестве основного языка был выбранязык JAVA, на котором велась разработка в среде программирования Eclipse,а в качестве системы управления базой данных был выбран движок db4o.4.3. Организация программной системы балансировкивычислительной нагрузки в РВКВсе алгоритмы, разработанные в предыдущих главах диссертационногоисследования, были реализованы в едином программном комплексе.ОсновныефрагментыисходногокодасистемыпредставленывПриложении_2. Используя принципы экстремального программирования имодульный подход к разработке, была разработана программная система.Стоит отметить, что платформа JAVA позволяет эффективно создаватьприложения с динамически подключаемыми модулями (англ.
pluggableapplication). На момент написания данной главы существует множествоподходов к созданию модульных программных систем на языке JAVA,93например [98, 99], каждый из которых имеет свои преимущества инедостатки.Вданнойработе,дляобеспечениямодульностиразрабатываемого приложения, был применён фреймворк (англ. framework)Java Plug-in Framework (JPF). Использование JPF позволило создатьприложение с подключаемыми «на лету» (динамическими) модулями, чтопривело к снижению использования оперативной памяти в целевой системе.Как было отмечено выше, разрабатываемое приложение должносостоять из клиентского и серверного приложения. Основными задачамиклиентского приложения являются сбор статистической информации отекущейнагрузкеиходепроцессаобработкизадания,атакже,непосредственно, передача в расчёт поступившего задания.
На рисунке 4.4представлено описание основных модулей клиентской части.Рисунок 4.4 — Описание основных модулей клиентской частиОсновная задача серверной части разрабатываемой системы состоит вформировании расписания задач и его изменения, в зависимости от текущейситуации. Также сюда входит система прогнозирования будущих значенийнагрузки, основанная на методе квазилинеаризации, описанном во второй94главе данного исследования. На рисунке 4.5 представлено описаниеосновных модулей серверной части.Рисунок 4.5 — Описание основных модулей серверной частиОсновныереализованныемодулисистемыбалансировкивычислительной нагрузки в РВК и схема их взаимодействия представлены нарисунке 4.6.95Рисунок 4.6 — Функциональная схема метода балансировки нагрузки сэлементами прогнозированияДля описания процессов функционирования системы на этапахпроектированияиреализациисистемыврамкахэкстремальногопрограммирования были применены соответствующие диаграммы UML.
Нарисунке 4.7 показана коммуникационная диаграмма, поясняющая принципвзаимодействие компонентов системы.96Рисунок 4.7 — Коммуникационная диаграмма взаимодействия системыКак видно из представленной выше диаграммы, процесс работысистемы балансировки нагрузки состоит из следующих шагов:1. Клиент подключается к управляющему серверу (ядро системы) ипередаёт в качестве параметров текущий номер соединения и свойидентификационный адрес в сети (ip адрес + порт).2. При получении сообщения от клиента ядро системы, в случае еслиобщее число соединений равно 0 или без остатка делиться на 20,передаёт сообщение в модуль мониторинга состояния загрузкиклиента.
В противном случае, сообщение передаётся сразу же в модульформирования расписания. Данное решение позволило снизитьизлишнее количество обращений к модулю прогнозирования нагрузки.3. Модуль мониторинга осуществляет запрос к клиенту на получениеосновных системных параметров, таких как cpu_free() и memory_free().97Полученные параметры от клиента передаются в модуль формированияначального приближения.4. Приполучениисообщениямодульначальногоприближенияформирует значения вектора x(t) и u(t) и передаёт их на вход модуляпрогнозирования нагрузки.5.
Модульпрогнозированиянагрузкиприпоступлениинагрузкиформирует будущие прогнозные значения, в соответствии с описаннымво второй главе алгоритмом прогнозирования.6. Спрогнозированные значения будущих нагрузок передаются в видесообщения на вход модуля составления расписания и распределениянагрузки. Данный модуль осуществляет составление расписания и принеобходимости производит его корректировку. После назначенияконкретного задания конкретному узлу системы, происходит установкасоединения с конкретным узлом и пересылка соответствующегозадания конкретному узлу на вход модуля вычисления.7.
В случае, если передача сообщения произошла успешно, то происходитобработка узлом задания. Полученный результат работы отправляетсяна сервер, где с помощью модуля глобального представленияосуществляется агрегация полученных результатов от всех узловсистемы в общее глобальное представления. Хранение пересылаемыхрезультатов осуществляется в хранилище данных, управление которымпроисходит с помощью ООСУБД db4o.98Выводы по 4 главеВ четвёртой главе диссертации рассмотрен вопрос проектирования ипоследующей разработки программного обеспечения системы балансировкивычислительной нагрузкой в распределённых вычислительных комплексах,разработанных с использованием подхода grid computing.
На основаниианализа существующих подходов к разработке сложных систем былавыявленанеобходимостьиспользованияметодовэкстремальногопрограммирования для организации процесса разработки, что позволилосократить срок разработки и возможные ошибки, связанные с неполнотойпроектного решения. Также в данной главе даётся полное обоснованиевыбора программно-аппаратных средств, которые позволили повыситьскорость разработки, а также снизить возможность возникновения ошибокпрограммирования, связанных с программной сложностью разрабатываемойсистемы. В результате было получено программное средство, котороеполностью удовлетворяет современным требованиям, предъявляемым кпрограммным системам балансировки вычислительной нагрузкой, чтоподтверждено соответствующими актами и свидетельствами.99ЗАКЛЮЧЕНИЕДанная диссертационная работа посвящена исследованию задачибалансировки вычислительной нагрузки в глобально распределённыхвычислительных комплексах, построенных с использованием концепции gridcomputing.
Задача балансировки вычислительной нагрузки является одной изведущих задач, возникающих при реализации глобально распределеннойобработки данных. Несмотря на то, что на сегодняшний момент разработаномножество соответствующих подходов к решению данной задачи, всёбольшее число исследователей сходится во мнении, что используемые напрактике методы не являются оптимальными. Так, на основании анализалитературныхисточников,былавыявленаследующиенедостаткииспользуемых методов балансировки нагрузки для РВК:1. Низкая адаптивность к резким пиковым нагрузкам, возникающим входе работы распределённого вычислительного комплекса.2. Отсутствие универсальных методов, которые могли бы работать содинаковой эффективностью в большомразнообразии архитектурпостроения РВК.Для устранения данных недостатков в диссертационном исследованиибыл предложен метод балансировки вычислительной нагрузки для РВК наоснове прогнозирования будущих значений нагрузки.
Данный подходреализует одно из современных направлений развития методов и алгоритмовбалансировки вычислительной нагрузки в распределённых вычислительныхкомплексах, к которому приковано внимание многих исследователей. Цельдиссертационного исследования в данном направлении заключалась вразработке методики прогнозирования значений нагрузки, которую можноиспользовать при реализации алгоритмов балансировки нагрузки в РВК.В процессе выполнения работы получены следующие научныерезультаты:1001.