Тестирование реализованных последовательной и параллельной версий алгоритма проводилось на ЭВМ со следующей конфигурацией:
Intel(R) Core(TM) 2 Duo CPU T5800 (2.00GHz)
2048MB RAM
Результаты вычислительных экспериментов по исследованию параллельного алгоритма сортировки пузырьком и сравнение его с последовательным алгоритмом:
Время выполнения: |
Количество элементов |
Последовательный алгоритм |
Параллельный алгоритм |
2 процессора |
4 процессора |
Время |
Ускорение |
Время |
Ускорение |
10000 |
0.1612 |
0.0886 |
1.8194 |
0.0531 |
3.0357 |
20000 |
0.5741 |
0.3076 |
1.8663 |
0.1645 |
3.4899 |
30000 |
1.3991 |
0.7365 |
1.8996 |
0.3372 |
4.1491 |
40000 |
2.2618 |
1.2188 |
1.8557 |
0.6145 |
3.6807 |
50000 |
3.5724 |
1.9143 |
1.8661 |
0.9644 |
3.7042 |
Результаты вычислительных экспериментов по исследованию параллельного алгоритма быстрой сортировки и сравнение его с последовательным алгоритмом:
Время выполнения: |
Количество элементов |
Последовательный алгоритм |
Параллельный алгоритм |
2 процессора |
4 процессора |
Время |
Ускорение |
Время |
Ускорение |
10000 |
0.0087 |
0.0080 |
1.0844 |
0.0154 |
0.5649 |
20000 |
0.0176 |
0.0159 |
1.1018 |
0.0200 |
0.8800 |
30000 |
0.0209 |
0.0187 |
1.1130 |
0.0216 |
0.9675 |
40000 |
0.0374 |
0.0335 |
1.1143 |
0.0299 |
1.2508 |
50000 |
0.0384 |
0.0303 |
1.2673 |
0.0269 |
1.4275 |
Так как тестирование реализованных алгоритмов проводились на двухядерном процессоре, то поэтому оптимальные результаты выполнения алгоритмов будут получены на двух процессорах. Но быстрая сортировка дает прирост и на распараллеливании на четырех процессорах, но только при большем объеме выборки элементов. Это говорит об удачном выборе алгоритма сортировки данных. Такие высокие результаты при сортировки пузырьком на четырех процессорах говорят о том, что сложность алгоритма большая, а она уменьшается с увеличением числа процессов. Быстрая же на таком количестве элементов оправдывает свое название и сортирует элементы очень быстро. Накладные расходы на выделение дополнительных процессов дают в результате уменьшение производительности алгоритма.
Сравнение теоретических и полученных результатов работы алгоритма быстрой сортировки:
Количество элементов |
Количество ядер процессора |
Время выполнения (Теор.) |
Время выполнения (Практ.) |
10000 |
2 |
0.0109 |
0.0080 |
20000 |
2 |
0.0179 |
0.0159 |
30000 |
2 |
0.0204 |
0.0187 |
40000 |
2 |
0.0360 |
0.0335 |
50000 |
2 |
0.0317 |
0.0303 |
10000 |
4 |
0.0184 |
0.0154 |
20000 |
4 |
0.0232 |
0.0200 |
30000 |
4 |
0.0241 |
0.0216 |
40000 |
4 |
0.0323 |
0.0299 |
50000 |
4 |
0.0286 |
0.0269 |
Сравнение теоретических и полученных результатов работы алгоритма сортировки пузырьком:
Количество элементов |
Количество ядер процессора |
Время выполнения (Теор.) |
Время выполнения (Практ.) |
10000 |
2 |
0.0909 |
0.0886 |
20000 |
2 |
0.3099 |
0.3076 |
30000 |
2 |
0.7384 |
0.7365 |
40000 |
2 |
1.2201 |
1.2188 |
50000 |
2 |
1.9159 |
1.9143 |
10000 |
4 |
0.0584 |
0.0531 |
20000 |
4 |
0.1679 |
0.1645 |
30000 |
4 |
0.3401 |
0.3372 |
40000 |
4 |
0.6163 |
0.6145 |
50000 |
4 |
0.9659 |
0.9644 |
Из приведенных выше таблиц видно, что, после проведения ряда экспериментов, наблюдаемое время сортировки несколько превосходит ожидаемое. Также видно, что с увеличением объема выборки, полученные в экспериментах значения все ближе приближаются к теоретическим показателям. Поэтому, исходня из этого, можно сделать вывод, что реализация алгоритма проведена довольно успешно.