Тестирование реализованных последовательной и параллельной версий алгоритма проводилось на ЭВМ со следующей конфигурацией:
Intel(R) Core(TM) 2 Duo CPU T6600 (2.2GHz, 2 MB L2 cache); 4 GB RAM.
Результаты тестов представлены в следующей таблице:
Размер матрицы |
Время выполнения (послед) |
Число процессов |
Время выполнения (паралл) |
Ускорение |
Время выполнения(теор) |
100 |
0.002 |
4 |
0.033 |
0.0606 |
0.00578
|
200 |
0.023 |
4 |
0.079 |
0.2911 |
0.043 |
270 |
0.057 |
9 |
0.433 |
0.1316 |
0.051 |
480 |
0.841 |
4 |
0.452 |
1.8606 |
0.571 |
900 |
7.032 |
4 |
5.01 |
1.4064 |
3.708 |
7.032 |
9 |
2.885 |
2.4374 |
1.702 |
1800 |
58.975 |
4 |
33.742 |
1.7478 |
29.412 |
58.975 |
9 |
30.657 |
1.9237 |
13.289 |
3600 |
632.336 |
4 |
292.388 |
2.1626 |
234.287
|
632.336 |
9 |
242.335 |
2.6093 |
104.998 |
Латентность: 0.00000125сек Пропускная
способность: 6,291*10^7 байт/сек
По результатам
проведенных экспериментов можно сделать некоторые выводы. Разработанный алгоритм
дает очень неплохие результаты. Время работы уменьшается в 2 с лишним раза по
сравнению с 1 процессорным вариантом. Конечно нельзя делать выводы опираясь
только лишь на результаты экспериментов на представленой машине, но можно
предположить что программа будет работать намного быстрее на машинах с большим
числом процессоров. Это видно уже при увеличении количества процессов.