DOI QR코드

DOI QR Code

POSIX스레드에 의한 재귀적 알고리즘의 병렬화에서 병렬성 제어 방안

A Device of Parallelism Control in POSIX Based Parallelization of Recursive Algorithms

  • 이형봉 (호남대학교 정보통신공학부) ;
  • 백청호 (강원대학교 전자계산학과)
  • 발행 : 2002.06.01

초록

처리기를 여러 개 장착한 다중처리기 시스템의 근본 목적은 적은 비용으로 많은 성능 향상을 얻자는 데에 있다. 그러나 다중처리기 시스템을 충분히 활용하기 위해서는 병렬처리를 지원하는 특별한 언어를 사용하거나 병렬성을 탐색하는 도구의 도움을 얻어야 하는 경우가 대부분이다. 일반적으로 알고리즘에서 병렬화에 적합한 대표적인 영역으로 루프와 재귀호출 등이 알려져 있다. 이 중 재귀호출은 특별한 도구나 언어의 지원 없이 개념적인 측면에서 비교적 쉽게 병렬화 시킬 수 있다. 그러나 재귀호출이 깊어지면 통제되지 않은 병렬성이 과도하게 높아져 오히려 수행불능 상태가 되고 만다. 본 논문은 POSIX스레드를 이용하여 재귀호출로 구성된 알고리즘을 병렬화시키는 과정에서 병렬성을 제어하는 방안을 제시한다. 이를 위하여 유닉스 시스템에서 프로세스와 스레드의 개념을 정립하고, 제안된 병렬성 제어 방안을 퀵 정렬에 적용한 결과를 실증적으로 분석하여 그 효용성을 검증한다.

One of the jai or purposes of multiprocessor system is to get a high efficiency in performance improvement. But in most cases, it is unavoidable to use some special programming languages or tools for full use of multiprocessor system. In general, loop and recursive call statements of algorithms are considered as typical parts for parallelization. Especially, recursive call statements are easy to parallelize conceptually without support of any special languages or tools. But it is difficult to control the degree of parallelism caused by high depth of recursive call leading to execution crash. This paper proposes a device to control Parallelism in the process of POSIX thread bated parallelization of recursive algorithms. For this, we define the concept of thread and process in UNIX system, and analyze the results of experimental application of the device to quick sorting algorithm.

키워드

참고문헌

  1. 모상만, 한우종, 윤석한, 'Cache Coherence Protocols in NUMA Multiprocessors,' 전자통신동향분석, 제13권 제5호, 1998
  2. Kai Hwang, 'Advanced Computer Architecture,' McGraw Hill, 1996
  3. H. M. Deitel, An Introduction to Operating Systems, Addison Wesley, 1983
  4. 이형봉, 'UNIX/LINUX 커널의 설계 및 구현', 홍릉과학출판사, 2001
  5. O'Reilly & Associates, Inc., 'Guide to OSF/1 : A technical Synopsis,' O'Reilly & Associates, Inc., 1991
  6. Jeffrey M. Denham, Paula Long, and James A. Woodward, 'DEC OSF/1 Version 3.0 Symmetric Multiprocessing Implementation,' Digital Technical Journal, Vol.6, No.3, 1994
  7. Digital, 'Guide to DECthreads,' Digital, 1997
  8. 양창모, 유원희, '다중스레드 코드 생성을 위한 배열 지역화', 정보처리논문지, 제3권 제6호, pp.1407-1416, 1996
  9. 이대웅, 조태희, 한상영, '다중 스레드 구조 컴퓨터에서 프레임-토큰 기반 병렬성 제어', 정보과학회논문지(A), 제24권 제2권, pp.196-210, 1997
  10. 황득영, 최영근, '자바 프로그래밍에서 병렬처리를 위한 중첩 루프 구조의 다중스레드 변환', 정보처리논문지, 제5권 제8호, pp.1997-2012, 1998
  11. 윤성대, 정기동, '벡타 연산을 효율적으로 수행하기 위한 다중 스레드 구조', 정보처리논문지, 제2권 제6호, pp.974-984, 1995
  12. 하상호, 김흥환, 한상영, '다중스레드 컴퓨터상에서 비정형성 함수 언어의 효과적인 루프 펼침 기법', 정보과학회논문지, 제22권 제6호, pp.946-956, 1995
  13. 하상호, 한상영, 김흥환, 김수홍, '비정형성 함수 언어를 위한 향상된 스레드 형상 기법', 정보과학회논문지, 제21권 제12호, pp.2318-2329, 1994
  14. 김영곤, 정영필, 박양수, 이명준, 'POSIX쓰레드를 이용한 SR실행지원시스템의 설계 및 구현', 정보처리논문지, 제4권 제4호, pp.1106-1120, 1997
  15. John, S., Quaterman, Susanne Wilhelm, 'UNIX,POSIX, and Open Systems,' Addison Welsley, 1993
  16. Donald E. Knuth, Sorting and Searching, Addison Wesley, 1973
  17. Domenico Ferrari, 'Computer Performance Evaluation,' PRENTICE-HALL, 1978