Shortest-Frame-First Scheduling Algorithm of Threads On Multithreaded Models

다중스레드 모델에서 최단 프레임 우선 스레드 스케줄링 알고리즘

  • Published : 2000.05.15

Abstract

Because FIFO thread scheduling used in the existing multithreaded models does not consider locality in programs, it may result in the decrease of the performance of execution, caused by the frequent context switching overhead and delay of execution of relatively short frames. Quantum unit scheduling enhances the performance a little, but it still has the problems such as the decrease in the processor utilization and the longer delay due to its heavy dependency on the priority of the quantum units. In this paper, we propose shortest-frame-first(SFF) thread scheduling algorithm. Our algorithm selects and schedules the frame that is expected to take the shortest execution time using thread size and synchronization information analyzed at compile-time. We can estimate the relative execution time of each frame at compile-time. Using SFF thread scheduling algorithm on the multithreaded models, we can expect the faster execution, better utilization of the processor, increased throughput and short waiting time compared to FIFO scheduling.

기존 다중스레드 모델에서의 주로 사용되는 선입선출 스케줄링 알고리즘은 실행의 지역성을 고려하지 않았기 때문에 높은 문맥전환 비용과 상대적으로 수행 시간이 짧은 프레임의 지연이 야기되어 일부 환경에서는 실행의 효율성을 떨어뜨리는 요인이 된다. 선입선출 스케줄링 알고리즘의 문제를 개선한 TAM의 퀀텀 단위 스케줄링 방법은 퀀텀 단위의 우선권을 너무 강조하므로 프로그램 실행의 병렬성을 제한시켜 프로세서의 활용도가 저하될 수 있고, 프레임 내에 있는 스레드들 간의 동기화로 인한 지연이 발생될 경우 대기 시간이 길어질 수 있다는 문제점을 가지고 있다. 위의 문제점들을 해결하기 위해 본 논문에서는 컴파일러에 의해 생성된 스레드의 크기와 동기화 정보를 이용하여 상대적으로 가장 짧은 프레임의 실행 시간을 예상하여 이를 우선적으로 처리하는 최단 프레임 우선(shortest-frame-first) 스케줄링 알고리즘을 제안한다. 다중스레드 모델은 실행의 일부분 특히 동기화 처리를 컴파일러에 의존하는 방식을 취함으로써 작업 시간에 대한 정확한 예상과 일관성을 쉽게 이용할 수 있다. 제안한 최단 프레임 우선 스케줄링 알고리즘을 선입선출 스케줄링 알고리즘과 비교한 실험 결과, 실행시간의 평가에서는 평균 15% 정도 실행 시간을 단축시켰고 프로세서 활용도의 평가에서는 5% 정도의 성능 향상을 얻었다. 그리고 대기 시간의 평가에서는 평균 24% 정도의 대기 시간을 줄였다.

Keywords

References

  1. D. E. Culler, A. Sah, K. E. Schauser, T. Eicken and J. Wawrzynek, 'Fine-grain Parallelism with Minimal Hardware Support: A Compiler-controlled Threaded Abstract Machine,' Proc. of the 4th Conf. on ASPLOS, pp.164-175, 1990
  2. S. H. Ha, and et al., 'Design and Implementation of a Massively Parallel Multithreaded Architecture: DAVRID,' Journal of Electrical Engineering and Information Science, Vol. 1, No.2, pp.15-25, 1996
  3. O. Maquelin, 'The ADAM Architecture and its Simulation,' TIK-Schriftenreihe Nr. 4, 1994
  4. R. S. Nikhil, 'Can Dataflow Subsume von Neumann Computing',' Proc. of 16th Ann. Int'l Symp. on Computer Architecture, pp. 262-272, 1989
  5. R. S. Nikhil, 'The Parallel Programming Language Id and it's Compilation for Parallel Machine,' LCS/CSG Memo 313, MIT, July, 1990
  6. R. S. Nikhil, G. M. Papadopoulos and Arvind, 'T: A multithreaded massively parallel architecture,' Proc. of the 19th Int'l Symp. on Computer Architecture, pp. 156-167, May, 1992
  7. G. Papadopouls and D. E. Culler, 'Monsoon: an Explicit Token-Store Architecture,' Proc. of the 17th Ann. Int'l Symp. on Computer Architecture, pp.82-91, 1990 https://doi.org/10.1109/ISCA.1990.134511
  8. M. D. Noakes, D. A. Wallach, and W. J. Dally, 'The J-Machine Multicomputer: An architectural evaluation,' Proc. of 20th Ann. Int'l. Symp. on Computer Architecture, 1993
  9. D. E. Culler, S. C. Goldstein, K. E. Schauser, T. von Eicken, 'TAM - A Compiler Controlled Threaded Abstract Machine,' Journal of Parallel and Distributed Computing, Vol.18, pp.347-370, 1993 https://doi.org/10.1006/jpdc.1993.1070
  10. H. H. Hum and G. R. Gao, 'Supporting a dynamic SPMD model in a multithread architecture,' Proc. of Compcon Spring'93, 1993
  11. M. Milenkovic, Operating Systems: Concepts and Design, pp.27-86, McGRAW-HILL Publishers, 1992
  12. D. E. Culler, K. E. Schauser, and T. von Eicken, 'Two Fundamental Limits on Dataflow Multi-processing,' Technical Report CSD-92-716, Computer Science Division, UC Berkeley, 1992