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

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

  • 유승요 (고려대학교 전기전자공학과) ;
  • 김동승 (고려대학교 전기전자공학부)
  • Received : 2015.07.03
  • Accepted : 2015.08.25
  • Published : 2015.10.31


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.


Supported by : 한국연구재단


  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.
  8. The Message Passing Interface (MPI) standard [Internet],
  9. The OpenMP(R) API specification for parallel programming [Internet],