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

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






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



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


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


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