Scheduling Scheme for Compound Nodes of Hierarchical Task Graph using Thread

스레드를 이용한 계층적 태스크 그래프(HTG)의 복합 노드 스케쥴링 기법

  • 김현철 (재능대학 컴퓨터정보계열) ;
  • 김효철 (계명문화대학 컴퓨터정보계열)
  • Published : 2002.08.01

Abstract

In this paper, we present a new task scheduling scheme ior the efficient execution of the tasks of compound nodes of hierarchical task graph(HTG) on shared memory system. The proposed scheme for exploitation functional parallelism is autoscheduling that performs the role of scheduling by processor itself without any dedicated global scheduler. To adapt the proposed scheduling scheme for various platforms, Including a uni-processor systems, Java threads were used for implementation, and the performance is analyzed in comparison with a conventional bit vector method. The experimental results showed that the proposed method was found to be more efficient in its execution time and exhibited good load-balancing when using the experimental parameter values. Furthermore, the memory size could be reduced when using the proposed algorithm compared with a conventional scheme.

본 논문은 공유 메모리 시스템에서 계층적 태스크 그래프(Hierarchical Task Graph, HTG)의 복합 노드 태스크들을 효율적으로 수행하기 위한 새로운 태스크 스케쥴링 기법을 소개한다. 함수 병렬성 추출을 위해 제안된 기법은 별도의 전역 스케쥴러가 필요 없이 프로세서 스스로가 스케쥴링 기능을 행하는 자동 스케쥴링이다. 제안된 스케쥴링 기법을 단일처리기 시스템을 비롯한 여러 플랫폼에 적용하기 위해 자바 스레드를 이용하여 구현하였으며, 기존의 비트 벡터 방법과 성능을 비교 분석하였다. 실험 파라메터 값을 이용한 실험 결과, 제안된 스케쥴링 기법은 수행 시간 측면에서 효율적이며 양호한 부하 균형을 유지하였다. 또한, 제안된 기법은 기존의 방법에 비해 메모리 사용량을 줄일 수 있었다.

Keywords

References

  1. M. Wolfe, High Performance Compilers for Parallel Computing, Addison-Wesley, 1996
  2. M. J. Quinn, Parallel Computing-Theory and Practice, McGraw-Hill, 1994
  3. H. Zima and B. Chapman, Super Compiler for Parallel and Vector Computers, Addison-Wesley, 1991
  4. K. Kennedy, 'Compiler Technology for Machine-Independent Parallel Programming,' Inter. Journal of Parallel Programming, vol. 22, no. 1, pp. 79-97, 1994 https://doi.org/10.1007/BF02577793
  5. M. Gokhale and W.Carlson, 'An Introduction to Compilation Issues for Parallel Machines,' The journal of Supercomputing, vol. 6, pp. 283-314, 1992 https://doi.org/10.1007/BF00155803
  6. M. Schlansker, T. M. Conte, J. Dehnert, K. Ebcioglu., J. Z.Fang and C.L. Thompson, 'Compiler for Instruction-Level Parallelism,' IEEE Computer, vol. 30, no. 12, pp. 63-69, 1997 https://doi.org/10.1109/2.642817
  7. C. D. Polychronopoulos and D. Kuck, 'Guided Self-Scheduling: A Practical Scheme for Parallel Supercomputers,' IEEE Trasactions on Computers, vol. 36, no. 12, pp. 1425-1439, 1987 https://doi.org/10.1109/TC.1987.5009495
  8. 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
  9. 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
  10. Y. Yan, C. Jin and X. Zhang, 'Adaptively Scheduling Parallel Loops in Distributed Shared-Memory Systems,' IEEE Trans. on Parallel and Distributed System, vol. 8, no. 1, pp. 70-81, 1997 https://doi.org/10.1109/71.569656
  11. S. Subramaniam and D. L. Eager, 'Affinity Scheduling of Unbalanced Workloads,' Proc. Supercomputing '94, pp. 214-226, 1994 https://doi.org/10.1145/602770.602810
  12. E. P. Markatos and T. J. LeBlanc, 'Using Processor Affinity in Loop Scheduling on Shared- Memory Multiprocessors,' IEEE Trans. on Parallel and Distributed Systems, vol. 5, no. 4, pp. 379-400, 1994 https://doi.org/10.1109/71.273046
  13. M. S. Squillante and E. D. Lazowska, 'Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling,' IEEE Trans on Parallel and Distributed Systems, vol. 4, no. 2, pp. 131-143, 1993 https://doi.org/10.1109/71.207589
  14. M. Girkar and C. D. Polychronopoulos, 'Automatic Extraction of Functional Parallelism from Ordinary Programs,' IEEE Trans. on Parallel and Distributed System, vol. 3, no. 2, pp. 166-178, 1992 https://doi.org/10.1109/71.127258
  15. M. Girkar and C. D. Polychronopoulos, 'Extracting Task-Level parallelism,' ACM Trans. on Programming Languages and Systems, vol. 17, no. 4, pp. 600-634, 1995 https://doi.org/10.1145/210184.210189
  16. J. E. Moreira and C. D. Polychronopoulos, 'Auto-scheduling in a Shared Memory Multiprocessor,' Technical Report 1337, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, 1994
  17. A. V. Aho, R. Sethi and J. D. Ullman, Compilers: Principles, Techniques and Tools, Addison Wesley, 1986
  18. L. Lemay, Teach Yourself JAVA in 21 Days, Sams.net Publishing, 1998
  19. M. Campione, The Java Tutorial, Addison-Wesley, 1999