utros
05.04.2012 21:11 pedobook
Задали тут написать алгоритм сортировки и распараллелить его на две машинки, чтобы показать, что параллельные вычисления рулят и педалят.
Вот результаты опытов:
Local sort 1048576
Performed in 2.899722 seconds
Distributed sort 1048576
Performed in 5.588050 seconds
Сериализация и передача по сети и слияние оказались дороже сортировки.
Поэтому нормальные посоны соединяют вычислительные кластеры инфинибэндом, а не ызырнэтом.
Ну у меня основную часть времени, как выяснилось в результате профилирования, заняла сериализация данных.
Можно, конечно, переписать на сишке и передавать сырые данные, но лень.
>>переписать на сишке
std::sort быстрее, чем qsort, как правило, на порядок.
Тут нужны вообще Bucket sort и Tree sort.
капитан?