- •Документация по проекту «Разработка программного обеспечения для организации эффективного выполнения параллельных вычислений на кластерах» Указатель
- •Описание проекта
- •Общая архитектура программного комплекса
- •Задачи интегрированной среды разработки граф-схемных параллельных программ
- •Задачи системы выполнения граф-схемных параллельных программ на кластерах
- •Реализация программного комплекса на платформе .Net
- •Реализация и системные требования интегрированной среды разработки граф-схемных параллельных программ.
- •Реализация и системные требования системы выполнения граф-схемных параллельных программ на кластерах.
- •Инструкция по инсталляции
- •Инструкция пользователя
- •Пример. Задача вычисления числа Pi
- •Параметры рассматриваемой задачи
- •Граф-схема решения:
Инструкция по инсталляции
Программный комплекс поставляется в виде 3 инсталляционных проектов:
Клиентский пакет:
IDE.Setup.exe– устанавливается на персональный компьютер разработчика и содержит все необходимые файлы и настройки для развертывания среды разработки.
Кластерный пакет:
Headnode.Setup.exe– устанавливается на головной узел кластера
Node.Setup.exe– устанавливается на вычислительные узлы кластера
Инструкция пользователя
Для того, чтобы приступить к разработке граф-схемной параллельной программы, необходимо запустить среду VisualStudio2008 с установленной средой разработки ГСПП исоздать новый проект.
Шаги:
1. Выбрать пункт меню New Project.
2. Выбрать шаблон проекта VIPDSProject
и заполнить поля:
Name - имя проекта;
Location - путь к папке, где будет сохранен проект.
После нажатия кнопки OK будет создан новый проект, в котором по умолчанию будут созданы два файла:
AssemblyInfo.cs - файл, в котором храниться код граф-схемной параллельной программы;
Scheme.gsf - файл формата xml, в котором хранится вся информация о схемах проекта.
После того, как был создан проект, можно приступать к созданию одной или нескольких схем. Причем создание поддерживается с двух сторон. С одной стороны, можно создавать схему визуально с помощью редактора ГСПП. С другой стороны, можно писать код в редакторе кода ГСПП. Также можно во время написания схем переключаться между этими редакторами.
В создание схемы входит создание модулей, подсхем исвязей между ними. В создание модулей входитсоздание когнитивных групп входовивыходов, а такженаписание методов.
После создания модулей необходимо создать экземпляры групп входов и выходов и модулей.
Шаги:
1. Открыть окно граф-схем, выбрав в меню пункт ModuleView
2. В появившемся окне ModuleView нажать правой клавишей мыши на имя проекта
2. В контекстном меню выбрать пункт Add new scheme
3. В появившемся окне мастера по созданию схем
заполнить поля:
ввести имя новой схемы, которое будет использовано в проекте;
ввести имя файла, в котором будет храниться новая схема.
Нажать кнопку Finish.
Модули являются глобальными объектами наравне со схемами, поэтому процесс создания модуля похож на процесс создания схем.
Шаги:
1. Открыть окно граф-схем, выбрав в меню пункт ModuleView
2. В появившемся окне нажать правой клавишей мыши по проекту или по схеме, если она уже создана, и выбрать в контекстном меню Add new module
3. Заполнить поля в появившемся окне мастера по созданию модулей
Module name - имя нового модуля;
File name - имя файла, в котором будет прописан новый модуль.
Нажать кнопку Finish.
4. Если необходимо, можно удалить модуль, выделив его левой клавишей мыши и нажав клавишу Delete на клавиатуре или выбрав пункт меню Delete.
Для создания КГВх и КГВых нужно:
1. Выбрать пункт меню ModuleView
2. Нажать правой клавишей мыши по пункту Conjnctive Input/Output Group и выбрать из контекстного меню Add new CG
3. Если необходимо, изменить имя созданной когнитивной группы входов/выходов, кликнув по ней дважды левой клавишей мыши и введя новое имя.
Для создания входов и выходов используется следующая процедура:
1. Выбрать пункт меню ModuleView
2. Нажать правой клавишей мыши по когнитивной группе входов/выходов и выбрать из контекстного меню Add new Point
3. Если необходимо, изменить имя и тип созданному входу/выходу, кликнув по нему дважды левой клавишей мыши и введя новое имя и/или тип.
4. Удалить вход/выход можно, выбрав пункт контекстного меню Remove Point
Методы модулей генерируются при создании когнитивных групп входов. Каждый метод привязан к одной группе входов и реализует логику работы с данными, поступающими на входы, входящие в соответствующую группу входов.
1. При создании когнитивной группы входов в код программы добавляется метод с тем же именем, что и созданная группа
2. В этом методе можно получить данные с группы входа с помощью команды READа также записать данные в группу выходов с помощьюкоманды WRITE.
Для проектирования коммуникаций между модулями нужно использовать как текстовое представление, так и графический интерфейс .
1. Выбрать точку выхода когнитивной группы выходов модуля и, не отпуская левой клавиши мыши, подвести курсор мыши к входу когнитивной группы входов этого или другого модуля или подсхемы.
2. Следует помнить, что при соединении типы входа и выхода должны совпадать.
3. Если необходимо, можно удалить связь, выделив ее левой клавишей мыши и нажав клавишу Delete на клавиатуре или выбрав пункт меню Delete.
Пример разработки и выполнения параллельной программы с использованием ПК.
Проектирование программы – творческий процесс, который сложно жестко регламентровать для всего спектра прикладных задач. Совеременные разработчики программного обеспечения предпочитают использовать декомпозиционную схему решения сложных задач, получившую название проектирование «сверху-вниз» (top-down design). Язык ГСПП изначально создавался с ориентацией именно на этот подход к проектированию.