A Reconfigurable Scheduler Model for Supporting Various Real-Time Scheduling Algorithms

다양한 실시간 스케줄링 알고리즘들을 지원하기 위한 재구성 가능한 스케줄러 모델

  • Shim, Jae-Hong (Dept.of Internet Software Engineering, Chosun University) ;
  • Song, Jae-Shin (Dept.of Information Computer Engineering, Ajou University) ;
  • Choi, Kyung-Hee (Information Communication, Graduate School of Ajou University) ;
  • Park, Seung-Kyu (Information Communication, Graduate School of Ajou University) ;
  • Jung, Gi-Hyun (School of Elcetrical and Electrinics Engineering)
  • 심재홍 (조선대학교 인터넷소프트웨어공학부) ;
  • 송재신 (아주대학교 정보 및 컴퓨터공학부) ;
  • 최경희 (아주대학교 정보통신전문대학원) ;
  • 박승규 (아주대학교 정보통신전문대학원) ;
  • 정기현 (아주대학교 전기전자공학부)
  • Published : 2002.04.01

Abstract

This paper proposes a reconfigurable scheduler model that can support various real-time scheduling algorithms. The proposed model consists of two hierarchical upper and lower components, task scheduler and scheduling framework, respectively. The scheduling framework provides a job dispatcher and software timers. The task scheduler implements an appropriate scheduling algorithm, which supports a specific real-time application, based on the scheduling framework. If system developers observe internal kernel interfaces to communicate between two hierarchical components, they can implement a new scheduling algorithm independent of complex low kernel mechanism. Once a task scheduler is developed, it can be reused in a new real-time system in future. In Real-Time Linux (5), we implemented the proposed scheduling framework and several representative real-time scheduling algorithms. Throughout these implementations, we confirmed that a new scheduling algorithm could be developed independently without updates of complex low kernel modules. In order to confirm efficiency of the proposed model, we measured the performance of representative task schedulers. The results showed that the scheduling overhead of proposed model, which has two separated components, is similar to that of a classic monolithic kernel scheduler.

본 연구에서는 다양한 실시간 스케줄링 알고리즘들을 구현할 수 있는 재구성 가능한 스케줄러모델을 제안한다. 제안 모델은 기본적인 작업(job) 디스패처(dispatcher)와 소프트웨어 타이머를 제공하는 하위 계층의 스케줄링 틀(framework)과 이를 기반으로 응용에 적합한 특정 스케줄링 알고리즘을 구현하는 상위 계층의 태스크 스케줄러로 구성된다. 시스템 개발자는 상하 구성 요소간 정보 교환을 위한 커널 내부 인터페이스만 준수한다면, 커널 하부 메커니즘과는 독립적으로 새로운 스케줄링 알고리즘을 구현할 수 있다. 한번 구현된 태스크 스케줄러는 향후 새로운 시스템 구축시 재사용 가능하다. 실시간 리눅스 (Real-Time Linux) (5)에 제안된 스케줄링 틀을 구현한 후, 이를 기반으로 대표적인 실시간 스케줄링 알고리즘들을 시험적으로 구현하여 보았다. 이를 통해 다양한 스케줄링 알고리즘들을 하부의 복잡한 커널 메커니즘 수정 없이 독립적으로 개발할 수 있음을 확인하였다. 또한 실험을 통해 두 단계 분리된 구조를 가진 제안 모델의 스케줄링 오버 헤드가 하나로 통합된 기존 일체형 스케줄러와 큰 차이가 없음을 확인할 수 있었다.

Keywords

References

  1. 남민우, '실시간 OS 시장 동향', 한국 정보처리학회 논문지, 제5권, 제4호, Jul. 1998
  2. 한국전자통신연구원, '조립형 실시간 OS 개발 사업', 기술보고서, Jan. 1999
  3. 이윤석, 'RTOS 성능 평가 방법 및 현황,' 한국정보처리학회 정보가전용 실시간 OS 컨퍼런스 자료집, pp. 73-83, Nov. 2000
  4. 최경희, '스케줄러의 재구성을 지원하기 위한 실시간 커널의 구조,' 한국정보처리학회 정보가전용 실시간 OS 컨퍼런스 자료집, pp 45-56, Nov. 2000
  5. Michael Barabanov, 'A Linux-based Real-Time Operating System,' Master thesis, New Mexico Institute of Mining and Technology, June 1997
  6. Yu-Chung Wang ad Kwei-Jay Lin, 'Implementing a General Real-Time Scheduling Framework in the RED-Linux Real-Time Kernel,' Proc. of 20th IEEE Real-Time Systems Symposium, Dec. 1998 https://doi.org/10.1109/REAL.1999.818850
  7. R. Hill, B. Srinivasan, S. Pather, and D. Niehaus, 'Temporal Resolution and Real-Time Extensions to Linux,' Technical Report ITTC-FY98-TR-11510-03, Department of Electrical Engineering and Computer Science, University of Kansas, June 1998
  8. Jane W. S. Liu, Real-Time Systems, Prentice-Hall, 2000
  9. C. L. Liu and J. W. Layland, 'Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,' Journal of the ACM, Vol. 20, No. 1, pp. 40-61, 1973 https://doi.org/10.1145/321738.321743
  10. J. Leung and J. Whitehead, 'On the Complexity of Fixed-Priority Scheduling of Periodic Real-Time Tasks,' Performance Evaluation, No. 2, pp. 237-250, 1982 https://doi.org/10.1016/0166-5316(82)90024-4
  11. A. Mok, 'Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environments,' PhD. Dissertation, MIT, 1983
  12. Ching-Chih Han, Kwei-Jey Lin, and Chao-Ju Hou, 'Distance-Constrained Scheduling and its Applications to Real-Time Systems,' IEEE Transaction on Computers, Vol. 45, No. 7, pp. 814-826, Dec. 1996 https://doi.org/10.1109/12.508320
  13. H. Kopetz, 'Time-Triggered Model of Computation,' Proc. of Real-Time Systems Symposium, pp. 168-177, Dec. 1998 https://doi.org/10.1109/REAL.1998.739743
  14. T. P. Bake and A. Shaw, 'The Cyclic Executive Model and Ada,' Proc. IEEE Real-Time Systems Symposium, pp. 120-129, Dec. 1988 https://doi.org/10.1109/REAL.1988.51108
  15. A. Demers, S. Keshav, and S. Shenker, 'Analysis and Simulation of a Fair Queuing Algorithm,' Journal of Internetworking Research and Experience, pp. 3-26, Oct. 1990
  16. M. Spuri and G. C. Buttazzo, 'Efficient Aperiodic Service under the Earliest Deadine Scheduling,' Proc. of Real-Time Systems Symposium, pp. 2-11, Dec. 1994 https://doi.org/10.1109/REAL.1994.342735
  17. Z. Deng and Jane W. S. Liu, 'Scheduling Real-Time Applications in an Open Environment,' Proc. of the 18th IEEE Real-Time Systems Symposium, pp. 308-319, Dec. 1997 https://doi.org/10.1109/REAL.1997.641292
  18. J. P. Lehoczky, L. Sha and J. K. Stronider, 'Enhanced Aperiodic Responsiveness in Hard Real-Time Environments,' Proc. of Real-Time Systems Symposium, pp. 261-270, Dec.1987
  19. B. Sprunt, L. Sha, and J. Lehoczky, 'Aperiodic Task Scheduling for Hard Real-Time Systems,' The Journal of Real-Time Systems, No. 1, pp. 27-60, 1989 https://doi.org/10.1007/BF02341920
  20. J. P. Lehoczky and S. Ramos-Thuel, 'An Optimal Algorithm for Scheduling Soft-Aperiodic Tasks in Fixed Priority Preemptive Systems,' Proc. of Real-Time Systems Symposium, pp. 110-123, 1992
  21. S. Ramos-Thuel and J. P. Lehoczky, 'On-line Scheduling of Hard Deadline Aperiodic Tasks in Fixed-Priority Systems,' Proc. of Real-Time Systems Symposium, pp. 160-171, 1993 https://doi.org/10.1109/REAL.1993.393504
  22. R. Leivin, E. Cohen, W. Corwin, F. Pollack, and W. Sulf, 'Policy/Mechanism Separation in HYDRA,' Proc. of Symposium on Operating Systems Principles, No. 1975 https://doi.org/10.1145/800213.806531
  23. Wind River Systems, VxWorks Programmer's Guide 5.3.1, Edition 1, 1996
  24. Integrated Systems, pSOSystem Programmer's Reference, 1997
  25. Microtec Division, VRTX User's Guide, Mentor Graphics Corporation, 1998
  26. Jean J. Labrosse, MicroC/OS-Ⅱ The Real-Time Kernel, R&D Books, pp 75-104, 1999
  27. H. Tokuda, T. Nakajima, and P.Rao, 'Real-Time Mach: Towards a Predictable Real-Time System,' Proc. of USENIX 1st Mach Symposium, Oct. 1990
  28. G. Lamastra, G. Lipari, G. Buttazzo, A. Casile, and F. Conticelli, 'HARTIK 3.0: a Portable System for Developing Real-Time Applications,' Proc. of 4th International Workshop on Real-Time Computing Systems and Application, Oct. 1997 https://doi.org/10.1109/RTCSA.1997.629172
  29. K. Jeffey, F. D. Smith, A. Moorthy, and J. Anderson, 'Proportional Share Scheduling of Operating System Services for Real-Time Applications,' Proc. of Real-Time Systems Symposium, pp. 480-491, Dec. 1998 https://doi.org/10.1109/REAL.1998.739781
  30. I. Stoica, H. Abdel-Wahab, K. Jeffey, S. Baruah, J. Gehrke, and G. Plaxton, 'A Proportional Share Resource Allocation Algorithm for Real-Time, Time-shared Systems,' Proc. of Real-Time Systems Symposium, pp. 288-299, Dec. 1996 https://doi.org/10.1109/REAL.1996.563725
  31. M. B. Jones, D. Rosu, and M-C. Rosu, 'CPU Reservation and Time Constraints: Efficient Predictable Scheduling of Independent Activities,' Proc. of the 16th ACM Symposium on Operating System Principles, pp. 198-211, Oct. 1997 https://doi.org/10.1145/268998.266689
  32. Z. Deng, J.W.S. Liu, and J. Sun, 'An Open Environment for Real-Time Applications,' Real-Time Systems Journal, Vol. 16, No. 2/3, pp. 155-186, May 1999 https://doi.org/10.1023/A:1008094905565