Вычислительная математика Учебно-практическая задача Пути достижения параллелизма Моделирование и анализ параллельных вычислений Каскадная схема суммирования

Процессы и ресурсы Учебно-практическая задача

Модели функционирования параллельных программ

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

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

 Процесс 
1 Процесс 2 N = N + 1 N = N + 1 печать N печать N 

Пусть начальное значение переменной N равно 1. Тогда при последовательном исполнении процесс 1 напечатает значение 2, процесс 2 – значение 3. Однако возможна и другая последовательность исполнения процессов в режиме разделения времени (с учетом того, что сложение N = N +1 выполняется при помощи нескольких машинных команд)

(в скобках для каждой команды указывается значение переменной N).

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

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

, .

Командная последовательность программы образуется чередованием команд отдельных процессов и, тем самым, имеет вид:

, .

Фиксация способа образования последовательности  из команд отдельных процессов может быть обеспечена при помощи характеристического вектора

,

в котором следует положить , если команда получена из процесса  (иначе ). Порядок следования команд процессов в  должен соответствовать порядку расположения этих команд в исходных процессах

,

где  есть команда процесса , соответствующая команде  в .

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

.

Данный подход позволяет рассматривать программу так же, как некоторый обобщенный (агрегированный) процесс, получаемый путем параллельного объединения составляющих процессов

.

Наряду с расширением области применения, по мере совершенствования МВС происходит усложнение и увеличение количества задач в областях, традиционно использующих высокопроизводительную вычислительную технику. В настоящее время выделен круг фундаментальных и прикладных проблем, объединенный понятием "Grand challenges", эффективное решение которых возможно только с использованием сверхмощной вычислительных ресурсов.

Информатика, черчение, математика