Параллельное программирование

Общая схема параллельных вычислений при обслуживании потока заявок (в АСУ)


Рассмотрим схему организации параллельного вычислительного процесса, характерную для автоматических или автоматизированных систем управления (рис. 8.1).


Рис. 8.1.  Схема параллельного вычислительного процесса

Общий алгоритм функционирования АСУ в виде макропрограммы отображен блоком 1.

Каждая макроинструкция может заключать большой объем работ. Это — отдельные операторы, задачи (функциональные модули), задания, процессы и др. Макропрограмма либо содержит макроинструкции, которые соответствуют логическим операторам, влияющим на выбор ее ветви, либо имеет специальный блок управления. В результате выполнения этих операторов формируется (блок 2) поток макроинструкций (очередь), подлежащих выполнению процессорами. При этом могут учитываться значения логических переменных, как рассчитанные по макропрограмме (внутреннее управление), так и выработанные на основе внешнего воздействия: управляемым объектом, параметрами управляемого технологического процесса, оператором с пульта или терминала. Т.е. на этом уровне вырабатывается непосредственно поток заданий.

Затем (блок 3) формируется некоторая интерпретация потока заданий (макроинструкций) для диспетчера.

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

Диспетчер 4 распределяет работы между процессорами 5 — производит распараллеливание. При этом естественно используется обратная связь от процессоров с сообщениями о ходе выполнения назначенных макроинструкций. Макроинструкции, поступившие на процессор в результате распараллеливания, выполняются в режиме интерпретации - запускаются соответствующие заранее загруженные, т.е. известные всем процессорам, программы (процессы).



Содержание раздела