автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Программная среда поддержки эффективного выполнения задач на параллельных вычислительных системах

кандидата физико-математических наук
Жуматий, Сергей Анатольевич
город
Москва
год
2005
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Программная среда поддержки эффективного выполнения задач на параллельных вычислительных системах»

Автореферат диссертации по теме "Программная среда поддержки эффективного выполнения задач на параллельных вычислительных системах"

Московский государственный университет им. М.В. Ломоносова Научно-исследовательский вычислительный центр

На правах рукописи

Жуматий Сергей Анатольевич

ПРОГРАММНАЯ СРЕДА ПОДДЕРЖКИ ЭФФЕКТИВНОГО ВЫПОЛНЕНИЯ ЗАДАЧ НА ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ

Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание учёной степени кандидата физико-математических наук

Москва 2005 г.

Работа выполнена в Научно-исследовательском вычислительном центре Московского государственного университета им. М.В. Ломоносова

Научный руководитель:

член-корреспондент РАН, доктор физико-математических наук,

Воеводин Владимир Валентинович

Официальные оппоненты:

доктор физико-математических наук Абрамов Сергей Михайлович

доктор физико-математических наук Крюков Виктор Алексеевич

Ведущая организация:

Межведомственный суперкомпьютерный центр РАН

Защита состоится *ÉC PtrefyflOQS года в if часов на заседании диссертационного совета К 501.001.11 Московского государственного университета им. М.В. Ломоносова по адресу: 119992, г.Москва, Ленинские горы, МГУ, НИВЦ, конференц-зал.

С диссертацией можно ознакомиться в библиотеке НИВЦ МГУ.

Автореферат разослан " /£>" CesCftyet 2005 года

Учёный секретарь диссертационного совета

кандидат физ.-мат. наук

Суворов В.В.

L/OOl

if

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Активное внедрение идей параллелизма в вычислительную практику привело к широкому распространению высокопроизводительных кластерных систем. Обладая многими характеристиками классических суперкомпьютеров, кластеры имеют и целый ряд дополнительных преимуществ. Они намного дешевле, их архитектуру можно выбирать в зависимости от класса решаемых задач, а сами кластерные решения хорошо масштабируются, позволяя создавать конфигурации с необходимыми параметрами по числу процессоров, стоимости, производительности, потребляемой мощности, объему оперативной и внешней памяти и целому ряду других.

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

Подобные проблемы всегда сопровождали суперкомпьютерную технику, но стали особенно актуальными именно сейчас, когда использование кластеров стало массовым. Различные стороны проблемы эффективного функционирования параллельных программ и систем рассматривались многими зарубежными и российскими учеными. В нашей стране это направление имеет свою историю, активно развивается и к настоящему времени получены значительные результаты в научных коллективах, возглавляемых академиками В.С.Бурцевым, В.В.Воеводиным, Г.И.Савиным, чл.-корр. А.В.Забродиным и В.П.Иванниковым, докторами физ.-мат. наук С.М.Абрамовым, Д.А.Корягиным, В.А.Крюковым, И.Д.Софроновым. Вместе с этим, несмотря на значительную предысторию данного вопроса особенности современных кластерных систем и значительное расширение круга пользователей потребовали разработки новых

подходов к решению задачи анализа эффективности выполнения программ на параллельных вычислительных системах.

Целями данной диссертационной работы являются:

• разработка методики анализа эффективности функционирования высокопроизводительных вычислительных систем с кластерной архитектурой;

• разработка принципов построения и архитектуры программного комплекса для мониторинга и исследования базовых характеристик программно-аппаратной среды кластерных систем, обрабатывающих поток пользовательских программ;

• реализация распределенного программного комплекса, позволяющего определять узкие места в конфигурациях программно-аппаратных сред кластерных систем как в процессе выполнения, так и после завершения работы параллельных программ;

• проведение апробации предложенных подходов и разработанных программных средств, их внедрение в практику работы современных суперкомпьютерных центров.

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

Все исследования, выполненные в рамках данной работы, ориентированы на совместный анализ кластерных характеристик системного уровня с возможностью одновременного изучения профиля пользовательских программ.

Практическая значимость. Данная диссертационная работа отталкивалась от реальной потребности в разработке эффективных методов организации вычислений на современных параллельных вычислительных системах. Работоспособность всех основных положений и подходов, предложенных в ходе исследований, проверялась в практике работы суперкомпьютерных центров. Использование созданного программного комплекса РагСоп позволяет значительно повысить эффективность работы

высокопроизводительных вычислительных кластерных систем. Для пользователей кластеров появляется возможность проанализировать работу параллельных программ с точки зрения использования ресурсов кластеров, обнаружить их узкие места. Администраторы кластеров могут оценить и оптимизировать работу вычислительных систем на потоке задач в целом, отталкиваясь от собранных интегральных характеристик.

Применение комплекса возможно практически на любом вычислительном кластере или параллельной машине. Программный комплекс РагСоп успешно прошел опытную эксплуатацию. К настоящему времени он внедрен в ряде научных и образовательных организаций России, в частности, в Институте вычислительной математики РАН, Южно-Уральском государственном университете, Самарском государственном университете. На основе данного комплекса построено сопровождение четырех

высокопроизводительных кластерных систем НИВЦ МГУ, объединяющих более 300 процессоров разного типа.

Принципы и характеристики, заложенные в архитектуру комплекса РагСоп, позволяют его использовать и для решения более широкого класса задач, таких, как мониторинг распределённых сетей и сервисов, анализ производительности сетевых сервисов и вычислительных комплексов, управление распределёнными сетевыми ресурсами и ряда других.

Апробация работы. Результаты работы докладывались на Всероссийской научной конференции " Высокопроизводительные вычисления и их приложения", пос.Черноголовка, 2000г., на Всероссийской научной конференции "Научный сервис в сети Интернет", г.Новороссийск, в 2002-2004 годах, на научной конференции "Ломоносовские чтения" в 2003, 2005 г.г., на международной конференции "Распределённые вычисления и ГРИД-технологии в науке и образовании", г.Дубна, 2004 г., на научно-методологическом семинаре НИВЦ МГУ, 2005г.

Публикации. По теме диссертации опубликовано 7 печатных работ.

Структура и объем работы. Диссертация состоит из введения, 3-х глав, заключения, 2 приложений и списка литературы. Общий объем диссертации - 95 страниц.

СОДЕРЖАНИЕ РАБОТЫ

Введение носит постановочный характер, содержит обоснование актуальности и необходимости создания программного инструментария для поддержки эффективного выполнения задач на параллельных вычислительных системах.

Первая глава посвящена обзору и анализу существующей программной инфраструктуры параллельных вычислительных систем. На основе этого анализа выбирается направление исследований и уточняется постановка задачи.

Для эффективной работы параллельных программ на кластере, необходимо программное окружение, позволяющее управлять использованием ресурсов кластера. В противном случае для каждой задачи нужно будет указывать ресурсы вручную. Это сложно даже в том случае, когда задачи запускаются одним пользователем. Если же кластером пользуются несколько пользователей, то без программной поддержки управления ресурсами просто не обойтись.

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

Подобный круг вопросов является предметом исследования данной работы. Для эффективного использования кластера, необходимо:

• предоставить возможность управления ресурсами кластера;

• оптимизировать использование ресурсов кластера;

• предоставить пользователям возможность анализа эффективности работы параллельных программ на кластере и

оптимизации своих программ под архитектуру конкретной вычислительной системы.

Современные программные пакеты системного уровня, предназначенные для поддержки параллельных вычислений на кластерах, либо обеспечивают запуск пользовательских задач, либо предоставляют возможность мониторинга состояния вычислительных узлов. Ни один из известных пакетов не даёт пользователю взаимосвязанной и согласованной информации о динамических характеристиках выполнения его задачи на кластере, не позволяет провести содержательный анализ эффективности работы его программы. В данной главе проведен анализ наиболее распространенных в настоящее время пакетов LoadLeveler, Condor, OpenPBS (TorquePBS), Queue, NQS/NQE, DQS, LSF, системы управления прохождением задач для МВС-1000/М, Autostatus, Sysmon, Ganglia, Nagios, PIKT, Mon.

Следует отметить часто используемый пакет OSCAR, предоставляющий сервис для обслуживания кластеров. Данный пакет состоит из нескольких различных подсистем, и содержательная часть сервиса заключается в их автоматической настройке и установке. Так как в состав OSCAR входят система мониторинга Ganglia и система управления заданиями, то в принципе появляется возможность отследить историю выполнения задания. Однако на практике сделать это нелегко, так как нет возможности автоматически сопоставить данные мониторинга и данные о задаче. Более того, в последних версиях система Ganglia исключена и теперь требуется ее установка как дополнительного пакета, что еще больше препятствует проведению согласованного анализа.

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

Результирующая эффективность пользовательских параллельных программ определяется эффективностью их прохождения через различные слои программно-аппаратных сред высокопроизводительных кластерных систем (рис.1).

пользовательская задача

программное окружение

уровень ОС

аппаратная среда

балансировка нагрузки, синхронизация пересылок,

сетевые ресурсы, управление задачами,

управление виртуальной памятью, разделение процессорного вреиени,

сетевые карты, кэш-память процессора,

Рис. 1. Структура программно-аппаратных сред.

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

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

На основе проведенного анализа предметной области был сформулирован ряд требований, которым должен удовлетворять создаваемый программный комплекс.

Масштабируемость. Чем больше процессоров, тем сложнее обеспечить нормальную устойчивую работу комплекса. Тем не менее, комплекс должен работать на кластерах с числом процессоров, меняющимся в широком диапазоне. Исключение

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

Расширяемость. Факторы, влияющие на эффективность одной и той же параллельной программы, могут сильно отличаться на разных кластерах. Программное и аппаратное обеспечение может существенно меняться при переходе с одной кластерной системы на другую. Следовательно, необходимо предоставить возможность отслеживания новых параметров, отражающих особенности работы программ или кластеров и не предусмотренных в стандартной поставке комплекса.

Распределённость. Это требование отражает базовое свойство комплекса, поскольку данные должны собираться с физически распределенных составных частей кластерных систем. Различные программы комплекса должны работать на каждом узле кластера и, возможно, на других его компонентах, а весь программный комплекс целиком должен устойчиво работать в сложной неоднородной распределённой среде.

Экономичность. Очень важное требование. Накладные расходы, вызванные работой комплекса, не должны существенно влиять на работу пользовательских программ. Практика хорошей организации работы суперкомпьютерных центров показывает, что поддержка работы вспомогательных подсистем на вычислительных узлах не должна занимать больше 5% процессорного времени, а передача дополнительных данных по сети не должна превышать 1% от общего трафика.

Созданный программный комплекс РагСоп в полной мере удовлетворяет всем этим требованиям. В течение длительного времени он успешно работает на четырех различных кластерах НИВЦ МГУ, обслуживая в сумме более 300 процессоров. Комплекс работает под операционной системой Linux и требует для работы лишь интерпретатор языка perl версии не ниже 5.6.0 и пакет rrd. Оба этих компонента являются свободно распространяемыми и доступны в подавляющем большинстве дистрибутивов Linux. Комплекс разработан на модульной основе, что позволяет легко расширять его возможности. Длительная эксплуатация комплекса подтвердила правильность сделанных проектных решений: нагрузка на вычислительные узлы кластеров, вызванная работой компонентов РагСоп, составляет менее 3% процессорного времени и значительно меньше 1% сетевого трафика.

Интерфейсная часть РагСоп

Система управления задачами (Cleo)

Аналитическая часть

РагСоп

/

Система мониторинга (Antmon)

Рис. 2. Общая схема работы комплекса РагСоп

Общая схема работы комплекса РагСоп представлена на рис. 2. Комплекс состоит из двух основных компонентов: системы

10

управления заданиями Cleo и системы мониторинга Antmon. Обе системы могут работать как в составе РагСоп, так и независимо друг от друга. Взаимодействие компонентов комплекса осуществляется двумя путями: через общие файлы или с помощью обмена сообщениями через прямые сетевые соединения.

Взаимодействие через общие файлы обеспечивает работу с информацией, актуальность которой сохраняется долгое время (например, ожидаемое время завершения задачи не может меняться по ходу работы программы, поэтому эти данные 10-минутной давности всё равно действительны). За счёт такого механизма взаимодействия снижается общая нагрузка на процессор, поскольку в этом случае процессы комплекса не обрабатывают запросы, а просто периодически пишут информацию на диск или читают с диска.

При взаимодействии через прямые сетевые соединения появляется возможность получать самые актуальные данные о состоянии системы, а также влиять на её состояние. Например, отдать команду заблокировать неисправный вычислительный узел.

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

В системе Cleo каждый пользователь обладает определёнными правами. Права пользователя в системе Cleo определяются в её конфигурационном файле и могут быть изменены в процессе работы системы без её перезапуска. При этом права пользователя в системе могу быть отличны от его прав на компьютере, т.е. рядовой пользователь может быть администратором Cleo, и наоборот, привилегированный пользователь на компьютере может иметь ограниченные права в Cleo или даже не иметь их вовсе.

Права пользователей могут быть разными в разных очередях. Например, можно создать специальную очередь для поддержки вычислительного практикума студентов, не разрешив им ставить задачи в другие очереди.

Для того чтобы пользователь не мог выдать себя за кого-то другого и воспользоваться его правами, в системе Cleo предусмотрен механизм автоматической авторизации.

Независимые программы-агенты системы Cleo работают на вычислительных узлах и обеспечивают сопровождение работы прикладных параллельных программ. Они проверяют, все ли процессы программы запустились, завершились ли они корректно при завершении программы и т.п. Кроме того, по факту доступности программы-агента головная программа определяет доступность вычислительного узла. Если узел недоступен, то он автоматически блокируется системой, и все использующие его программы завершаются.

Динамически загружаемые компоненты позволяют оперативно изменять логику работы Cleo, не перегружая систему и не останавливая работу уже запущенных параллельных программ. Примером такого компонента является планировщик задач -модуль, определяющий очерёдность запуска задач из очереди. Система допускает использование нескольких планировщиков, переключаясь при необходимости с одного на другой.

Стандартный планировщик Cleo поддерживает механизм установки приоритетов заданий, а также алгоритм раннего запуска "коротких" задач. Этот алгоритм предполагает досрочный запуск задачи на счёт в том случае, если ни одна из других задач, стоящих в очереди перед ней, не запланирована к запуску до окончания работы этой задачи.

Общение пользователей и администраторов с системой Cleo осуществляется как через программы-клиенты, так и через файлы состояния системы. Через файлы состояния можно получать данные о задачах и очередях, но нельзя влиять на состояние системы. С помощью программ-клиентов можно добавлять или удалять задачи из очереди, менять их приоритет, изменять состояние системы и получать расширенные данные о её текущем статусе.

Основными характеристиками системы управления прохождением задач Cleo являются:

• поддержка различных параллельных сред одновременно;

• реализация различных схем запуска задач;

• генерация дополнительной информации о задачах (лог, отчёт, \уеЬ-интерфейс);

• гибкие административные политики;

• реализация алгоритма запуска "коротких" программ;

• возможность запуска описанных администратором программ перед и после запуска задачи для подготовки запуска, очистки узлов, уведомления пользователя и т.п.;

• простота пользовательского интерфейса;

• открытость и расширяемость системы;

• поддержка иерархии очередей;

• возможности управления очередями "на ходу";

• контроль состояния узлов и автоматические блокировки;

• подключение планировщиков и внешних модулей.

Система мониторинга Апйпоп была разработана таким образом, чтобы сбор необходимых сведений проводился с минимальной нагрузкой на сеть и процессоры, а сбой головного сервера не приводил бы к отказу всей системы.

Для минимизации нагрузки на сеть был разработан специальный протокол. При начальном соединении головного сервера и агента выполняется перенумерация отслеживаемых параметров, и в дальнейшем во всех запросах к агенту на узле используются ссылки на короткий номер параметра.

Информация на узлах собирается агентами посредством модулей расширения. В отличие от большинства систем мониторинга, модули расширения в системе Агйтоп запускаются один раз и не завершаются после получения порции данных. Это исключает значительные накладные расходы на запуск модулей при запросе данных и приводит к минимизации нагрузки на процессор.

Модульный принцип построения Апйпоп позволяет отслеживать не только те параметры, которые предусмотрены в системе изначально, но и любые другие параметры необходимые пользователю - достаточно написать модуль, который будет получать эти данные и передавать в систему. Интерфейс системы с модулями прост и полностью документирован. Модуль может бьггь написан практически на любом языке программирования и для его написания не требуется высокой квалификации программиста.

Для повышения надежности системы, в архитектуре АгЛтоп предусмотрено использование нескольких головных серверов. В штатном режиме они работают независимо друг от друга и могут распределять между собой общую нагрузку - каждый сервер будет

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

Ключевые особенности системы мониторинга АпШюп:

• низкое потребление системных ресурсов — менее 2% процессорного времени;

• возможность работать с несколькими головными серверами;

• возможность привязки произвольных действий к любым событиям в системе;

• анализ данных на сервере;

• использование пороговых значений для обнаружения сбоя и возврата контролируемых значений в норму;

• масштабируемость и высокая надежность;

• простой механизм расширения.

Описанные компоненты комплекса РагСоп работают независимо друг от друга. Система управления заданиями ведёт файл журнала, а система мониторинга сохраняет данные о параметрах вычислительных узлов в легковесной базе данных ггс1.

Для получения данных анализа работы параллельной программы, пользователь посылает запрос к интерфейсной части РагСоп. Интерфейсная часть РагСоп обращается к файлу журнала системы управления заданиями и выясняет, на каких именно узлах и в какое время была запущена (или работает в данное время) запрошенная задача. После этого из баз данных системы мониторинга извлекается информация о состоянии соответствующих вычислительных узлов за указанный промежуток времени, на основе этой информации производится анализ динамических характеристик программы, и его результаты предоставляются пользователю.

Дополнительная информация о разработанном комплексе размещена на сайте http://parcon.parallel.ru.

В третьей главе диссертации описывается опыт практического использования разработанных программных средств. Многочисленные примеры, взятые из практики суперкомпьютерного комплекса НИВЦ МГУ, иллюстрируют возможности РагСоп по анализу эффективности выполнения параллельных программ и работе кластерных систем. В настоящее время программный комплекс РагСоп внедрён на четырех кластерах НИВЦ МГУ с различной архитектурой, где под его управлением функционируют более 300 процессоров. Комплекс внедрён на кластере ИВМ РАН, объединяющем 32 процессора Intel Itanium2 с помощью сети Myrinet, в Южно-Уральском государственном университете на 36-процессорном кластере, построенном на базе Intel Xeon ЕМ64Т и высокоскоростной сети InfiniBand, в Самарском государственном университете.

В заключении сформулированы основные результаты диссертационной работы.

1. Разработана методика анализа эффективности функционирования программно-аппаратных сред высокопроизводительных вычислительных систем с кластерной архитектурой. Методика носит комплексный характер, объединяя исследование кластерных характеристик системного уровня с возможностью изучения профиля пользовательских параллельных программ.

2. Разработаны принципы построения и архитектура распределенного программного комплекса, позволяющего осуществлять мониторинг и проводить исследование динамики изменения базовых характеристик программно-аппаратной среды кластерных систем во время работы потока пользовательских программ.

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

характеристики комплекса хорошо масштабируются с ростом числа процессоров и программ пользователей.

4. Программный комплекс РагСоп прошел успешную апробацию и внедрен в ряде организаций, в частности, в Институте вычислительной математики РАН, в Южно-Уральском и Самарском государственных университетах. На его основе в течение нескольких лет ведется сопровождение всех суперкомпьютерных систем НИВЦ МГУ.

Публикации.

Основные результаты диссертации отражены в следующих

работах:

1. А.Н. Андреев, А.С.Антонов, Вл.В. Воеводин. С. А. Жуматий Комплексный подход к анализу эффективности программ для параллельных вычислительных систем // Высокопроизводительные вычисления и их приложения. Труды научной конференции, пос. Черноголовка, 2000, Изд-во МГУ. С. 18-20.

2. А. Андреев, Вл. Воеводин, С. Жуматий. Кластеры и суперкомпьютеры близнецы или братья? // Открытые Системы. 2000. N5-6, С. 9-14.

3. С.А. Жуматий, A.A. Кальянов. Комплекс мониторинга распределенных информационно-вычислительных систем // Научный сервис в сети Интернет. Труды всероссийской научной конференции. 2002. Изд-во МГУ. С. 47.

4. С.А. Жуматий. Исследование эффективности работы параллельных программ в программно-аппаратной среде кластерных установок. // Распределённые вычисления и ГРИД-технологии в науке и образовании. Труды международной конференции. 2004. г. Дубна. С. 90-92.

5. С.А. Жуматий. РагСоп — Универсальное решение для вычислительных кластеров // Научный сервис в сети Интернет. Труды всероссийской научной конференции. 2004. Изд-во МГУ. С. 270.

6. С.А. Жуматий. Испытываем Antmon — новую систему мониторинга // Системный администратор. 2005. N6. С. 20-24.

7. С.А Жуматий. Система анализа производительности параллельных программ на кластерных установках // Вычислительные методы и программирование. 2005. Раздел 2. С. 57-64. http://www.srcc.msu.su/num-meth

Подписано в печать 13.09.2005 г. Формат 60x84/16. Бумага офс. № 1. Печать ризо. Усл. печ. л. 1,0. Тираж 100 экз. Заказ № 15.

Участок оперативной печати НИВЦ МГУ. 119992, ГСП-2, Москва, НИВЦ МГУ им. М.В.Ломоносова

РНБ Русский фонд

2007-4 4287

Получено 29 НОЙ 2005

Оглавление автор диссертации — кандидата физико-математических наук Жуматий, Сергей Анатольевич

Введение.

Глава 1. Программная инфраструктура параллельных вычислительных систем.

§ 1.1. Средства сопровождения выполнения параллельных программ: предпосылки разработки.

§ 1.2. Пакеты управления вычислительными ресурсами.

§ 1.3. Пакеты мониторинга.

§ 1.4. Постановка задачи.

Глава 2. Архитектура и базовые возможности комплекса РагСоп.

§ 2.1. Общая структура комплекса.

§ 2.2. Архитектура системы управления заданиями Cleo.

§ 2.3. Архитектура системы мониторинга Antmon.

§ 2.4. Архитектурные особенности комплекса РагСоп.

Глава 3. Использование комплекса РагСоп.

§ 3.1. Пользовательский интерфейс РагСоп.

§ 3.2. Исследование параллельных приложений с помощью РагСоп.

§3.3. Комплекс РагСоп на кластерных системах.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Жуматий, Сергей Анатольевич

Активное внедрение идей параллелизма в вычислительную практику привело к широкому распространению высокопроизводительных кластерных систем. Обладая многими характеристиками классических суперкомпьютеров, кластеры имеют и целый ряд дополнительных преимуществ. Они намного дешевле, их архитектуру можно выбирать в зависимости от класса решаемых задач, а сами кластерные решения хорошо масштабируются, позволяя создавать конфигурации с необходимыми параметрами по числу процессоров, стоимости, производительности, потребляемой мощности, объему оперативной и внешней памяти и целому ряду других.

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

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

Г.И.Савиным, чл.-корр. А.В.Забродиным и В.П.Иванниковым, докторами физ.-мат. наук С.М.Абрамовым, Д.А.Корягиным, В.А.Крюковым, И.Д.Софроновым. Вместе с этим, несмотря на значительную предысторию данного вопроса особенности современных кластерных систем и значительное расширение круга пользователей потребовали разработки новых подходов к решению задачи анализа эффективности выполнения программ на параллельных вычислительных системах.

Целями данной диссертационной работы являются:

• разработка методики анализа эффективности функционирования высокопроизводительных вычислительных систем с кластерной архитектурой;

• разработка принципов построения и архитектуры программного комплекса для мониторинга и исследования базовых характеристик программно-аппаратной среды кластерных систем, обрабатывающих поток пользовательских программ;

• реализация распределенного программного комплекса, позволяющего определять узкие места в конфигурациях программно-аппаратных сред кластерных систем как в процессе выполнения, так и после завершения работы параллельных программ;

• проведение апробации предложенных подходов и разработанных программных средств, их внедрение в практику работы современных суперкомпьютерных центров.

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

Все исследования, выполненные в рамках данной работы, ориентированы на совместный анализ кластерных характеристик системного уровня с возможностью одновременного изучения профиля пользовательских программ.

Данная диссертационная работа отталкивалась от реальной потребности в разработке эффективных методов организации вычислений на современных параллельных вычислительных системах, что определяет её практическую значимость. Работоспособность всех основных положений и подходов, предложенных в ходе исследований, проверялась в практике работы суперкомпьютерных центров. Использование созданного программного комплекса РагСоп позволяет значительно повысить эффективность работы высокопроизводительных вычислительных кластерных систем. Для пользователей кластеров появляется возможность проанализировать работу параллельных программ с точки зрения использования ресурсов кластеров, обнаружить их узкие места. Администраторы кластеров могут оценить и оптимизировать работу вычислительных систем на потоке задач в целом, отталкиваясь от собранных интегральных характеристик.

Принципы и характеристики, заложенные в архитектуру комплекса РагСоп, позволяют его использовать и для решения более широкого класса задач, таких, как мониторинг распределённых сетей и сервисов, анализ производительности сетевых сервисов и вычислительных комплексов, управление распределёнными сетевыми ресурсами и ряда других.

Данная диссертационная работа состоит из трёх основных глав и кратно её содержание может быть описано следующим образом.

Первая глава посвящена обзору и анализу существующей программной инфраструктуры параллельных вычислительных систем. На основе этого анализа выбирается направление исследований и уточняется постановка задачи.

Для эффективной работы параллельных программ на кластере, необходимо программное окружение, позволяющее управлять использованием ресурсов кластера. В противном случае для каждой задачи нужно будет указывать ресурсы вручную. Это сложно даже в том случае, когда задачи запускаются одним пользователем. Если же кластер находится в распоряжении нескольких пользователей, то без программной поддержки управления ресурсами просто не обойтись.

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

Подобный круг вопросов является предметом исследования данной работы. В данной главе проведен анализ наиболее распространенных в настоящее время пакетов LoadLeveler, Condor, OpenPBS (TorquePBS), Queue, NQS/NQE, DQS, LSF, системы управления прохождением задач для МВС-1000/М, Autostatus, Sysmon, Ganglia, Nagios, PIKT, Mon. Оцениваются их сильные стороны и недостатки, вырабатываются требования к проектируемому комплексу.

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

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

На основе проведенного анализа предметной области сформулирован ряд требований, которым должен удовлетворять создаваемый программный комплекс. В течение длительного времени комплекс РагСоп успешно работает на четырех различных кластерах НИВЦ МГУ, обслуживая в сумме более 300 процессоров. Комплекс работает под операционной системой Linux и требует для работы лишь интерпретатор языка perl версии не ниже 5.6.0 и пакет rrd [22]. Оба этих компонента являются свободно распространяемыми и доступны в подавляющем большинстве дистрибутивов Linux. Комплекс разработан на модульной основе, что позволяет легко расширять его возможности. Длительная эксплуатация комплекса подтвердила правильность сделанных проектных решений: нагрузка на вычислительные узлы кластеров, вызванная работой компонентов РагСоп, составляет менее 3% процессорного времени и значительно меньше 1% сетевого трафика.

Компоненты комплекса РагСоп работают независимо друг от друга. Система управления заданиями ведёт файл журнала, а система мониторинга сохраняет данные о параметрах вычислительных узлов в легковесной базе данных rrd.

В третьей главе диссертации описывается опыт практического использования разработанных программных средств. Многочисленные примеры, взятые из практики суперкомпьютерного комплекса НИВЦ МГУ, иллюстрируют возможности РагСоп по анализу эффективности выполнения параллельных программ и работе кластерных систем.

В заключении сформулированы основные результаты диссертационной работы.

Дополнительная информация о разработанном комплексе размещена на сайте http://parcon.parallel.ru.

Заключение диссертация на тему "Программная среда поддержки эффективного выполнения задач на параллельных вычислительных системах"

Заключение

Программный комплекс РагСоп на сегодняшний день является завершённым продуктом, позволяющим управлять ресурсами вычислительных кластеров и проводить анализ эффективности как параллельных программ, там и самих кластеров. Приведём основные результаты данной работы:

1. Разработана методика анализа эффективности функционирования программно-аппаратных сред высокопроизводительных вычислительных систем с кластерной архитектурой. Методика носит комплексный характер, объединяя исследование кластерных характеристик системного уровня с возможностью изучения профиля пользовательских параллельных программ.

2. Разработаны принципы построения и архитектура распределенного программного комплекса, позволяющего осуществлять мониторинг и проводить исследование динамики изменения базовых характеристик программно-аппаратной среды кластерных систем во время работы потока пользовательских программ.

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

4. Программный комплекс ParCon прошел успешную апробацию и внедрен в ряде организаций, в частности, в Институте вычислительной математики РАН, в Южно-Уральском и Самарском государственных университетах. На его основе в течение нескольких лет построено администрирование и сопровождение всех суперкомпьютерных систем НИВЦ МГУ, обслуживающих более 300 процессоров.

Библиография Жуматий, Сергей Анатольевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Лацис А.О. "Как построить и использовать суперкомпьютер". -М.:Бестселлер, 2003.

2. Воеводин В.В., Воеводин Вл.В. "Параллельные вычисления" -СПб.: БХВ, 2002г. 608 е.: ил.

3. Швель А. "Визуализация состояний вычислительного кластера"

4. Бешков А. "Установка Nagios" // Системный администратор. N22003. стр. 6-14.

5. Коваленко В., Коваленко Е. "Пакетная обработка заданий в компьютерных сетях" // Открытые системы. N7-8 2000.

6. Владимиров Д. "Кластерная система " // Открытые системы. №7-8. 2000.

7. Кузьминский М. "NQS и пакетная обработка в Unix" // Открытые системы. №1. 1997.v> 27. Андреев А.Н., Антонов А.С., Воеводин Вл.В., Жуматий С.А.

8. Комплексный подход к анализу эффективности программ для параллельных вычислительных систем //

9. Высокопроизводительные вычисления и их приложения. Труды научной конференции, пос. Черноголовка, 2000, Изд-во МГУ. С. 18-20.

10. Андреев А.Н., Воеводин Вл.В., Жуматий С.А. Кластеры и суперкомпьютеры — близнецы или братья? // Открытые Системы. 2000. №5-6. С. 9-14.

11. Жуматий С.А., Кальянов А.А. Комплекс мониторинга распределенных информационно-вычислительных систем // Научный сервис в сети Интернет. Труды всероссийской научной конференции. 2002. Изд-во МГУ. С. 47.

12. Жуматий С.А. Исследование эффективности работы параллельных программ в программно-аппаратной средекластерных установок. // Распределённые вычисления и ГРИД-технологии в науке и образовании. Труды международной конференции. 2004. г. Дубна. С. 90-92.

13. Жуматий С. А. РагСоп — Универсальное решение для вычислительных кластеров // Научный сервис в сети Интернет. Труды всероссийской научной конференции. 2004. Изд-во МГУ. С. 270.

14. Жуматий С.А. Испытываем Antmon — новую систему мониторинга // Системный администратор. 2005. №6. С. 20-24.

15. Жуматий С.А. Система анализа производительности параллельных программ на кластерных установках // Вычислительные методы и программирование. 2005. Раздел 2. С. 57.

16. Абламейко С.В., Абрамов С.М., Анищенко В.В., Парамонов Н.Н. Принципы построения суперкомпьютеров семейства "СКИФ" и их реализация // "Информатика", ОИПИ НАН Беларуси, Минск, No 1, январь-март 2004. стр. 89-106.

17. Абрамов С.М., Анищенко В.В., Парамонов Н.Н.

18. Суперкомпьютерные кластерные конфигурации "СКИФ" // "Научный сервис в сети Интернет": Труды Всероссийской научной конференции (20-25 сентября 2004 г., г. Новороссийск) М.: МГУ, стр. 216-218,2004. 37. Абламейко С.В., Абрамов С.М., Анищенко В.В.,

19. Парамонов Н.Н. Суперкомпьютеры семейства "СКИФ" // Труды