Системы, управляемые потоком данных. Язык Dataflow Graph Language.
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: сообщение на тему, написание дипломной работы
| Добавил(а) на сайт: Mawenko.
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата
После того, как граф данных нарисован, каждый процесс, начало и конец каждой дуги помечаются буквенно-цифровым именем, которое используется в языке DGL. Если выход out имеет несколько каналов, то его i-й канал обозначается на схеме строкой out[i].
Для подсчета числа Пи используется несколько рабочих процессов, которые вычисляют свои части интеграла и пересылают результат суммирующему процессу. Рабочие процессы обращаются за очередным заданием к процессу распределения работ. Вся работа не распределяется заранее равномерно между процессами: один рабочий процесс, если он запущен на более быстрой машине, может выполнить львиную долю работы.
Из входа num_iter процесс Summer считывает число частичных сумм, которые он должен просуммировать до завершения своей работы. На вход arg процесса Worker поступает задание: границы и число интервалов. Если число интервалов в задании равно нулю, то процесс завершает работу. Пересылая свой идентификатор через выход demand рабочий процесс обращается за очередным заданием.
Запись графа потока данных на языке Data Graph Language
Перевод графа потока данных в язык DGL совершается однозначным образом. В записи на DGL каждый процесс представлен заголовком и списком входных и выходных портов. При описании процесса можно использовать числовые константы, которые определяются в начале программы. Ряд констант задается диспетчером - константа nprocs, например, равна числу доступных процессоров в системе. Синтаксис языка DGL приведен в приложении А.
11 DATAFLOW GRAPH Pi;
12
13 NW = nprocs - 2
14
15 PROCESS Manager
16 EXPORT:
17 worker [NW] --> Worker [c]:arg;
18 num_iter --> Summer:num_iter;
19 IMPORT:
20 demand_list;
21 END
22
23 PROCESS Worker [NW]
24 EXPORT:
25 demand --> Manager:demand_list;
26 result --> Summer:part_sum;
27 IMPORT:
28 arg;
Рекомендуем скачать другие рефераты по теме: бесплатные курсовые работы, диплом.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата