Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
УДК 681.3.06 Корсуков Александр Сергеевич,
канд. техн. наук, научный сотрудник, Институт динамики систем и теории управления СО РАН
тел.: 65-04-04, e-mail: [email protected]
ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ПОЛУНАТУРНОГО МОДЕЛИРОВАНИЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
A.S. Korsukov
TOOLS FOR SEMINATURAL SIMULATION OF DISTRIBUTED COMPUTING SYSTEMS
Аннотация. Обсуждаются вопросы, связанные с эффективностью управления потоками заданий в распределенных вычислительных системах. В частности, рассматриваются инструментальные средства, предназначенные для автоматизации моделирования потоков заданий в кластерной Grid.
Ключевые слова: распределенные вычисления, Grid, потоки заданий, моделирование, инструментальные средства.
Abstract. The questions connected to the effectiveness of task flows in distributed computing systems are discussed. Specifically, the tools designed to automate the simulation of task flows in a cluster Grid are considered.
Keywords: distributed computing, Grid, task flows, modeling tools.
Введение
В последние годы активно развиваются технологии организации распределенной обработки информации и высокопроизводительных вычислений. Одним из ярких примеров является технология Grid, которая предоставляет возможность интеграции географически распределенных вычислительных и информационных ресурсов глобальных сетей для решения ресурсоемких вычислительных задач. Сложность динамической структуры Grid, обусловленная организационной и функциональной разнородностью интегрируемых информационно-вычислительных ресурсов и разнообразием спектра решаемых с помощью этих ресурсов задач, приводит к необходимости всестороннего исследования ее инфраструктуры с целью наиболее эффективной реализации вычислений. В этой связи важной и практически значимой задачей становиться моделирование процессов распределения и обработки в Grid потоков заданий по решению задач различных классов.
Известные в настоящее время средства моделирования процессов функционирования Grid, такие как MicroGrid [1], OptorSim [2], SimGrid [3], программа моделирования системы диспетчеризации метапланировщика Gridway [4] и другие системы, зачастую позволяют получить лишь наиболее общие, ориентировочные результаты. В этом случае для определения окончательной конфигурации проектируемой Grid целесообразно проведение экспериментальных исследований и натурных испытаний в реальном режиме времени, представляющих наибольший интерес с точки зрения достоверности получаемых результатов. Однако существующее программное обеспечение экспериментальных исследований с Grid, например пакеты для тестирования произ-водительности вычислительных систем (см., например, обзорные работы [5], [6]), как правило, не предназначены для оценки эффективности управления потоками заданий в этих системах и не применимы в разнородных вычислительных средах.
В статье рассматриваются инструментальные средства, предназначенные для автоматизации моделирования потоков заданий в Grid. Отличительными особенностями этих средств являются: представление организационно-функциональной инфраструктуры Grid в виде стохастической динамической вычислительной сети, состояние которой в некоторый момент времени определяется распределением в ней потоков заданий; моделирование потоков заданий различных типов; автоматизация подготовки и проведения полномасштабного физического моделирования Grid.
Поток заданий
Задание пользователя представляет собой спецификацию процесса решения задач, содержащую информацию о необходимых вычислительных ресурсах, исполняемых прикладных программах, входных/выходных данных и т. п. Множество заданий пользователя, поступающих в Grid с его
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
машины, составляет поток задании, который в дальнейшем может сливаться с потоками заданий других пользователей, образуя новые потоки (рис. 1).
Рис. 1. Информационный граф, отображающий потоки заданий в Grid
Поток заданий в Grid характеризуется следующими свойствами: динамичностью (мощность и состав потока заданий изменяется во времени); стохастичностью (поток заданий предполагает возникновение случайных событий); неоднородностью (задания соответствуют разным классам задач и отличаются друг от друга по своей специфике); отсутствием обратной связи (число заданий, поступивших за один промежуток времени, не зависит от числа заданий, поступивших за другой промежуток времени); неординарностью (возможно поступление двух и более заданий в один и тот же момент времени); стационарностью (число событий, поступивших за определенный промежуток времени, зависит от длины этого промежутка и не зависит от момента его начала).
Задание потока попадает в вычислительный узел кластера только через систему управления прохождением задач (СУПЗ), установленную на управляющем узле этого кластера. Такое прохождение задач (включая задачи локальных пользователей узлов данной системы) обеспечивает децентрализованным системам управления вычислительными процессами поддержку единой, целостной информационной картины, складывающейся в процессе вычислений.
Оценка эффективности планирования потоков заданий осуществляется с позиции теории очередей. При нахождении этой оценки важную
роль играют следующие показатели эффективности функционирования вычислительных ресурсов Grid: число заданий с нулевым временем ожидания, среднее время ожидания задания в очереди, среднее число заданий в очереди, среднее время пребывания задания в Grid, коэффициент полезного использования ресурсов, количество заданий в потоке, общее время решения заданий потока и ряд других характеристик очередей заданий.
Моделирование функционирования Grid выполняется на основе синтетических потоков заданий. Под синтетическим потоком заданий понимается искусственно сгенерированный поток, где в качестве приложений в заданиях используются программы-имитаторы, выполняющие в Grid реальную загрузку вычислительных ресурсов и обмен заданными объемами данных.
Для описания синтетического потока заданий используется стандартизированный формат workload [7], который включает две основные группы параметров. Первая группа содержит набор параметров потока, например общее количество заданий в потоке, максимально разрешенное время выполнения задания и др. Вторая группа содержит 18 опции заданий, например уникальный номер задания, время запуска и выполнения задания и т. д. На основе формата workload был разработан ряд моделей потоков заданий [8], однако такие модели являются узкоспециализированными и не могут быть использованы для конкретной конфигурации вычислительной системы.
Инструментальные средства полунатурного моделирования Grid
Инструментальный комплекс DISCENT [9] используется для организации Grid с целью решения разнотипных ресурсоемких научно -исследовательских задач. Данный комплекс включает средства полунатурного моделирования вычислительной инфраструктуры Grid путем генерации синтетических потоков заданий с целью оценки эффективности ее функционирования.
Генератор синтетического потока заданий представляет собой скрипт языка PHP, функционирует на произвольной рабочей станции с выделенным IP-адресом и осуществляет запуск заданий либо с помощью утилит пакета Globus Toolkit [10], либо средствами инструментального комплекса DISCENT. Генератор включает следующие компоненты (рис. 2): интерфейс, модуль формирования заданий, планировщик, диспетчер запуска заданий и информационную подсистему.
Интерфейс предоставляет пользователю средства для спецификации заданий-тестов и получения информации (статистики) о ходе выполнения заданий. Спецификация задания-теста
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
Рис. 2. Архитектура генератора
включает: систему планирования заданий; общее количество заданий в потоке; количество заданий определенного типа в потоке; законы вероятностного распределения времени отправки заданий определенного типа в Grid; опции задания (тип задания, время выполнения задания, размеры файлов данных, системные требования к ресурсам Grid, приоритет выполнения задания и др). В текущей версии генератора при указании в спецификации задания-теста системы планирования заданий предполагается, что в качестве таких систем в Grid используются планировщик GridWay пакета Globus Toolkit и система планирования инструментального комплекса DISCENT. Значения параметров потока заданий, опции и спецификации заданий определяются пользователем с помощью интуитивно-понятного веб-интерфейса. Выбранные значения сохраняются в текстовом файле в формате workload.
Модуль формирования заданий автоматически создает специальные приложения (программы-имитаторы), используя установленные пользователем опции заданий-тестов, конвертирует спецификации заданий-тестов из формата workload в формат, используемый СУПЗ вычислительных
узлов Grid, и передает конвертированные спецификации планировщику.
Планировщик работает в фоновом режиме и выполняет формирование и обслуживание очередей заданий-тестов. В соответствии с заданным принципом обработки очередей и временем запуска задания-теста, указанном в его спецификации, планировщик передает данное задание на выполнение диспетчеру заданий.
Диспетчер заданий осуществляет запуск заданий-тестов с помощью программных комплексов, указанных в спецификациях заданий.
Информационная подсистема предназначена для сбора и обработки статистических данных о процессах выполнения заданий-тестов в Grid с помощью информационных служб программных комплексов Globus Toolkit или DISCENT. На основе полученной информации производится оценка показателей эффективности функционирования Grid, которые были определены ранее.
Вычислительный эксперимент
Проведение эксперимента выполнялось в Grid ИДСТУ СО РАН, совокупная мощность которой представлена тремя кластерами с различ-
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
ными программно-аппаратными платформами (табл. 1).
Таблица 1
Кол-во Кол-во Кол-во Исполь-
вычислитель- процес- ядер зуемая
ных узлов соров ОС
кластер 1 20 40 160 Linux
кластер 2 8 8 16 Linux
кластер 3 16 16 32 Windows
Для формирования синтетических потоков использовались задачи различных типов: стандартные задачи - скомпилированные программы пользователей, для выполнения которых используется штатный набор функций СУПЗ; многовариантные задачи, для решения которых необходимо выполнение программы с различными наборами данных; задачи, в которых требуется выполнение приложений, размещенных в узлах Grid; взаимосвязанные задачи, требующие выполнения набора взаимозависимых заданий, включенных в процесс решения одной общей задачи.
Процесс выполнения заданий в Grid происходит поэтапно (табл. 2). Основными этапами моделирования процессов функционирования Grid являются:
1) подготовка исходных данных необходимых заданию при его выполнении;
2) формирование спецификации процесса решения задачи, включающей информацию о при-
кладной программе, ее входных/выходных данных и др.;
3) отправка задания в Grid с помощью специальных утилит промежуточного программного обеспечения;
4) поиск свободного кластера системой планирования Grid и передача поступившего задания на управляющий узел выбранного кластера;
5) постановка задания в очередь СУПЗ кластера;
6) выполнение задания на свободных вычислительных ресурсах и передача результатов счета на машину, с которой производился запуск;
7) сбор статистических данных из лог-файлов выполнения заданий и работы планировщиков СУПЗ;
8) анализ данных и расчет основных статистических показателей, с помощью которых можно оценить работу Grid.
Генератор потоков заданий позволяет существенно уменьшить время, затрачиваемое при проведении неавтоматизированного моделирования на этапах 1, 2, 7 и 8.
Для получения данных о времени, затраченном на проведение автоматизированного моделирования, было выполнено три эксперимента с использованием различных кластеров, разным количеством и типами заданий в потоке (табл. 3).
Зададим время моделирования выполнения i -го задания r-го типа, следующим соотношени-
Таблица 2
Этапы Тип задания Т, неавтоматизированное моделирование Т, автоматизированное моделирование
Подготовка исходных данных Стандартное задание 10-120 сек 1-2 сек
Многовариантное задание п х (10-120 сек) п х (1-2 сек)
Взаимосвязанное задание т х (10-120 сек) т х (1-2 сек)
Формирование паспорта задания Стандартное задание 10-120 сек 1-2 сек
Многовариантное задание 10-300 сек 1-4 сек
Взаимосвязанное задание 10-600 сек 1-4 сек
Сбор данных Стандартное задание 10-40 сек 1-2 сек
Многовариантное задание 10-120 сек 1-2 сек
Взаимосвязанное задание 10-100 сек 1-2 сек
Анализ данных Стандартное задание 10-30 сек 1-2 сек
Многовариантное задание 10-90 сек 1-4 сек
Взаимосвязанное задание 10-120 сек 1-4 сек
Таблица 3
Вычислительные ресурсы Общее количество заданий Типы заданий
Эксперимент 1 Кластер 1 и кластер 2 18688 Все типы задач
Эксперимент 2 Кластер 1 и кластер 3 9344 Все типы задач
эксперимент 3 Все кластеры 157 Многовариантные задачи (100 вариантов) и взаимозависимые задачи (50 подзадач)
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
ш
ем: = Т + т]{ + + $, где т\ - время, необходимое для подготовки исходных данных для I -го задания г -го типа; - время формирования паспорта I -го задания г -ого типа; /лгг - время сбора данных о выполненном I -ом задании г -го типа;
г
$ - время анализа данных I -ого задания г -го
типа. Тогда оценку времени, затрачиваемого на моделирование выполнения заданий г -го типа из потока, содержащего кг заданий, определим как
2г 1 г
t i =— t , а оценку времени, затраченного
на проведение моделирования, зададим как
т = Vм гг.
¿—¡г=1
В табл. 2 приведены оценки времени, затрачиваемого соответственно на неавтоматизированное и автоматизированное моделирование потоков заданий разных типов. Здесь п - количество вариантов многовариантного задания, т - количество подзадач во взаимосвязанном задании. Данные оценки получены эмпирическим путем при проведении ряда крупномасштабных экспериментов [11].
В табл. 4 и на рис. 3 представлена информация о подготовке исходных данных и обработке полученных результатов моделирования потоков заданий.
Таблица 4
Этапы Оценка времени для проведения неавтоматизированного моделирования (сек) Время для проведения автоматизированного моделирования (сек)
№ эксперимента 1 2 3 1 2 3
Подготовка исходных данных 561846 53359 278350 26435 173700 16497
Формирование паспорта задания 373286 24446 184933 12111 115405 7558
Сбор данных 117087 21506 58007 10654 36199 6649
Анализ данных 404268 25451 200282 12609 124983 7869
Итого 1456486 124762 721572 61810 450288 38571
600000 500000 400000 300000 200000 100000 0
Сбор данных Анализ данных
Подготовка Формирование исходных данных паспорта задания
□ Оценка времени для проведения неавтоматизированного моделирования (эксперимент 1)
□ Оценка времени для проведения неавтоматизированного моделирования (эксперимент 2)
□ Оценка времени для проведения неавтоматизированного моделирования (эксперимент 3)
□ Время для проведения автоматизированного моделирования (эксперимент 1)
□ Время для проведения автоматизированного моделирования (эксперимент 2) ■ Время для проведения автоматизированного моделирования (эксперимент 3)
Рис. 3. Результаты моделирования потоков заданий
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Полученные результаты показывают, что использование генератора потоков заданий позволяет существенно сократить время моделирования.
Заключение
Представленные в статье инструментальные средства обеспечивают автоматизацию процессов моделирования потоков заданий и тем самым позволяют существенно ускорить подготовку и проведение физических экспериментов по оценке эффективности функционирования Grid.
Данные инструментальные средства прошли успешную проверку при исследовании экспериментальной кластерной Grid Института динамики систем и теории управления СО РАН.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Xia H., Dail H., Casanova H., Chien A. The Mi-crogrid : Using Emulation to Predict Application Performance in Diverse Grid Network Environments // In Proceedings of the Workshop on Challenges of Large Applications in Distributed Environments (CLADE'04). - IEEE Press. - 2004. - P. 52-61.
2. Bell W., Cameron D., Capozza L. Optorsim - a Grid Simulator for Studying Dynamic Data Replication Strategies // International Journal of High Performance Computing Applications. - 2003. -Vol. 17, no. 4. - P. 403-416.
3. Legrand A., Marchal L., Casanova H. Scheduling Distributed Applications : The simgrid simulation framework // Proceedings of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid 2003 (CCGrid2003). - 2003. - P. 138-145.
4. Васенин В. А., Сериков Д. А. Математическое
обеспечение эффективного разделения ресурсов для решения задач на распределенной вычислительной среде // Проблемы информатики.
- 2009. - № 2. - С. 10-21.
5. Воеводин В., Воеводин В. Параллельные вычисления. - СПб. : БХВ-Петербург, 2002. -608 с.
6. Kotsis G., Pfneiszl, H. Benchmarking Parallel Processing Systems - a Survey // Distributed Systems. - University of Vienna, 1996. - P. 1-11
7. Chapin S., Benchmarks and Standards for the Evaluation of Parallel Job Schedulers / Feitelson D. and Rudolph L. // Job Scheduling Strategies for Parallel Processing - Springer-Verlag, 1999, Lect. Notes Comput. Sci. vol. 1659. - Р. 66-89.
8. Parallel Workload Models [Электронный ресурс].
- URL : www.cs.huji.ac.il/labs/parallel/workload/ models.html (дата обращения 22.08.2011).
9. Бычков И. В., Корсуков А. С., Опарин Г. А., Феоктистов А. Г. Инструментальный комплекс для организации гетерогенных распределенных вычислительных сред // Информационные технологии и вычислительные системы. - 2010. -№ 1. - C. 45-54.
10. Foster I. Globus Toolkit Version 4 : Software for Service-Oriented Systems // IFIP Intern. Conf. on Network and Parallel Computing. - Springer. -2006. - P. 2-13.
11. Бычков И. В., Корсуков А. С., Опарин Г. А., Феоктистов А. Г. Технология организации гетерогенных распределенных вычислительных сред // Научный сервис в сети Интернет : масштабируемость, параллельность, эффективность : тр. Всерос. суперкомпьютерной конф. -М. : Изд-во МГУ, 2009. - С. 353-359.