Эксперименты проводились на следующей машине:
AMD Turion(tm) 64 X2 Mobile Technology TL-62 2.10 GHz
Время работы алгортимов и полученные ускорения представлены в таблице1:
Таблица 1. Ускорение вычислений
Размер матрицы |
Количество итераций |
Последовательный |
Параллельный (2 процессора) |
Ускорение |
1000 * 1000 |
254 |
2.7 сек. |
4.5 сек. |
0.6 |
2000 * 2000 |
409 |
15.9 сек. |
26.7 сек. |
0.59 |
4000 * 4000 |
490 |
42.2 сек. |
66.5 сек. |
0.63 |
Из полученных данных видно, что параллельная работа алгоритма дает замедление. Это связано с накладными расходами на передачу данных между процессорами.Также при обмене данными требуется синхронизировать работу процессоров, что тоже не улучшает производительность.
Для сопоставления теоретического и полученного времени работы алгоритма были экспериментально вычислены латентность (latency) и пропускная способность (bandwidth):
latency = 0.0014 sec
bandwidth = 4.8 Mb/sec
В таблице 2 приведены теоретическое и экспериментальное время:
Таблица 2. Сравнение теоретических оценок и экспериментальных данных.
Размер матрицы |
Количество процессоров |
Модельное время |
Экспериментальное время |
1000 * 1000 |
2 |
3.89 сек |
4.5 сек |
2000 * 2000 |
2 |
23 сек. |
26.7 сек. |
4000 * 4000 |
2 |
63.6 сек. |
66.5 сек. |
Из таблицы видно, что экспериментальное время оказалось несколько больше реального.