Временные характеристики параллельной программы

Время выполнения программы – время, прошедшее с момента запуска первого процессора до момента завершения выполнения последнего (получения результата).

T =

f (

N,

P,

U, …)

где N - размерность задачи, P - количество процессоров, U - количество задач параллельного алгоритма.

Во время выполнения каждый процессор может находиться в трёх состояниях: вычисление (computation), обмен данными (communication) и ожидание (idle). Соответственно, определяется время нахождения процессора в каждом из них:

Следовательно, время выполнения T

может быть определено следующим образом:

или

Время вычисления алгоритма

Tcomp может быть равным времени выполнения соответствующего не распараллеленного (последовательного) алгоритма и зависит от размерности N задачи. Если параллельный алгоритм вносит дополнительные вычисления, тогда время вычисления зависит также и от количества задач U и процессоров P.

Время обмена данными алгоритма

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

Время передачи пакета данных между процессорами можно представить в виде следующего выражения:

где ts – время инициализации передачи, tw – время передачи единицы (слова) данных. Таким образом, в идеале имеем линейную зависимость времени передачи от длины данных.

Но в сети типа Ethernet для обмена данными для всех процессоров используется единственный канал связи. Если два процессора хотят передать данные в одно и то же время, реально будет передавать только один из них, а второй будет ожидать окончания передачи первого. Т.е. имеет место разделение канала связи во времени. Если S – количество конкурирующих процессоров нуждающихся в передаче данных, то предыдущая формула изменится следующим образом:

Таким образом, реальная пропускная способность канала равна S-1.

Время ожидания (простоя) алгоритма

Tidle. Процессор может простаивать в одном из двух случаев:

· при отсутствии загруженных на него задач;

· при отсутствии входных данных задачи.

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

Более удобной мерой качества параллельной программы, чем время выполнения, является эффективность. Она характеризует полноту использования алгоритмом ресурсов параллельного вычислительной среды независимо от размерности самой задачи. Относительная эффективность определяется как:

где T1 – время выполнения на одном процессоре, Tp – время выполнения на P процессорах.

Относительное ускорение:

- это коэффициент уменьшения времени выполнения на P процессорах.