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

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

Автореферат диссертации по теме "Управление потоками заданий в распределенных неоднородных вычислительных средах"

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

Соболев Сергей Игоревич

УПРАВЛЕНИЕ ПОТОКАМИ ЗАДАНИЙ В РАСПРЕДЕЛЕННЫХ НЕОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕДАХ

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

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук

174202

Москва 2007

003174202

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

Научный руководитель: доктор физико-математических наук,

член-корреспондент РАН Воеводин Владимир Валентинович

Официальные оппоненты: доктор физико-математических наук,

член-корреспондент РАН Абрамов Сергей Михайлович

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

Ведущая организация: Межведомственный

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

Защита состоится " 2 " НОА^рЗ 2007 года в fe --часов на заседании диссертационного совета К 501 001.11 Московского государственного университета имени М.В. Ломоносова по адресу 119991, г Москва, Ленинские горы, МГУ, НИВЦ, конференц-зал

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

Автореферат разослан 2007 года

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

к ф -м н Суворов В В

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

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

Активные исследования в области организации распределенных вычислений и разработки метакомпьютерных систем начались не так давно, с середины 90-х годов прошлого века Развитие исследований происходит сразу в нескольких направлениях - от адаптации конкретных задач для запуска на множестве компьютеров, доступных через сеть Интернет, до формирования общих стандартов, определяющих методы и технологии создания глобальных многофункциональных распределенных систем Разрабатываемые программные системы, будучи ориентированными на достаточно узкий спектр решаемых задач, обладают целым рядом ограничений. Так, наиболее развитый программный комплекс Globus Toolkit имеет внушительный объем программного кода, требует значительных усилий по установке, настройке и поддержанию своей инфраструктуры в работоспособном состоянии, что фактически исключает его использование при необходимости оперативного проведения распределенных вычислительных экспериментов.

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

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

Основные положения, выносимые на защиту:

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

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

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

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

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

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

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

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

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

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

Апробация работы. Основные положения работы прошли обсуждение на научных семинарах НИВЦ МГУ, на совещаниях по проблемам развития высокопроизводительных вычислений в УГАТУ (г. Уфа) Результаты работы представлялись на всероссийской научной конференции "Научный сервис в сети Интернет: технологии распределенных вычислений" (г. Новороссийск, 19-24 сентября 2005 г.), на всероссийской научной конференции "Научный сервис в сети Интернет, технологии параллельного программирования" (г. Новороссийск, 18-23 сентября 2006 г.), на международных конференциях "Распределенные вычисления и Грид-технологии в науке и образовании" (г. Дубна, 29 июня - 2 июля 2004 г., 2630 июня 2006 г), на научной конференции "Ломоносовские чтения" (г. Москва, 21 апреля 2005 г.).

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

Публикации. По теме диссертации опубликовано 6 научных работ На систему Х-Сош, лежащую в основе разработанного программного комплекса, получено свидетельство Роспатента о регистрации программ для ЭВМ № 2006611361 от 12 05 2006.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Масштабируемость. Для достижения максимальной производительности программный комплекс должен поддерживать среды со значительным числом (порядка десятков тысяч) подключенных узлов. Комплекс должен обеспечивать надежную и эффективную работу в рамках масштабных распределенных сред

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

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

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

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

Оперативность. Комплекс должен поддерживать максимально простую и быструю процедуру установки и настройки. Это требование наиболее актуально для клиентской части Использование комплекса не должно предусматривать наличие административного доступа к ресурсам.

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

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

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

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

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

Вторая глава посвящена исследованию методов управления потоками заданий в метакомпьютерных средах, создаваемых на базе технологии Х-Сот. В таких средах можно выделить три независимых уровня управления заданиями: серверный, сетевой и клиентский. Предлагается архитектура программного комплекса Х-Сот/УМС (Рис. 1), реализующего распределение заданий на всех этих уровнях.

Центральной частью Х-Сот/УМС является подсистема, работающая на серверном уровне и позволяющая организовывать потоки заданий по схеме, привычной для пользователей традиционных высокопроизводительных систем. Обсуждаются два подхода к организации очередей заданий:

Серверный уровень } Сетевой ! Клиентский

I уровень 1 уровень

Рис. 1. Архитектура программного комплекса Х-Сот/УМС

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

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

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

расчету ресурсы с нестабильными коммуникационными каналами.

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

В любой момент времени пользователи распределенных вычислительных сред должны иметь возможность получить актуальную информацию о состоянии среды в целом и отдельных ее компонентов, а также о ходе текущих расчетов в ней. Программный комплекс X-Com/VMC поддерживает несколько способов визуализации процесса вычислений, выдача подробной технической информации в формате HTML, удобном для просмотра в любом браузере, и модульный механизм, анализирующий вывод сервера X-Com в формате XML и позволяющий отобразить различные аспекты вычислительного процесса в наглядной графической форме. Для предоставления статистики по завершившимся расчетам в состав комплекса X-Com/VMC включена программа для анализа лог-файлов сервера X-Com. Эта программа позволяет оценить затраченные на вычисления ресурсы (общее время, процессорное время, объем переданных данных), а также предоставляет сведения об эффективности использования ресурсов. Эффективность вычислений в распределенной среде может оцениваться с различных точек зрения: минимизация накладных расходов (коммуникационная эффективность), отсутствие избыточности вычислений и потерь порций данных (комплексная

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

Третья глава диссертационной работы посвящена опыту практического применения разработанного программного комплекса X-Com/VMC. Глава содержит рекомендации по установке, настройке и использованию комплекса.

С использованием программного комплекса X-Com/VMC был выполнен ряд расчетов для решения реальных прикладных задач. Расчеты для задачи дифракции электромагнитного поля проводились на фоне работы суперкомпьютерного комплекса НИВЦ МГУ, причем для решения использовались только простаивающие ресурсы центра. Несмотря на это, комплексная эффективность расчета составляла около 82%. В разное время к расчету было подключено от 78 до 144 процессоров комплекса Задача целиком была решена за двое суток, при этом суммарное процессорное время составило 196 процессоро-дней

Другой масштабный вычислительный эксперимент, иллюстрирующий возможность эффективного использования программного комплекса X-Com/VMC в распределенной неоднородной среде, проводился с задачей, являющейся частью процесса компьютерного проектирования лекарств. В расчете участвовало более 150 компьютеров НИВЦ МГУ и ЮУрГУ (г. Челябинск) различных конфигураций, работающих под управлением ОС Linux и MS Windows. Расчет в общей сложности продолжался около 10 дней, при этом суммарное процессорное время расчета составило 4,8 процессоро-лет, а суммарная производительность распределенной

вычислительной среды в основное время расчета превысила 1 Tflops

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

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

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

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

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

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

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

распределенных компьютеров с различными

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

ПУБЛИКАЦИИ

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

1. Соболев С.И. Программные решения для организации метакомпьютерных вычислительных сред. Распределенные вычисления и грид-технологии в науке и образовании. Труды международной конференции -Дубна. ОИЯИ, 2004 - С. 190-193.

2. М.Ю Медведик, Ю Г Смирнов, С.И. Соболев. Параллельный алгоритм расчета поверхностных токов в электромагнитной задаче дифракции на экране // Вычислительные методы и программирование. 2005. Том 6, №1. 86-95

3. С.И. Соболев. Решение прикладных задач в распределенной среде на основе технологий Х-Сош. Труды Всероссийской научной конференции «Научный сервис в сети Интернет Технологии распределенных вычислений» (г. Новороссийск, 19-24 сентября 2005 г), Изд-во МГУ, 2005, с. 9-10.

4. В.Б Сулимов, А.Н. Романов, Ф.В. Григорьев, O.A. Кондакова, A.B. Сулимов, С.Н. Жабин, С.И. Соболев; Веб-ориентированная система молекулярного моделирования Keenbase для разработки новых лекарств, Труды Всероссийской научной конференции "Научный сервис в сети Интернет: Технологии параллельного программирования" (г. Новороссийск, 18-23 сентября 2006 г.), 2006, с. 170-172.

5. СМ. Соболев. Управление заданиями в Виртуальном метакомпьютерном центре на основе технологий Х-Сош. Распределенные вычисления и Грид-технологии в науке и образовании. Труды второй международной конференции (Дубна, 26 - 30 июня 2006 г.), Дубна-ОИЯИ, 2007, с. 401-404.

6 СИ. Соболев Использование распределенных компьютерных ресурсов для решения вычислительно сложных задач // Системы управления и информационные технологии, № 1.3(27), 2007.

7 Свидетельство Роспатента об официальной регистрации программы для ЭВМ "Система метакомпьютинга X-Сот" / Воеводин Вл. В, Соболев С.И, Филамофитский М.П.- № 2006611361 от 12.05 2006.

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

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

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

Введение.

Глава 1. Формирование распределенных вычислительных сред.

1.1. Вычислительный кластер как частный случай распределенной среды.

1.2. Проекты класса SETI@home. Платформа BOINC.

1.3. Batch-система Condor.

1.4. Концепция Grid. Программные комплексы Globus Toolkit и gLite.

1.5. Система метакомпьютинга Х-Сош.

1.6. Анализ существующих методов. Постановка задачи.

Глава 2. Архитектура системы управления потоками заданий в среде Х-Сош.

2.1. Общее описание архитектуры системы управления потоками заданий

2.2. Серверный уровень X-Com/VMC.

2.3. Сетевой уровень X-Com/VMC.

2.4. Клиентский уровень X-Com/VMC.

2.5. Визуализация хода вычислений в распределенной среде.

2.6. Анализ статистики по завершившимся расчетам. Эффективность расчета.

Глава 3. Метакомпьютерная среда Х-Сош и реальная вычислительная практика.

3.1. Организация вычислительных экспериментов.

3.2. Решение прикладных задач в метакомпьютерной среде.

3.3. Исследование компонентов распределенной среды.

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

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

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

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

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

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

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

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

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

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

Исследования и практика показывают, что реальные вычислительные среды обладают всем этим набором свойств. Особенно ярко они проявляются, если в качестве среды взаимодействия узлов распределенной вычислительной системы рассматривается сеть Интернет.

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

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

• разработка подходов к решению больших задач в распределенных вычислительных средах,

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

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

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

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

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

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

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

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

Одно из направлений заключается в разработке методов организации глобальных вычислительных экспериментов, использующих ресурсы компьютеров, подключенных к сети Интернет. Среди наиболее известных проектов такого рода стоит отметить научный проект SETI@home, анализирующий полученные от радиотелескопа данные с целью поиска в них фрагментов сигналов искусственного происхождения. Существует значительное число аналогичных проектов, решающих конкретные задачи из других областей науки. Схожесть подобных проектов и их основное ограничение — возможность работы в рамках одного проекта только над одной задачей - привело к созданию ряда платформ, унифицирующих разработку подобных проектов за счет использования единых клиентских модулей, интерфейсов и протоколов. В диссертации обсуждается одна из таких платформ - BOINC.

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

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

Condor поддерживает большинство современных программно-аппаратных платформ, она способна работать как в рамках локальной сети, так и через 7 сеть Интернет, и ориентирована на управление прохождением множества независимых приложений.

Следующее направление развития распределенных компьютерных технологий состоит в разработке общих стандартов и проектировании на их основе многофункционального программного обеспечения, поддерживающего значительный набор распределенных сервисов. Инициатива Grid-технологий направлена на создание согласованной открытой стандартизованной среды, обеспечивающей скоординированное разделение ресурсов различного плана. Базовым программным обеспечением Grid де-факто стал программный комплекс Globus Toolkit. Безусловно, это направление работы является крайне перспективным, однако в настоящий момент оно во многом носит экспериментальный характер. Globus Toolkit тяжел в установке и сложен в использовании, к тому же от версии к версии внутренние соглашения и протоколы системы могут меняться без учета обратной совместимости. Полноценная поддержка этого комплекса обеспечивается только для среды UNIX. ПО gLite, взятое за основу в европейском проекте EGEE, является несколько более проблемно-ориентированным, однако перечисленные особенности характерны и для него.

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

Вторая глава посвящена исследованию методов управления потоками заданий в метакомпьютерных средах, создаваемых на базе технологии X-Сот. В таких средах можно выделить три независимых уровня управления заданиями: серверный, сетевой и клиентский. Предлагается архитектура программного комплекса X-Com/VMC, реализующего распределение заданий на всех этих уровнях.

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

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

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

Х-Com и заданным подмножеством вычислительных узлов. С точки зрения центрального сервера Х-Com промежуточный сервер представляет собой обычный узел с высокой производительностью, а с точки зрения нижележащих узлов промежуточный сервер является центральным сервером 9 системы. Такая организация позволяет в ходе расчета снизить нагрузку на центральный сервер среды, а также подключать к расчету ресурсы с нестабильными коммуникационными каналами.

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

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

Третья глава диссертационной работы посвящена опыту практического применения разработанного программного комплекса X-Com/VMC. Глава содержит рекомендации по установке, настройке и использованию комплекса.

С помощью программного комплекса X-Com/VMC был выполнен ряд расчетов для решения реальных прикладных задач. Расчеты для задачи дифракции электромагнитного поля проводились на фоне работы суперкомпьютерного комплекса НИВЦ МГУ, причем для решения использовались только простаивающие ресурсы кластеров. Несмотря на это, комплексная эффективность расчета составила около 82%. В разное время к расчету было подключено от 78 до 144 процессоров комплекса. Задача целиком была решена за двое суток, при этом суммарное процессорное время составило 196 процессородней.

Другой масштабный вычислительный эксперимент, иллюстрирующий возможность эффективного использования программного комплекса X-Com/VMC в распределенной неоднородной среде, проводился с задачей, являющейся частью процесса компьютерного проектирования лекарств. В расчете участвовало более 150 компьютеров НИВЦ МГУ и ЮУрГУ (г. Челябинск) различных конфигураций, работающих под управлением ОС Linux и MS Windows. Расчет в общей сложности продолжался около 10 дней, при этом суммарное процессорное время расчета составило 4,8 процессоро-лет, а суммарная производительность распределенной вычислительной среды в основное время расчета превысила 1 Tflops.

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

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

Дополнительная информация о разработанном в рамках данного исследования программном комплексе доступна на сайте http://x-com.parallel.ru.

Заключение диссертация на тему "Управление потоками заданий в распределенных неоднородных вычислительных средах"

Заключение

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

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

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

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

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

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

2. Воеводин Вл.В. Решение больших задач в распределенных вычислительных средах. //Автоматика и Телемеханика. 2007, №5, С. 3245.

3. Информационно-аналитический центр по параллельным вычислениям, http://www.parallel.ru/

4. М.П. Филамофитский; Система поддержки метакомпьютерных расчетов Х-Сош: архитектура и технология работы // Вычислительные методы и программирование, 2004, т. 5, с. 123-137.

5. Система метакомпьютинга Х-Сот, http://x-com.parallel.ru/

6. Message Passing Interface Forum, http://www.mpi-forum.org/

7. Top50. Суперкомпьютеры, http://www.supercomputers.ru/

8. Тор500 Supercomputing Sites, http://www.top500.org/

9. SETI@home, http://setiathome.berkeley.edu/

10. Fermat Search, http://www.fermatsearch.org/

11. Project RC5, http://distributed.net/rc5/

12. Folding@Home, http://www.stanford.edu/group/pandegroup/folding/

13. Berkeley Open Infrastructure for Network Computing, http://boinc.berkeley.edu/

14. BOINC WIKI (на русском языке), http://distributed.ru/wiki/boinc

15. Распределенные вычисления в Интернете, http://distributed.ru

16. Condor Project Homepage, http://www.cs.wisc.edu/condor/

17. GRIDCLUB.RU: Интернет-портал по грид-технологиям, http ://www. gridclub.ru/

18. В.Н. Коваленко, Е.И. Коваленко, Д.А. Корягин, Э.З. Любимский, Е.В. Хухлаев. Современное состояние и проблемы развития программногообеспечения грид. Технологии грид, т. 1. М.: ИПМ им.М.В.Келдыша, 2006, с.52-74.

19. The Globus Alliance, http://www.globus.org/toolkit/

20. TeraGrid, http://www.teragrid.org/

21. European DataGrid, http://eu-datagrid.web.cern.ch/eu%2Ddatagrid/22. gLite, Lightweight Middleware for Grid Computing, http ://glite. web. cern. ch/glite/

22. Enabling Grids for E-sciencE, http://www.eu-egee.org/

23. Официальный сайт OpenPBS, http://www.openpbs.org/

24. Официальный сайт IBM LoadLeveler, http://publib.boulder.ibm.com/clresctr/windows/public/llbooks.html

25. Официальный сайт Cleo, http://parcon.parallel.ru/cleo.html

26. PHP: Hypertext Preprocessor, http://www.phph.net/

27. PHP: process control functions, http://ru2.php.net/manual/en/ref.pcntl.php

28. Баранов A.B., Попов A.A. Оценка эффективности грид-системы // Распределённые вычисления и Грид-технологии в науке и образовании

29. Java Technology, http://java.sun.com/

30. Организация очередей заданий в системе Х-Com с помощью XQServ, http://x-com.parallel.ru/xqserv.html

31. М.Ю. Медведик, Ю.Г. Смирнов, С.И. Соболев. Параллельный алгоритм расчета поверхностных токов в электромагнитной задаче дифракции на экране // Вычислительные методы и программирование. 2005. Том 6, №1. 86-95.

32. Сулимов В.Б., Романов А.Н., Григорьев Ф.В., Кондакова О.А., Лущекина

33. С.В., Соболев С.И. Оценка энергии связывания белок-лиганд с учетом97растворителя и программа докинга SOL: принцип работы и характеристики, Сборник материалов XIII российского национального конгресса "Человек и лекарство" 3 апреля 2006 г., 2006, с. 37.

34. Соболев С.И. Использование распределенных компьютерных ресурсов для решения вычислительно сложных задач // Системы управления и информационные технологии. 2007, №1.3 (27). С. 391-395.

35. GCC, the GNU Compiler Collection, http://gcc.gnu.org/

36. Intel Compilers for Linux, http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284264.htm

37. NAS Parallel Benchmarks, http://www.nas.nasa.gov/Resources/Software/npb.html