An Assignment Method for Loop with Loop-Carried Dependence

루프 캐리 종속성을 가진 루프의 할당 기법

  • Published : 2001.08.01

Abstract

본 논문에서는 루프 반복들 간에 종속 관계가 존재하는 루프의 효율적 수행을 위한 새로운 루프 할당 기법을 제안한다. 그리고, 중앙 큐를 사용하여 공유 메모리 다중처리기에 루프 반복을 할당하는 기존 셀프 스케쥴링 기법들을 루프 캐리 종속성(loop-carried dependence)을 가진 루프의 할당에 적용하기 위해 제안한 기법을 이용한 그들의 변형에 대해 알아본다. 종속 거리를 고려하여 루프를 세 단계별로 할당하는 제안된 CDSS(Carried-Dependence Self-Scheduling) 기법 또한, 중앙 작업 큐를 기반으로 한 것이며 별도의 스케쥴러가 필요 없는 셀프 스케쥴링 알고리즘이다. 종속거리, 프로세서 수, 반복 수, 스케쥴링 연산 시간 등을 다양하게 하여 변형된 할당 기법들과 비교 분석한 결과, 제안한 기법은 양호한 부하 균형을 유지하였으며 변형된 다른 기법들에 비해 루프 수행 시간을 줄여 효율적임을 알 수 있었다. 다양한 실험 환경에서 평균적으로 제안한 CDSS, 변형된 SS, Factoring, GSS, CSS 기법 순으로 루프 수행 시간 측면에서 좋은 성능을 보였다.

Keywords

References

  1. M. Wolfe, High Performance Compilers for Parallel Computing, Addison-Wesley, 1996
  2. H. Zima and B. Chapman, Super Compiler for Parallel and Vector Computers, Addison-Wesley, 1991
  3. C. P. Kruskaland and A. Weiss, 'Allocating independent subtasks on parallel processors,' IEEE Trans. Software Eng., vol. 11, no. 10, pp. 1001-1016, Oct, 1985 https://doi.org/10.1109/TSE.1985.231547
  4. Z. Fang, P. Tang, P. C. Yew and C. Q. Zhu, 'Dynamic Processor Self-Scheduling for General Parallel Nested Loops,' IEEE Trans. on Computers, vol. 39, no. 7, pp. 919-929, 1990 https://doi.org/10.1109/12.55693
  5. C. D. Polychronopoulos and D. Kuck, 'Guided Self-Scheduling : A Practical Scheme for Parallel Supercomputers,' IEEE Trans. on Computers, vol. 36, no. 12, pp.1425-1439, 1987
  6. S. E. Hummel, E. Schonberg, and L. E. Flynn, 'Factoring : A Method for Scheduling Parallel Loops,' Comm. ACM, vol. 35, no. 8, pp.90-101, 1992 https://doi.org/10.1145/135226.135232
  7. T. H. Tzen and L. M. Ni, 'Trapezoid self-scheduling : A practical scheduling scheme for parallel computer,' IEEE Trans. on Parallel and Distributed Syst., vol. 4, pp.87-98, 1993 https://doi.org/10.1109/71.205655
  8. E. P. Markatos and T. J. Leblanc, 'Using Processor Affinity in Loop Scheduling on Shared-Memory Multiprocessors,' IEEE Trans. on Parallel and Distributed Syst., vol. 5, no. 4, pp. 379-400, 1994 https://doi.org/10.1109/71.273046
  9. J. Liu, V. A. Saletore, and T. G. Lewis, 'Safe Self-Scheduling : A Parallel Loop Scheduling Scheme for Shared-Memory Multiprocessors,' Int. Parallel Programming, vol. 22, no. 6, pp.589-616, 1994 https://doi.org/10.1007/BF02577870
  10. D. L. Eager and J. Zahorjan, 'Adaptive guided self-scheduling,' Technical Reports 92-01-01, Dept. of Comput. Sci. and Eng.,univ. of Wash, 1992
  11. Y. Yan, C. Jin and X. Zhang, 'Adaptively Scheduling Parallel Loops in Distributed Shared-Memory Systems,' IEEE Trans. on Parallel and Distributed Syst., vol. 8, no. 1, pp. 70-81, 1997 https://doi.org/10.1109/71.569656