Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

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

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

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

Содержание

  • Глава 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. Исследование компонентов распределенной среды

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

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

Первые исследования и прототипы работающих систем в области распределенных вычислений появились в 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/284 264.htm
  37. NAS Parallel Benchmarks, http://www.nas.nasa.gov/Resources/Software/npb.html
Заполнить форму текущей работой