한국정보처리학회:학술대회논문집 (Proceedings of the Korea Information Processing Society Conference)
- 한국정보처리학회 2000년도 제13회 춘계학술대회 및 임시총회 학술발표 논문집
- /
- Pages.573-576
- /
- 2000
- /
- 2005-0011(pISSN)
- /
- 2671-7298(eISSN)
C 언어에서 자동 병렬 수행을 위한 부작용의 제거
Removal of side effects for the automatic parallelization in C language
- Lee, Jung-Ho (Dept. of Computer Science and Engineering, In-ha University) ;
- Lee, Kab-Lae (Dept. of Computer and Information, Kim-Cheun College of Science) ;
-
Yoo, Weon-Hee
(Dept. of Computer Science and Engineering, In-ha University)
- 발행 : 2000.04.14
초록
프로그램 언어의 수행순서는 종속성으로 인해 결정된다. 병렬 수행을 위해서는 수행 단위 사이의 종속성을 제거해야 한다. 함수 간의 종속성을 발생시키는 주요 요인으로는 전역 변수가 있다. 본 논문의 자동 병렬 수행 시스템은 순차 C언어 프로그램을 병렬 수행하여 순차 C언어 프로그램과 동일한 결과를 내게 한다. 전역 변수를 위한 프레임이 프로세서 내의 지역 메모리에 할당되며 전역 변수의 최종 결정 값을 프로세서 간에 메시지로 전달하고 복사하여 전역변수의 부작용이 발생하지 않도록 한다. 또한 피호출 함수가 수행중인 호출 함수에서는 최종 결정된 전역 변수의 값을 피호출 함수로부터 받아오기까지는 전역 변수를 참조할 수 없고 봉쇄 상태가 되는데 피호출 함수가 복귀하지 않아도 전역 변수에 대해 더 이상의 값 변경이 없음을 알게 되면 곧바로 그 값을 호출 프로세서에 전달함으로써 전역 변수 참조로 인한 수행 지연을 최대한 줄이는 방법을 제안한다.
키워드