Описание схемы параллельной реализации
Пусть
число процессоров равно p,
число элементов в массиве равно n.
После разделения исходного набора данных между всеми процессорами, на каждый из
них будет приходиться по n/2 элементов исходного массива.
Далее каждый
процессор осуществляет внутреннюю сортировку массива. Затем
процессоры осуществляют p/2 нечетных и p/2 четных итераций. Каждая итерация
заключается в следующем. Все смежные процессоры обмениваются своими элементами
друг с другом, в результате чего каждый процессор сортирует потом не только свои
элементы, но и элементы соседнего процессора. После того как каждый процессор
произвел внутреннюю сортировку, происходит очередной обмен данными по следующей
схеме. Происходит разбиение набора данных в каждом процессоре, после чего левому
соседу передается левая часть отсортированного массива, то есть меньшие
элементы, а правому – правая часть. Далее осуществляется очередная итерация.
После осуществления последней итерации, происходит сбор данных, в результате,
чего имеем отсортированный массив.
|