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

Особенности параллельного вычислительного процесса в системе реального времени


Работа АСУ в системе реального времени характеризуется жесткой временной привязкой приема и выдачи информации, поскольку речь идет об управлении некоторыми объектами (например, движением летательных аппаратов) или технологическими процессами.

В целом АСУ реального времени на основе использования ВС является многоканальной системой массового обслуживания, поскольку, как правило, управление производится сразу большим числом объектов (множеством летательных аппаратов, множеством вырабатываемых изделий и т.д.). Общая схема организации вычислительного процесса та же, что и выше.

Однако, чтобы нагляднее подвести к проблемам построения управляемого параллельного вычислительного процесса, рассмотрим, как решаются задачи в реальном времени.

Возьмем возможную временную диаграмму (рис. 8.2).


Рис. 8.2.  Схема параллельных вычислений в реальном времени

Пусть ВС состоит из двух процессоров. Общий алгоритм управления разбивается на частные задачи, решаемые в циклах двух длительностей

1 и
2 , пусть
2 = 2
1. Информационно зависимые задачи, решаемые в цикле длительности
1, отражены графом G1, а задачи, решаемые в цикле длительности
2, — графом G2. Графы — взвешенные: вес вершины равен условному времени решения соответствующей задачи, что отражено на диаграмме.

Примечание. О многоциклическом режиме решения задач в АСУ.

Предположим, мы управляем каким-то "быстрым" объектом или процессом. Нам надо с большой частотой выдавать управляющие воздействия. Они вырабатываются (на некотором временном интервале) по одним и тем же алгоритмам, т.е. циклически решаются одни и те же задачи. Их решение привязывается к сигналам прерывания, которые выдаются с одной и той же частотой. Но могут решаться периодически и другие задачи, для точности результатов которых достаточна более низкая частота: задачи оценки состояния среды, меняющейся плавно, задачи отображения и т.д. Таким образом, в целом в системе одновременно циклически решаются много задач, но в циклах разной длительности.
В общем случае решаемые задачи информационно взаимозависимы.

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

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

Из диаграммы видно, что в момент начала цикла длительности

2, а, следовательно, и цикла длительности
1, включается супервизор (отмечен черным), функции которого значительно шире, чем при включении в начале только цикла длительности
1

(отмечен светлым). В результате его работы возможна смена состава решаемых задач. Если в системе есть и диспетчер, его работа может быть учтена увеличением времени работы супервизора.

Предполагают, что задачи, решаемые в каждом цикле меньшей длительности (
1), обладают более высоким приоритетом, чем задачи, решаемые в циклах большей длительности (
2).

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

Процессор 1 сначала выбирает для решения задачу 1. Из готовых к решению задач процессор 2 может выбрать лишь задачу 6. После решения задачи 1 появляется возможность решения высокоприоритетных задач 2 и 3. Задача 2 выбирается процессором 1, а процессор 2 прерывает задачу 6 и приступает к решению задачи 3. (Неизбежен циклический анализ очереди на появление задач, приоритет которых выше приоритета решаемых задач.) После решения задачи 3 начинается решение задачи 5, а после решения задачи 2, с учетом того, что к этому моменту решена и задача 3, начинается решение задачи 4.


После окончания решения задачи 5 продолжается решение задачи 6, затем начинается решение задач 7 и 8. Однако их решение прерывается началом выполнения следующего цикла длительности
1, в котором вновь воспроизводится план решения задач 1--5. Лишь во время решения процессором 1 задачи 1 продолжается решение задачи 7 процессором 2. В соответствии с приоритетом решение задач 7 и 8 заканчивается. В следующем цикле длительности
2 весь рассмотренный план решения задач 1--8 повторяется, и так — до изменения состава задач в соответствии с условиями работы управляющей системы.

Из примера видно, что частичная упорядоченность задач (задан обязательный порядок следования некоторых задач, обусловленный информационной преемственностью) препятствует полной загрузке процессоров, несмотря на высокие требования к использованию всех вычислительных ресурсов. Она определяет основную трудность решения задач оптимального распараллеливания.


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