Non-Preemptive Fixed Priority Scheduling for Design of Real-Time Embedded Systems

실시간 내장형 시스템의 설계를 위할 비선점형 고정우선순위 스케줄링

  • Published : 2009.02.15

Abstract

Embedded systems widely used in ubiquitous environments usually employ an event-driven programming model instead of thread-based programming model in order to create a more robust system that uses less memory. However, as the software for embedded systems becomes more complex, it becomes hard to program as a single event handler using the event-driven programming model. This paper discusses the implementation of non-preemptive real-time scheduling theory for the design of embedded systems. To this end, we present an efficient schedulability test method for a given non-preemptive task set using a sufficient condition. This paper also shows that the notion of sub-tasks in embedded systems can overcome the problem of low utilization that is a main drawback of non-preemptive scheduling.

유비쿼터스 환경에서 널리 사용되고 있는 내장형 시스템에서는 메모리 사용량의 감소와 신뢰성 등의 이유로 쓰레드 기반 프로그래밍 모델보다는 이벤트-구동형 프로그래밍 모델을 채용하는 경우가 많다. 그러나 내장형 시스템의 소프트웨어가 점점 더 복잡해지면서, 내장형 시스템을 위한 소프트웨어를 이벤트-구동형 프로그래밍 모델의 단일 이벤트 핸들러로 프로그램 하는 것은 매우 어려운 과제가 되고 있다. 본 논문에서는 내장형 시스템의 설계에 비선점형 스케줄링 기법을 도입하기 위하여, 다항시간의 스케줄 가능성 평가를 위한 충분조건과 이를 이용한 효율적인 스케줄 가능성 검사 방법을 제시하며, 또한 내장형 시스템에서의 서브-태스크의 활용이 비선점형 스케줄링을 채용했을 때의 단점인 낮은 처리기 이용률을 극복할 수 있는 방안임을 보인다.

Keywords

References

  1. F. Dabek, N. Zeldovich, M. Frans Kaashoek, D. Mazieres, and R. Morris. Event-driven program-ming for robust software. In Proceedings of the 10th ACM SIGOPS European Workshop, pages 186-189, September 2002 https://doi.org/10.1145/1133373.1133410
  2. T. M. Parks and E. A. Lee. Non-preemptive real- time scheduling of dataflow systems. In Procee-dings of IEEE International Conference on Acou-stics, Speech, and Signal Processing, pages 3225-3238, May 1995 https://doi.org/10.1109/ICASSP.1995.479574
  3. K. Jeffay, D.F. Stanat, and C.U. Martel. On non-preemptive scheduling of periodic and sporadic tasks. In Proceedings of IEEE Real-Time Systems Symposium, pages 129-139, December 1991 https://doi.org/10.1109/REAL.1991.160366
  4. L. George, N. Riviere, and M. Spuri. Preemptive and non-preemptive real -time uniprocessor scheduling. Techical report, INRIA, 1996
  5. M, Spuri. Analysis of deadline scheduled real-time systems. Technical report, INRIA, 1996
  6. Y. Wang and M. Saksena, Scheduling fixed-priority tasks with preemption threshold. In Pro-ceedings of IEEE International Conference on Real-Time Computing Systems and Applications, pages 328-335, 1999 https://doi.org/10.1109/RTCSA.1999.811269
  7. C. Liu and J. Layland. Scheduling algorithms for multiprogramming in a hard real-time environ-ment. Journal of ACM, 20(1):46-61, 1973 https://doi.org/10.1145/321738.321743
  8. R. Gerber, S. Hong, and M. Saksena. Guaran-teeing real-time requirements with resource-based calibration of periodic processes. IEEE Trans-actions on Software Engineering, 21(7):579-592, 1995 https://doi.org/10.1109/32.392979
  9. W. Wang, A. K. Mok, arid G. Fohier. Pre-sche-duling. Real-Time Systems, 30(1-2):83-103. 2005 https://doi.org/10.1007/s11241-005-0505-y
  10. F. Balarin and A. Sangiovanni-Vincentelli. Sche-dule validation for embedded reactive real-time systems. In Proceedings of the 34th Annual ACM/IEEE Conference on Design Automation, pages 52-57, 1997
  11. L -P. Chang. Event-driven scheduling for dynamic workload scaling in uniprocessor embedded sys-tems. In Proceedings of the 2006 ACM Smposium on Applied Computing, pages 1462-1466, 2006 https://doi.org/10.1145/1141277.1141618
  12. P. Ramanathan and M. Hamdaoui. A dynamic priority assignment technique for streams with (m,k)-firm deadlines. IEEE Transactions on Computers, 44(12):1443-1451, 1995 https://doi.org/10.1109/12.477249
  13. R. Wilhelm, E. Jakob, N. Holsti, S. Thesing, D. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, T. Mitra, F. Mueller, I. Puaut, P. Puschner, J. Staschulat, and P. Stenstrom. The worst-case execution-time problem -- overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems, 7(3), Article No. 36, 2008 https://doi.org/10.1145/1347375.1347389
  14. S. K. Baruah, L. E. Rosier, and R. R. Howell. Algorithms and complexity concerning the preem-ptive scheduling of periodic, real-time tasks on one processor. Real- Time Systems. 2(4):301-324, 1990 https://doi.org/10.1007/BF01995675
  15. R. I. Davis, A. Burns, R. J. Bril, and J. J, Lukkien, Controller Area Network (CAN) Sche-dulability Analysis: Refuted, Revisited and Revised, Real-Time Systems 35(3):239-272, 2007 https://doi.org/10.1007/s11241-007-9012-7
  16. J.P. Lehoczky, L. Sha, and Y. Ding. The rate monotonic scheduling algorithm: Exact characteri-zation and average case behaviour. In Proceedings of IEEE Real-Time Systems Symposium, pages 166-171, 1989 https://doi.org/10.1109/REAL.1989.63567
  17. L. Sha, R. Rajkumar, and J. Lehoczky. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers, 39(9):1175-1185, 1990 https://doi.org/10.1109/12.57058
  18. M. S. Branicky, S. M. Phillips, and W. Zhang. Scheduling and feedback co-design for networked control systems. In Proceedings of the 41st IEEE Conference on Decision and Control. pages 1211-1217, 2002 https://doi.org/10.1109/CDC.2002.1184679
  19. J.V. Busquets-Mataix, J.J. Serrano, R. Ors, P. Gil, and A. Wellings. Using harmonic task-sets to increase the schedulable utilization of cache-based preemptive real time systems. in Proceedings of International Workshop on Real-Time Computing Systems Application, pages 195-202, 1996
  20. T-W. Kuo and A.K. Mok. Incremental recon-figuration and load adjustment in adaptive real time systems. IEEE Transactions on Computers, 48(12):1313-1324, 1997 https://doi.org/10.1109/12.641932
  21. J. K Strosnider, J. P. Lehoczky, and L. Sha. The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments. IEEE Transactions on Computers, 44(1):73-91, 1995. https://doi.org/10.1109/12.368008
  22. W. Li, K. Kavi, and R. Akl. A non-preemptive scheduling algorithm for soft real-time systems. Computers and Electrical Engineering 33(1):12-29, 2007 https://doi.org/10.1016/j.compeleceng.2006.04.002