Design of General -Purpose Bitonic Sorting Algorithms with a Fixed Number of Processors for Shared-Memory Parallel Computers

공유 메모리 병렬 컴퓨터 환경에서 한정된 수의 프로세서를 사용한 범용 Bitonic sorting 알고리즘의 설계

  • 이재동 (단국대학교 전자계산학과)
  • Published : 1999.01.01

Abstract

지금까지의 bitonic sorting 에 대한 연구는 N 개의 key를 정렬하기 위해서는 N/2(or N)개의 프로세서가 필요하였다. 여기서는 프로세서의 수가 정렬하고자 하는 key 수에 독립적이고 또한 N/2개 이하인 경우를 고려하였다. 따라서 본 연구에서는 공유 메모리 병렬 컴퓨터 환경에서 N 개의 Key를 고정도니 수의 프로세서를 사용하여 O(log2N) 시간에 정렬 할 수 있는 두 종류의 범용 bitonic sorting 알고리즘을 구현하였다. 첫째로, VITURAL-GPBS 알고리즘은 하나의 프로세서를 사용하여 여러 개의 프로세서가 하는 역할을 모방하므로써 정렬을 수행하도록 하였다. 둘째로, VIRTUAL-GPBS 알고리즘보다 좀 더 효율적이고 빠른 FAST-GPBS 알고리즘을 소개하였다. 두 알고리즘의 주요 차이점은 FAST-GPBS 알고리즘에서는 각각의 프로세서에 배정된 여러 개의 key를 각 프로세서 내에서 가장 빠른 순차 정렬 알고리즘을 사용하면서 먼저 지역적으로 정렬을 함으로써 VIRTUAL-GPBS 보다 효율이 50% 이상 향상된 정렬을 수행할 수 있도록 하였다. FAST-GPBS 알고리즘은 compare-exchange 대신 merge-split 작업을 함으로써 컴퓨터의 사용 효율을 향상시킬 수 있다.

Keywords