멀티코어 시스템에서 최적화된 소프트웨어 개발을 위한 병렬처리 프로그래밍 기법 조사

The Survey of Parallel Programming Techniques for Developing Optimized Software in Multi-core System

  • 이기홍 (성균관대학교 정보통신대학) ;
  • 김지홍 (성균관대학교 정보통신대학) ;
  • 엄영익 (성균관대학교 정보통신대학)
  • Lee, Ki-Hong (College of Information and Communication Engineering, Sungkyunkwan University) ;
  • Kim, Jee-Hong (College of Information and Communication Engineering, Sungkyunkwan University) ;
  • Eom, Young-Ik (College of Information and Communication Engineering, Sungkyunkwan University)
  • 발행 : 2012.06.22

초록

이제 멀티코어 CPU가 보편화 되었지만 대다수의 프로그래밍 언어가 단일 코어를 대상으로 발전되었기 때문에 병렬화에 어려움이 있다. 이를 해결하고자 병렬처리 기법들이 연구되고 있지만 오히려 개발자는 여러 기법들 사이에서 혼란스러울 수 있다. 본 논문에서는 개발자들이 처한 상황에서 적절한 기법을 선택하는데 도움이 되고자 주요 병렬처리 기법인 OpenMP, Threading Building Blocks, Cilk Plus, Parallel Patterns Library를 비교 및 평가하였다. 각 기법마다 지원 기능, 지원 방식, 스케줄링 기법 등 개발자가 프로그램을 개발함에 있어 고려해야 할 특징들이 서로 다르고 각기 장단점이 존재한다. 따라서 병렬처리 기법을 선택하고 구현함에 있어 특정한 하나의 기법에 의존하는 것보다는 여러 기법들의 특성을 파악하여 상황에 맞는 기법을 선택한다면 보다 효율적이면서도 쉽게 병렬처리를 구현할 수 있다.

키워드

과제정보

연구 과제 주관 기관 : 한국연구재단, 정보통신산업진흥원