Опубликован: 28.07.2007 | Уровень: специалист | Доступ: платный
Лекция 8:

Решение систем линейных уравнений

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
8.3.3. Анализ эффективности

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

Трудоемкость последовательного метода сопряженных градиентов была уже определена ранее в (8.12).

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

T_p^1(calc)=2n\lceil n/p\rceil\cdot(2n-1)
(см. "Параллельные методы умножения матрицы на вектор" ).

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

T_p(calc)=n(2\cdot\lceil n/p\rceil\cdot(2n-1)+13n).

С учетом полученных оценок показатели ускорения и эффективности параллельного алгоритма могут быть выражены при помощи соотношений:

S_p=\frac{2n^3+13n^2}{n(2\lceil n/p\rceil\cdot(2n-1)+13n)}, \quad
E_p=\frac{2n^3+13n^2}{p\cdot n(2\lceil n/p\rceil\cdot(2n-1)+13n)}

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

Уточним теперь приведенные выражения – учтем длительность выполняемых вычислительных операций и оценим трудоемкость операции передачи данных между процессорами. Как можно заметить, информационное взаимодействие процессоров возникает только при выполнении операций умножения матрицы на вектор. С учетом результатов лекции 6 коммуникационная сложность рассматриваемых параллельных вычислений равна:

T_p(comm)=2n(\alpha\cdot\lceil\log p\rceil+w(n/p)(p-1)/ \beta),
где \alpha – латентность, \beta – пропускная способность сети передачи данных, а w есть размер элемента упорядочиваемых данных в байтах.

Окончательно, время выполнения параллельного варианта метода сопряженных градиентов для решения систем линейных уравнений принимает вид:

T_p=n\cdot[(2\lceil n/p\rceil\cdot(2n-1)+13n)\cdot\tau+2(\alpha\cdot\lceil\log p\rceil+w(n/p)(p-1)/ \beta)] ( 8.13)
где \tau есть время выполнения базовой вычислительной операции.

8.3.4. Результаты вычислительных экспериментов

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

Результаты вычислительных экспериментов приведены в таблице 8.3. Эксперименты проводились на вычислительных системах, состоящих из двух, четырех и восьми процессоров.

Таблица 8.3. Результаты вычислительных экспериментов для параллельного метода сопряженных градиентов для решения систем линейных уравнений
Размер матрицы Последовательный алгоритм Параллельный алгоритм
2 процессора 4 процессора 8 процессоров
Время Ускорение Время Ускорение Время Ускорение
500 0,5 0,4634 1,0787 0,4706 1,0623 1,3020 0,3840
1000 8,14 3,9207 2,0761 3,6354 2,2390 3,5092 2,3195
1500 31,391 17,9505 1,7487 14,4102 2,1783 20,2001 1,5539
2000 92,36 51,3204 1,7996 40,7451 2,2667 37,9319 2,4348
2500 170,549 125,3005 1,3611 85,0761 2,0046 87,2626 1,9544
3000 363,476 223,3364 1,6274 146,1308 2,4873 134,1359 2,7097
Зависимость ускорения от количества процессоров при выполнении параллельного метода сопряженных градиентов для решения систем линейных уравнений

Рис. 8.6. Зависимость ускорения от количества процессоров при выполнении параллельного метода сопряженных градиентов для решения систем линейных уравнений

Сравнение времени выполнения эксперимента T^*_p и теоретической оценки Tp из (8.13) приведено в таблице 8.4 и на рис. 8.7.

Таблица 8.4. Сравнение экспериментального и теоретического времени выполнения параллельного метода сопряженных градиентов раешения системы линейных уравнений
Размер матрицы 2 процессора 4 процессора 8 процессоров
T_p T_p^* T_p T_p^* T_p T_p^*
500 1,3042 0,4634 0,6607 0,4706 0,3390 1,3020
1000 10,3713 3,9207 5,2194 3,6354 2,6435 3,5092
1500 17,9505 17,5424 14,4102 8,8470 20,2001 34,9333
2000 82,7220 51,3204 41,4954 40,7451 20,8822 37,9319
2500 161,4695 125,3005 80,9446 85,0761 40,6823 87,2626
3000 278,9077 223,3364 139,7560 146,1308 70,1801 134,1359
График зависимости экспериментального и теоретического времени проведения эксперимента на четырех процессорах от объема исходных данных

Рис. 8.7. График зависимости экспериментального и теоретического времени проведения эксперимента на четырех процессорах от объема исходных данных
< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Дмитрий Степаненко
Дмитрий Степаненко
Россия
Михаил Бурдаев
Михаил Бурдаев
Россия