skip to main content
research-article

A framework for flexible scheduling in the RTSJ

Published:27 August 2010Publication History
Skip Abstract Section

Abstract

This article presents a viable solution to introducing flexible scheduling in the Real-Time specification for Java (RTSJ), in the form of a flexible scheduling framework. The framework allows the concurrent use of multiple application-defined scheduling policies, each scheduling a subset of the total set of threads. Moreover, all threads, regardless of the policy under which they are scheduled, are permitted to share common resources. Thus, the framework can accommodate a variety of interworking applications (soft, firm, and hard) running under the RTSJ. The proposed approach is a two-level scheduling framework, where the first level is the RTSJ priority scheduler and the second level is under application control. This article describes the framework's protocol, examines the different types of scheduling policies that can be supported, and evaluates the proposed framework by measuring its execution cost. A description of an application-defined Earliest-Deadline-First (EDF) scheduler illustrates how the interface can be used. Minimum backward-compatible changes to the RTSJ specification are discussed to motivate the required interface. The only assumptions made about the underlying real-time operating system is that it supports preemptive priority-based dispatching of threads and that changes to priorities have immediate effect.

References

  1. Ada-Europe. 2007. Ada reference manual- ISO/IEC 8652:2007(E) with technical corrigendum 1 and amendment 1. http://www.adaic.org/standards/05rm/RM-Final.pdf.Google ScholarGoogle Scholar
  2. Aldea Rivas, M. and Gonzalez Harbour, M. 2002. POSIX-Compatible application-defined scheduling in MaRTE OS. In Proceedings of the 14th Euromicro Conference on Real-Time Embedded Systems. 67--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Aldea Rivas, M. and Harbour, M. 2003. Application-Defined scheduling in Ada. In Proceedings of the 12th International Workshop on Real-Time Ada (IRTAW'03). ACM Press, New York, 42--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Aldea, M., Miranda, J., and Gonzalez Harbour, M. 2004. Implementing an application-defined scheduling framework for Ada tasking. In Lecture Notes in Computer Science, vol. 3063. Springer, 283--296.Google ScholarGoogle Scholar
  5. Aldea, M., Bernat, G., Broster, I., Burns, A., Dobrin, R., Drake, J. M., Fohler, G., Gai, P., Gonzalez Harbour, M., Guidi, G., Gutierrez, J. J., Lennvall, T., Lipari, G., Martinez, J. M., Medina, J. L., Palencia, J. C., and Trimarchi, M. 2006. FSF: A real-time scheduling architecture framework. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06). 113--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Aswathanarayana, T., Niehaus, D., Subramonian, V., and Gill, C. 2005. Design and performance of configurable endsystem scheduling mechanisms. In Proceedings of the 11th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'05). 32--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Baker, T. P. 1991. Stack-Based scheduling of real-time processes. Real-Time Syst. J. 3, 1, 57--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Belliardi, R., Brosgol, B., Dibble, P., Holmes, D., and Wellings, A. J. 2006. The Real-Time Specification for Java, Version 1.0.2, P. Dibble, Ed. www.rtsj.org.Google ScholarGoogle Scholar
  9. Benveniste, A., Berry, G., Caspi, P., Couronn'e, P., DuPont, F., Gauthier, T., Halbwachs, N., Le Guernic, P., Le Maire, C., Mignard, F., Paris, J. P., and Sorel, Y. 1994. Synchronous technology for real-time systems. In Proceedings of the Real-Time Systems Conference. North-Holland.Google ScholarGoogle Scholar
  10. Bollella, G., Brosgol, B., Dibble, Pl, Furr, S., Gosling, J., Hardin, D., and Turnbull, M. 2000. The Real-Time Specification for Java. Addison-Wesley.Google ScholarGoogle Scholar
  11. Brandt, S. A., Banachowski, S., Lin, C., and Bisson, T. 2003. Dynamic integrated scheduling of hard real-time, soft real-time and non-real-time processes. In Proceedings of the 24th IEEE Real-Time Systems Symposium (RTSS'03). 396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Burns, A. and Wellings, A. J. 1997. Concurrency in Ada 2nd Ed. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Burns, A. and Wellings, A. J. 2001. Real-Time Systems and Programming Languages, 3rd ed. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Burns, A., Gonzalez Harbour, M., and Wellings, A. J. 2003. A round robin scheduling policy for Ada. In Lecture Notes in Computer Science, vol. 2655. Springer, 334--343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Burns, A., Wellings, A. J., and Taft, T. S. 2004. Supporting deadlines and EDF scheduling in Ada. In Lecture Notes in Computer Science, vol. 3063. Springer, 156--165.Google ScholarGoogle Scholar
  16. Corsaro, A., Schmidt, D. C., Cytron, R., and Gill, C. 2001. Formalizing meta-programming techniques to reconcile heterogeneous scheduling disciplines in open distributed real-time systems. In Proceedings of the 3rd International Symposium on Distributed Objects and Applications. OMG, 289--299. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Davis, R., and Wellings, A. 1995. Dual priority scheduling. In Proceedings of the 16th IEEE Real-Time Systems Symposium (RTSS'95). 100--109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Davis, R. I. and Wellings, A. 1995. Hierarchical fixed priority preemptive scheduling. In Proceedings of the 26th IEEE Real-Time Systems Symposium (RTSS'95). 389--398. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Deng, Z. and Liu, J. W.-S. 1997. Scheduling real-time applications in an open environment. In Proceedings of the 18th IEE Real-Time Systems Symposium (RTSS'97). 308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dibble, P. and Wellings, A. J. 2004. The real-time specification for Java: Current status and future direction. In Proceedings of the 7th International Conference on Object-Oriented Real-Time Distributed Computing (ISORC'04). 71--77.Google ScholarGoogle Scholar
  21. DiPippo, L. C., Wolfe, V. F., Esibov, L., Bethmangalkar, G. C., Bethmangalkar, R., Johnston, R., Thuraisingham, B., and Mauer, J. 2001. Scheduling and priority mapping for static real-time middleware. Real-Time Syst. J. 20, 2, 155--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. European Union Project. 2001. Project IST-2001 34140. FIRST: Flexible integrated real-time systems technology. Final report, deliverable D-FR, produced by SalsArt Research Group, Malardalen University, Sweden.Google ScholarGoogle Scholar
  23. Feizabadi, S., Beebee, W. Jr., Ravindran, B., Li, P., and Rinard, M. 2003. Utility accrual scheduling with real-time Java. In Proceedings of the Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'03). Lecture Notes in Computer Science, vol. 2889. Springer, 550--563.Google ScholarGoogle Scholar
  24. Gai, P., Abeni, L., Giorgi, M., and Buttazzo, G. 2001. A new kernel approach for modular real-time systems development. In Proceedings of the 13th IEEE Euromicro Conference on Real-Time Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Ganssle, J. and Barr, M. 2003. Embedded Systems Dictionary. CMP Books. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Gill, C., Cytron, R., and Schmidt, D. 2002. Middleware scheduling optimization techniques for distributed real-time and embedded systems. In Proceedings of the 7th International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS'02). 311--318. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Gill, C. D., Cytron, R. K., and Schmidt, D. C. 2002. Multiparadigm scheduling for distributed real-time embedded computing. Proc. IEEE 91, 1, 183--197.Google ScholarGoogle ScholarCross RefCross Ref
  28. Goyal, P., Guo, X., and Vin, H. M. 1996. A hierarchical CPU scheduler for multimedia operating systems. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation. 107--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Jemander, T. 2005. The need for configurable and flexible scheduling in a RTOS aspiring to solve contemporary problems. In Proceedings of the 1st International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT'05).Google ScholarGoogle Scholar
  30. Jones, M. B. and Regher, J. 1999. CPU reservations and time constraints: Implementation experience on Windows NT. In Proceedings of the 3rd USENIX Windows NT Symposium. 93--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kalogeraki, V., Melliar-Smith, P. M., and Moser, L. E. 2000. Dynamic scheduling for soft real-time distributed object systems. In Proceedings of the 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'00). 114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kuo, T. and Li, C. 1999. A fixed-priority-driven open environment for real-time applications. In Proceedings of the 20th IEEE Real-Time Systems Symposium (RTSS'99). IEEE Computer Society, 256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Li, P., Ravindran, B., Suhaib, S., and Feizabadi, S. 2004. A formally verified application-level framework for real-time scheduling on POSIX real-time operating systems. IEEE Trans. Softw. Engin. 30, 9, 613--629. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Liu, J. W. S. 2000. Real-Time Systems. Prentice-Hall.Google ScholarGoogle Scholar
  35. Mok, A. K.-L. 1983. Fundamental design problems of distributed systems for the hard real-time environment. Ph.D. thesis, MIT/LCS/TR-297. Department of Electrical Engineering and Computer Science, MIT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Object Management Group. 2005. Real-Time CORBA specification, version 1.2. http://www.omg.org/technology/documents/formal/real-time_CORBA.htm.Google ScholarGoogle Scholar
  37. Regher, J., Jones, M. B., and Stankovic, J. A. 2000. Operating system support for multimedia: The programming model matters. Tech. rep. MSR-TR-2000-89. http://research.microsoft.com/~mbj/papers/tr-2000-89.pdf.Google ScholarGoogle Scholar
  38. Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39, 9, 1175--1185. http://dx.doi.org/10.1109/12.57058. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Spuri, M. and Buttazzo, G. 1996. Scheduling aperiodic tasks in dynamic priority systems. Real-Time Syst. J. 10, 2, 179--210.Google ScholarGoogle ScholarCross RefCross Ref
  40. Strosnider, J. K., Lehoczky, J. P., and Sha, L. 1995. The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments. IEEE Trans. Comput. 44, 1, 73--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. TimeSys Corporation. 2007. RTSJ reference implementation (RI) and technology compatibility kit (TCK). http:www.timesys.com/java/.Google ScholarGoogle Scholar
  42. Wolfe, V. F., DiPippo, L. C., Bethmagalkar, R., Cooper, G., Johnston, R., Kortmann, P., Watson, B., and Wohlever, S. 1999. RapidSched: Static scheduling and analysis for real-time CORBA. In Proceedings of the 4th International Workshop on Object-Oriented Real-Time Dependable Systems. 34--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Zerzelidis, A. and Wellings, A. J. 2006a. Getting more flexible scheduling in the RTSJ. In Proceedings of the 9th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06). IEEE Computer Society, 3--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Zerzelidis, A. and Wellings, A. J. 2006b. Model-Based verification of a framework for flexible scheduling in the real-time specification for Java. In Proceedings of the 4th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'06). ACM Press, New York, vol. 7, 20--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Zerzelidis, A. 2007. A framework for flexible scheduling in real-time middleware. Ph.D. thesis, Departmental Green rep. YCST 2008/02. University of York, ftp://ftp.cs.york.ac.uk/resports/YCST-2008-02.pdf.Google ScholarGoogle Scholar
  46. Zhang, J., DiPippo, L., Fay-Wolfe, V., Bryan, K., and Murphy, M. 2005. A real-time distributed scheduling service for middleware systems. In Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS'05). 59--65. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A framework for flexible scheduling in the RTSJ

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!