Generalized Elastic Scheduling Problem Statement



A desirable property of any real-time system is the guarantee that it will perform at least beyond some pre-specified thresholds defined by system designers. This is usually not a concern under normal situations where analysis has been done offline to ensure system performance based on the regular workload. However, in response to an event such as user’s input or changing environment, the load of the system may dynamically change in such a way that a temporal overload condition occurs. The challenge, then, is to provide some mechanism to guarantee the minimum performance level under such circumstances.

Many periodic real-time task models have been proposed to extend timing requirements beyond the hard and soft deadlines based on the observation that jobs can be dropped without severely affecting performance ([1], [8]). Despite the success of such models in alleviating overload situations, it is sometimes more suitable to execute jobs less often instead of dropping them or allocating fewer cycles.

The work in [9] was among the first to address this type of requirements. Seto, et al. considered the problem of finding a feasible set of task periods as a non-linear programming problem which seeks to optimize a specific form of control performance measure [10]. Cervin et al. used optimization theory to solve the period selection problem online by adaptively adjusting task periods while optimizing a specific form of control performance [5]. Buttazzo and his colleagues proposed an elegant and flexible framework known as the elastic task model [2] where deadline misses are avoided by increasing tasks periods. The work in [4] extends the basic elastic task model to handle cases where the computation time is unknown, [3] incorporated a mechanism to handle resource constraints within the elastic framework, and [7] uses a control performance metric as a cost function to find an optimal sampling interval for each task.

This project focuses its attention on the elastic task model where the selection of task periods is central. The existing elastic scheduling algorithm determines task periods based on an elegant analogy between spring systems and task scheduling in which a task’s resistance to changing its period is viewed as a spring’s resistance to being compressed. In accordance with the principle of least action found in classical mechanics, this suggests that the elastic task model is really attempting to minimize some overall measure of task set’s energy, whose precise nature was not made clear in the original work.

The objective of this project was to generalize Buttazzo's original algorithm [6] to handle a wider class of scheduling problems. The project had several contributions. First, it introduced a general framework which formulates a trade-off between task set schedulability and a specific performance metric (such as task utilization) as an optimization problem. Such a framework allows for real-time systems under temporal overloads to graciously adapt by adjusting their performance level. Second, it proved the optimality of the existing task compression algorithm in [4]. Said algorithm allows for the period selection problem for tasks with deadlines equal periods to be solved optimally in an online manner. Third, the framework is further generalized to consider situations where task deadlines are less than task periods. Fourth, it provides and motivates the use of a framework for solving the deadline selection problem, which can be applied to some control systems with pre-determined sampling time. Finally, the framework can be used to solve other problems where the schedulability-performance trade-off is central. In this regard, generalized elastic scheduling may shed greater light on how best to implement event-triggered feedback control systems [11-12]



References:
  1. G. Bernat, A. Burns, and I LLamos (2001), A. Weakly hard real-time systems. Transactions on Computers 50, 4 (Apr. 2001), 308–321.
  2. G. Buttazzo, G. Lipari, and L. Abeni (1998). Elastic task model for adaptive rate control. In Proc. Real-Time Systems Symposium (1998), pp. 286–295.
  3. G. Buttazzo, G. Lipari, M. Caccamo, and L. Abeni (2002). Elastic scheduling for flexible workload management. Transactions on Computers 51, 3 (Mar. 2002), 289–302.
  4. M. Caccamo, B. Buttazzo and L. Sha (2000). Elastic feedback control. In Proc. Euromicro Conf. on Real-Time Systems (2000), pp. 121–128.
  5. A. Cervin, J. Eker, B. Bernhardsson and K-E Arzen (2002). Feedback-feedforward scheduling of control tasks. Real-Time Systems 23, 1 (July 2002), 25–53.
  6. Thidapat Chantem, Xiaobo Sharon Hu, and M.D. Lemmon (2009), Generalized Elastic Scheduling for Real-Time Tasks, IEEE Transactions on Computers, Volume 58, number 4, pages 480-495, March 2009.
  7. J. Eker, P. Hagander, and K-E Arzen (2000). A feedback scheduler for real-time controller tasks. Control Engineering Practice 8, 1369– 1378 (Dec. 2000), 12.
  8. G. Koren and D. Shasha (1995). Skip-over: Algorithms and complexity for overloaded systems that allow skips. In Proc. Real-Time Systems Symposium (1995), pp. 110–117.
  9. T-W Kuo and A. Mok (1991). Load adjustment in adaptive real-time systems. In Proc. Real-Time Systems Sympsium (1991), pp. 160–171.
  10. D. Seto, J. Lehoczky, and L. Sha (1998). Task period selection and schedulability in real-time systems. In Proc. Real-Time Systems Symposium (1998), pp. 188–199.
  11. P. Tabuada (2007). Event-triggered real-time scheduling of stabilizing control tasks. IEEE Transactions on Automatic Control, 52(9):1680–1685, September 2007.
  12. X. Wang and M.D. Lemmon (2009). Self-triggered feedback control systems with finite-gain l2 stability. IEEE Transactions on Automatic Control, 54(3):452–467, March 2009.