DOI QR코드

DOI QR Code

혼합형 병렬처리 및 파이프라이닝을 활용한 소수 연산 알고리즘

Performance Enhancement of Parallel Prime Sieving with Hybrid Programming and Pipeline Scheduling

  • 유승요 (고려대학교 전기전자공학과) ;
  • 김동승 (고려대학교 전기전자공학부)
  • 투고 : 2015.07.03
  • 심사 : 2015.08.25
  • 발행 : 2015.10.31

초록

이 논문에서는 소수 추출 방법인 Sieve of Eratosthenes 알고리즘을 병렬화하여 실행 시간과 에너지 소모 면에서 개선된 효과를 얻고자 실험을 진행하였다. 성능 개선을 위해 부하 균등화를 정교하게 조절하도록 파이프라인 작업 방식을 도입하였고, 멀티코어 컴퓨터 클러스터에 하이브리드 병렬 프로그래밍 모델을 활용하여 효과를 높였다. 소규모 컴퓨터 클러스터와 저전력 컴퓨터에서 구현, 실험한 결과 이전 방식보다 연산 속도가 향상되었고, 에너지 사용량도 감소함을 확인하였다.

We develop a new parallelization method for Sieve of Eratosthenes algorithm, which enhances both computation speed and energy efficiency. A pipeline scheduling is included for better load balancing after proper workload partitioning. They run on multicore CPUs with hybrid parallel programming model which uses both message passing and multithreading computation. Experimental results performed on both small scale clusters and a PC with a mobile processor show significant improvement in execution time and energy consumptions.

키워드

참고문헌

  1. S. H. Bokhari, "Multiprocessing the sieve of Eratosthenes," IEEE Computer, Vol.20, No.4, pp.50-58, 1987.
  2. S. Hwang, K. Chung, and D. Kim, "Load balanced parallel prime number generator with Sieve of Eratosthenes on cluster computers," in Proceedings of the IEEE International Conference on Computer and Information Technology, Fukushima, pp.295-299, 2007.
  3. S. Hwang, "Parallel prime number generator on cluster computers," Master dissertation, Korea University, Seoul, Korea, 2008.
  4. C. M. Costa, A. M. Sampaio, and J. G. Barbosa, "Distributed prime sieve in heterogeneous computer clusters," in Computational Science and Its Applications-ICCSA 2014, Springer International Publishing, pp.592-606, 2014.
  5. G. Bhat, N. G. Kini, R. Siddharth, S. Prabhu, and G. Hegde, "Parallelization of sieve of Eratosthenes," International Journal of Scientific Research in Computer Science Applications and Management Studies, Vol.3, No.5, 2014.
  6. B. Chapman, G. Jost, and R. van der Pas, Using OpenMP: portable shared memory parallel programming, MIT press, 2008.
  7. X. Luo, "A practical sieve algorithm for finding prime numbers," Communications of the ACM, Vol.32, No.3, pp. 344-346, 1989. https://doi.org/10.1145/62065.62072
  8. The Message Passing Interface (MPI) standard [Internet], http://www.mcs.anl.gov/mpi.
  9. The OpenMP(R) API specification for parallel programming [Internet], http://openmp.org/wp.