Скачиваний:
24
Добавлен:
28.06.2014
Размер:
3.15 Mб
Скачать

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Примеры ГСПП

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Примеры ГСПП

Построим ГСПП решения нелинейного уравнения x aex bx3 c x методом простых итераций с заданной точностью и начальным приближением х0.

ГС программы:

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Примеры ГСПП

Текстовое представление ГСПП:

<?xml version="1.0" encoding="Windows-1251" ?> <!DOCTYPE schema SYSTEM "schema.dtd">

<schema name="GSPP2"> //Программа решения нелинейного уравнения <nodes>//Описание модулей

<node id="GenData" module="GenData" /> <node id="Mult1" module="Mult1" /> <node id="Mult2" module="Mult2" /> <node id="Mult3" module="Mult3" /> <node id="Sum" module="Sum" />

<node id="CheckCond" module="CheckCond" /> <node id="Output" module="Output" /> </nodes>

<relations>//Описание связей выходов КГВых со входами КГВх <relation>

<first id="GenData"> <group>1</group> <output>1</output> </first>

<second id="Mult1"> <group>1</group> <input>1</input> </second> </relation> <relation>

<first id="GenData"> <group>1</group> <output>2</output> </first>

<second id="Mult2"> <group>1</group> <input>1</input> </second> </relation>

……………………………………………………………………………

</schema>

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Операционная семантика

Перейдем к описанию процесса выполнения ГСПП

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

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

Считается, что модули, у которых КГВх не имеют входов (этим КГВх сопоставляются подпрограммы с пустым множеством параметров), готовы для выполнения по этим КГВх с момента инициализации выполнения ГСПП

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Операционная семантика

При выполнении процесса в его подпрограмме могут использоваться специальные системные команды (реализуемые посредством обычного обращения к специальным функциям) WRITE (запись), READ (чтение), OUT (выход) – позволяющие осуществлять

межмодульное взаимодействие.

Команда WRITE имеет формат:

WRITE(<номер КГВых>,<тег>,<список выходов><список переменных>)

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

процедуры).

Для более “тонкой” работы с поступающими на КГВх модулей данными, в частности работы с сопоставляемыми им буферами, предусмотрена команда:

CHECK(<номер КГВх>.<тег>,<список входов>,<переменная>)

Команда CHECK проверяет наличие данных с указанными тегами на указанных входах КГВх.

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Инструментальная среда разработки ГСПП

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

Блок графической

 

Блок текстовой

разработки ГСПП

 

разработки ГСПП

 

 

 

Блок взаимной трансляции

Блок

координации

Блок взаимодействия с базой данных

ОС Windows

База данных

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Реализация языка на кластерных системах

Физическая среда реализации

………

………

………

Граф – схемное потоковое параллельное

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

Организация управления параллельными вычислениями на кластере

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

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Функции сервера

1.Начальное конфигурирование кластера

[в соответствии с затребованными пользователем ресурсами – количеством компьютеров и т.д.]

2.Запуск на выполнение пользовательских параллельных

программ[“размещение” буферов на указанных пользователем компьютеров]

3.Приём и обработка сообщений от компьютеров

кластера[которые разделены на следующие категории: - данные о загруженности

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

4.Планирование загруженности кластера[на основе данных, полученных

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

5.Динамическое управление реконфигурированием кластера в случае отказов и восстановлений

6.Реакция на запросы администратора о загруженности кластера, его конфигурации, текущем состоянии.

Граф – схемное потоковое параллельное программирование и его реализация на кластерных системах

Функции компьютера

приём и обработка сообщений от сервера,

управление выполнением “своих” процессов,

обнаружение отказов, других непредвиденных ситуаций и информирование о этом сервера,

определение показателей загруженности,[измерение и

передача на сервер через определённый интервал времени ∆t определённых заранее параметров загруженности компьютера; в более сложном случае интегральная оценка загруженности]

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