Разработка ПО для организации параллельных вычислений на кластерах (Разработка ПО для организации параллельных вычислений на кластерах)

Посмотреть архив целиком

Инкомтел

Документация по проекту «Разработка программного обеспечения для организации эффективного выполнения параллельных вычислений на кластерах»

Версия 1.0





i-vamala

12/10/2007






Документация
по проекту «Разработка программного обеспечения для организации эффективного выполнения параллельных вычислений на кластерах»



Указатель





1. Описание проекта 3

2. Общая архитектура программного комплекса 3

1.1 Задачи интегрированной среды разработки граф-схемных параллельных программ 5

1.2 Задачи системы выполнения граф-схемных параллельных программ на кластерах 5

2. Реализация программного комплекса на платформе .NET 8

2.1 Реализация и системные требования интегрированной среды разработки граф-схемных параллельных программ. 8

2.2 Реализация и системные требования системы выполнения граф-схемных параллельных программ на кластерах. 10

3. Инструкция по инсталляции 14

4. Инструкция пользователя для программного комплекса «Инструментальная среда граф-схемного параллельного программирования». 14



























  1. Описание проекта

В ходе выполнения проекта («Разработка программного обеспечения для организации эффективного выполнения параллельных вычислений на кластерах») был реализован программный комплекс (ПК) для визуального проектирования и выполнения граф-схемных параллельных программ на кластерах.

  1. Общая архитектура программного комплекса

В основе ПК лежит язык граф-схемного параллельного программирования. Основными этапами жизненного цикла параллельной программы являются ее разработка и выполнение на вычислительной системе. Одной из важных особенностей граф-схемной концепции является возможность разделить эти два этапа. То есть программист на этапе разработки может не задумываться над тем, каким образом и на каких ВС будет выполняться его программа и сосредоточиться на разработке граф-схемы. Результатом этого этапа будет исходный код программы. Обеспечение данного этапа нужными инструментами – задача системы поддержки разработки граф-схемных параллельных программ. О требованиях, предъявляемых к такой системе, и ее составе будет подробнее рассказано в 2.1. Выполнение запуска и исполнение параллельных программ требует специальных средств для управления, о которых подробнее рассказано в 2.2.

Интеграция предполагает, что при реализации обеспечено совместное функционирование всех элементов, предполагающих взаимодействие с пользователем, в однородном окружении – оболочке Microsoft Visual Studio 2008.

Общая архитектура среды представлена на рис. 1, а подробное описание всех элементов изображенных на рисунке представлено в продолжении.











    1. Задачи интегрированной среды разработки граф-схемных параллельных программ

Назначение интегрированной среды разработки – организовать работу программиста на этапе разработки параллельной программы.

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

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

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

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

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

    1. Задачи системы выполнения граф-схемных параллельных программ на кластерах

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

  • Обеспечить возможность построения иерархических вычислительных систем.

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

  • Получить максимально возможную производительность вычислений в распределенной среде.

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

Общая архитектура и основные блоки управления процессом выполнения ГСПП на кластере, приведены на рис. 2.

Рис. 2. Общая архитектура управления процессом выполнения ГСПП

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

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

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

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

Рис. 3. Процесс выполнения ГСПП на вычислительном узле

Готовые к выполнению задачи поступают в очередь планировщика, где ожидают освобождения ресурсов вычислительного узла. Как только ресурсы освобождаются (в случае, если какая-либо задача закончила вычисления или была приостановлена), готовая задача из очереди передается в пул потоков специального вида, где происходит ее запуск (рис. 3). Этот пул потоков управляется непосредственно планировщиком.

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















  1. Реализация программного комплекса на платформе .NET

    1. Реализация и системные требования интегрированной среды разработки граф-схемных параллельных программ.


Случайные файлы

Файл
29923-1.RTF
75864-1.rtf
66667.rtf
82.rtf
154221.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.