Search
Write a publication
Pull to refresh

Моделирование вычислительных GRID-систем

В своем топике я хочу описать некоторые аспекты систем моделирования вычислительных GRID-сред.
В настоящее время большое значение имеют задачи, такие как расчеты физических, экономических, сейсмических и других процессов, для которых необходимы огромные вычислительные мощности. С такими задачами успешно справляется GRID-инфраструктура. Но когда возникают случаи недостатка ресурсов в имеющихся GRID-сайтах, необходимо средство моделирования, которое позволило бы определить те недостающие мощности, требуемые для решения задачи. Также эту систему моделирования можно использовать в процессе обучения GRID-технологиям.

Задача моделирования GRID


Основной проблемой задачи моделирования GRID является вывод закона, по которому протекают процессы в среде GRID.
Для решения этой проблемы необходимо выделить основные структурные элементы этой системы:
• Поток задач
• Брокер
• Кластер
• Сетевое соединение
• Хранилище данных

Чтобы вывести закон, по которому распределяется поток задач, нужно изучить алгоритмы, по которым брокер отправляет задачи на кластеры.
Часто используется эвристика NW, т.е. при распределении очередной задачи брокер выбирает кластер, для которого значение выражения M=NW, где N — число задач в очереди кластера, W — ширина кластера, минимально. При этом нужно учитывать объемы хранилища данных и ширину канала передачи, в идеальном случае, что для модели вполне достаточно.
Также может использоваться эвристика WW — M=Σ(Wj+Wt)/W минимально, где Wj- сумма ширин задач в очереди кластера, Wt- ширина задачи.
Еще один тип – SW, M=Σ(Sj+St)/W минимально, где Sj- сумма площадей задач в очереди кластера, St- площадь задачи.

Этап разработки системы


Система проектировалась так, чтобы сделать работу пользователя максимально удобной и быстрой. Пользователь указывает все параметры системы в специальном окне, задавая топологию Grid системы и свойства отдельных элементов.
В данной системе присутствуют следующие структурные элементы:
• Task – задача, для которой выбираются случайно время вычисления, количество необходимых процессоров и размер самой задачи в Kb;
• Broker – ресурс-брокер, отвечающий за распределение задач;
• Cluster – кластер, на котором происходит запуск задач;
• Grid – класс, отвечающий за запуск модели и отображение информации о ходе работы.
Модель GRID-системы определяется в несколько этапов. Сначала пользователь создает несколько кластеров, задавая число процессоров и скорость соединения. После этого пользователь создает несколько задач, которые брокер распределяет на кластеры. Далее пользователь может запускать модель и следить за ходом запуска и вычисления задач.
После того, как задача поступила на брокер, включается алгоритм распределения задач N/W, при котором выбирается кластер либо с пустым списком задач, либо кластер с минимальным отношением числа задач в очереди к ширине кластера. Если на кластере не хватает процессоров для запуска задачи, выбирается другой подходящий кластер.
Задача отправляется на кластер, где попадает в очередь. На кластере запуск задач происходит по алгоритму «FirstFit», т.е. задачи запускаются в том же порядке, в котором они поступали на кластер.

При создании интерфейса системы были использованы следующие технологии:
• HTML;
• JavaScript;
• jQuery;
• PHP;
• Google™ Maps API.
Использовалась среда разработки NetBeans IDE версии 6.8 [7].
Идея интерфейса заключается в том, что мы создаем все объекты системы на картах Google™. Для размещения объектов используются средства Maps API, такие как GMarker и GInfoWindow. Все данные передаются от серверной части клиентской по технологии AJAX. Манипуляция объектами на карте, обновление статистики, анимация действий производится JavaScript-библиотекой jQuery.
Для каждого элемента модели сделаны всплывающие окна с подробной информацией о текущем состоянии элемента. В любой момент времени мы можем получить отчет о состоянии системы, каждого элемента, а также все данные о работе системы по времени.

Результаты и дальнейшее развитие системы


Исходя из поставленных задач, были достигнуты следующие результаты:
• Были изучены основные алгоритмы распределения и запуска задач в вычислительной среде GRID;
• Проанализированы существующие данные о потоке задач в сети Sharcnet, после чего были найдены основные зависимости данного способа распределения и запуска задач;
• Был выбран метод имитационного моделирования, после чего была построена модель запуска и распределения задач, включающая в себя брокеры, кластеры и непосредственно сами задачи.
Разработанный сервис позволяет нам в короткие сроки создать модель вычислительной среды GRID, после чего получить полную статистику по работе модели.
Данную модель также можно использовать в обучающих целях.

В дальнейшем планируется создать модель не только вычислительной среды GRID, но и DataGrid, в которой протекают намного более сложные процессы, требующие передачи больших объемов данных. Также эта система будет развиваться как сервис оценки эффективности управления ресурсами в GRID, а в связке с данными мониторинга можно создать хороший инструмент прогнозирования.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.