Parallel Sorting Algorithm by Median-Median

중위수의 중위수에 의한 병렬 분류 알고리즘

  • Published : 1995.01.01

Abstract

This paper presents a parallel sorting algorithm suitable for the SIMD multiprocessor. The algorithm finds pivots for partitioning the data into ordered subsets. The data can be evenly distributed to be sorted since it uses the probability theory. For n data elements to be sorted on p processors, when $n{\geq}p^2$, the algorithm is shown to be asymptotically optimal. In practice, sorting 8 million data items on 64 processors achieved a 48.43-fold speedup, while the PSRS required a 44.4-fold speedup. On a variety of shared and distributed memory machines, the algorithm achieved better than half-linear speedups.

본 논문은 SIMD 병렬 처리 컴퓨터에 적합한 병렬 분류 알고리즘을 제시키 위해서, 다음과 같이 수행이 된다. 첫째, 비순서화된 데이타 집합을 p개의 프로세서로 할당시킨후에 순차적 quicksort로 분류한다. 그 다음으로, 분류된 각 프로세서의 중위수값을 구한다음 이 값에 위해서 각 프로세서에 데이타 값을 할당시킨다. 각 프로세서에 할당된 데이타가 정확하게 분배가 되도록 중위수와 중위수 값을 구해서 각 프로세서에 적합한 데이타를 다시 할당 시키게 된다. 이때 각 프로세서가 지닌 데이타의 수는 확률이론을 이 용하였다. 마지막으로, 각 프로세서에 할당된 데이타를 순차적 quicksort로 분류하면 된다. 여기서 분류될 데이타 n가 $n{\geq}p^2$일때 본 알고리즘은 최적이 되게됨을 볼수가 있다. 실제적 구현에 있어서, 64개 프로세서를 이용해서 8백만개의 데이타를 분류할때 PSRS 방법의 speedup은 44.4인 반면에 본 알고리즘은 48.43이 된다. 즉, 다양한 공용과 분산 기억장치 기계에 관해서, 본 알고리즘의 speedup은 거의 절반 이상의 선형시간으로서 성취가 됨을 볼 수가 있다.

Keywords