User-defined schedulers for real-time concurrent objects

Scheduling concerns the allocation of processors to processes, and is traditionally associated with low-level tasks in operating systems and embedded devices. However, modern software applications with soft real-time requirements need to control application-level performance. High-level scheduling control at the application level may complement general purpose OS level scheduling to fine-tune performance of a specific application, by allowing the application to adapt to changes in client traffic on the one hand and to low-level scheduling on the other hand. This paper presents an approach to express and analyze application-specific scheduling decisions during the software design stage. For this purpose, we integrate support for application-level scheduling control in a high-level object-oriented modeling language, Real-Time ABS, in which executable specifications of method calls are given deadlines and real-time computational constraints. In Real-Time ABS, flexible application-specific schedulers may be specified by the user, i.e., developer, at the abstraction level of the high-level modeling language itself and associated with concurrent objects at creation time. Tool support for Real-Time ABS is based on an abstract interpreter that supports simulations and measurements of systems at the design stage.

[1]  Edward A. Lee Computing needs time , 2009, CACM.

[2]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[3]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[4]  Peter M. A. Sloot,et al.  Simulating Job Scheduling for Clusters of Workstations , 2000, HPCN Europe.

[5]  Einar Broch Johnsen,et al.  Lightweight Time Modeling in Timed Creol , 2010, RTRTS.

[6]  Elvira Albert,et al.  Cost Analysis of Concurrent OO Programs , 2011, APLAS.

[7]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[8]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[9]  Reiner Hähnle,et al.  ABS: A Core Language for Abstract Behavioral Specification , 2010, FMCO.

[10]  Richard Carlsson,et al.  Erlang and OTP in Action , 2010 .

[11]  Thomas R. Gross,et al.  Static Analysis of Dynamic Schedules and Its Application to Optimization of Parallel Programs , 2010, LCPC.

[12]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[13]  Einar Broch Johnsen,et al.  An Asynchronous Communication Model for Distributed Concurrent Objects , 2004, SEFM.

[14]  Kim G. Larsen,et al.  ECDAR: An Environment for Compositional Design and Analysis of Real Time Systems , 2010, ATVA.

[15]  Gordon S. Blair,et al.  An architecture for next generation middleware , 2009 .

[16]  Frank S. de Boer,et al.  Programming and deployment of active objects with application-level scheduling , 2012, SAC '12.

[17]  Frank S. de Boer,et al.  A Complete Guide to the Future , 2007, ESOP.

[18]  Edward G. Coffman,et al.  Computer and job-shop scheduling theory , 1976 .

[19]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[20]  Greg R Andrews Foundations of Parallel and Distributed Programming , 1999 .

[21]  Mor Harchol-Balter,et al.  Size-based scheduling to improve web performance , 2003, TOCS.

[22]  ÖlveczkyPeter Csaba,et al.  Semantics and pragmatics of Real-Time Maude , 2007 .

[23]  Mario Lauria,et al.  Application-specific scheduling for the organic grid , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[24]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[25]  Chun-Hsian Huang,et al.  Hardware task scheduling and placement in operating systems for dynamically reconfigurable SoC , 2009, J. Embed. Comput..

[26]  Alan Mycroft,et al.  Kilim: Isolation-Typed Actors for Java , 2008, ECOOP.

[27]  Andrei Tchernykh,et al.  Two Level Job-Scheduling Strategies for a Computational Grid , 2005, PPAM.

[28]  ÖlveczkyPeter Csaba,et al.  Specification of real-time and hybrid systems in rewriting logic , 2001 .

[29]  Peter C. Dibble Real-Time Java Platform Programming , 2002 .

[30]  Wang Yi,et al.  TIMES - A Tool for Modelling and Implementation of Embedded Systems , 2002, TACAS.

[31]  Wang Yi,et al.  Task automata: Schedulability, decidability and undecidability , 2007, Inf. Comput..

[32]  Gregory R. Andrews,et al.  Foundations of Multithreaded, Parallel, and Distributed Programming , 1999 .

[33]  Frank S. de Boer,et al.  Dating Concurrent Objects: Real-Time Modeling and Schedulability Analysis , 2010, CONCUR.

[34]  Arnd Poetzsch-Heffter,et al.  JCoBox: Generalizing Active Objects to Concurrent Components , 2010, ECOOP.

[35]  Peter C Dibble Real-Time Java Platform Programming: Second Edition , 2008 .

[36]  Andrew Sorensen,et al.  Programming with time: cyber-physical programming with impromptu , 2010, OOPSLA.

[37]  Giorgio C. Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series) , 2010 .

[38]  Albert Mo Kim Cheng,et al.  Real-time systems - scheduling, analysis, and verification , 2002 .

[39]  Mario Lauria,et al.  Application-specific scheduling for the organic grid , 2004, 2004 IEEE International Conference on Cluster Computing (IEEE Cat. No.04EX935).

[40]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[41]  Ching-Hsien Hsu,et al.  A Two-Level Scheduling Strategy for optimising communications of data parallel programs in clusters , 2010, Int. J. Ad Hoc Ubiquitous Comput..

[42]  Gordon D. Plotkin,et al.  The origins of structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[43]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .

[44]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[45]  Thomas Nolte Proceedings of the Work-in-Progress Session of the 16th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'10) , 2010, RTCSA 2010.