Эффективность
будет определяться двумя характеристиками используемых алгоритмов:
-
количество вычислительных операций,
-
время
выполнения алгоритма.
При оценке
эффективности принимается несколько предположений: перемножаемая матрица
квадратная, операции сложения и умножения выполняются за одинаковое время
,
вычислительная система однородна.
При
последовательном умножении матрицы на вектор количество вычислительных операций
составляет
.
При
параллельном умножении матрицы на вектор количество вычислительных операций
составляет
,
где p
– число процессов в вычислительной системе. Показатели ускорения и эффективности
имеют вид:
и
.
Общее время выполнения параллельного алгоритма составляет:
, где
- латентность вычислительной
сети,
- пропускная способность вычислительной
сети,
- размер
одного элемента в байтах.
При умножении
матрицы на вектор с разделением данных по столбцам, количество операций,
ускорение и эффективность остаётся прежней. Общее время выполнения алгоритма
составляет:
.
Для блочного
алгоритма оценка количества операций остаётся прежней. Будем предполагать, что
процессы вычислительной системы образуют прямоугольную решетку p=s×q (s – количество строк в процессорной решетке, q – количество столбцов). Общее время выполнения:
.