Elastic scheduling for flexible workload management

G.C. Buttazzo, G. Lipari, M. Caccamo, L. Abeni
2002 IEEE transactions on computers  
AbstractÐAn increasing number of real-time applications, related to multimedia and adaptive control systems, require greater flexibility than classical real-time theory usually permits. In this paper, we present a novel scheduling framework in which tasks are treated as springs with given elastic coefficients to better conform to the actual load conditions. Under this model, periodic tasks can intentionally change their execution rate to provide different quality of service and the other tasks
more » ... an automatically adapt their periods to keep the system underloaded. The proposed model can also be used to handle overload conditions in a more flexible way and to provide a simple and efficient mechanism for controlling a system's performance as a function of the current load. Index TermsÐReal-time scheduling, overload management, rate adaptation. ae 1I NTRODUCTION P ERIODIC activities represent the major computational demand in many real-time applications since they provide a simple way to enforce timing constraints through rate control. For instance, in digital control systems, periodic tasks are associated with sensory data acquisition, low-level servoing, control loops, action planning, and system monitoring. In such applications, a necessary condition for guaranteeing the stability of the controlled system is that each periodic task is executed at a constant rate whose value is computed at the design stage based on the characteristics of the environment and on the required performance. For critical control applications (i.e., those whose failure may cause catastrophic consequences), the feasibility of the schedule has to be guaranteed a priori and no task can change its period while the system is running. Such a rigid framework in which periodic tasks operate is also determined by the schedulability analysis that must be performed on the task set to guarantee its feasibility under the imposed constraints. To simplify the analysis, in fact, some feasibility tests for periodic tasks are based on quite rigid assumptions. For example, in the original Liu and Layland paper [13] on the Rate Monotonic (RM) and the Earliest Deadline First (EDF) algorithms, a periodic task i is modeled as a cyclical processor activity characterized by two parameters, the computation time C i and the period T i , which are considered to be constant for all task instances. This is a reasonable assumption for most realtime control systems, but it can be too restrictive for other applications. For example, in multimedia systems, timing constraints can be more flexible and dynamic than control theory usually permits. Activities such as voice sampling, image acquisition, sound generation, data compression, and video playing are performed periodically, but their execution rates are not as rigid as in control applications. Missing a deadline while displaying an MPEG video may decrease the quality of service (QoS), but does not cause critical system faults. Depending on the requested QoS, tasks may increase or decrease their execution rate to accommodate the requirements of other concurrent activities. Even in some control applications, there are situations in which periodic tasks could be executed at different rates in different operating conditions. For example, in a flight control system, the sampling rate of the altimeters is a function of the current altitude of the aircraft: the lower the altitude, the higher the sampling frequency. A similar need arises in robotic applications in which robots have to work in unknown environments where trajectories are planned based on the current sensory information. If a robot is equipped with proximity sensors, in order to maintain a desired performance, the acquisition rate of the sensors must increase whenever the robot is approaching an obstacle. In other situations, the possibility of varying tasks' rates increases the flexibility of the system in handling overload conditions, providing a more general admission control mechanism. For example, whenever a new task cannot be guaranteed by the system, instead of rejecting the task, the system can try to reduce the utilizations of the other tasks (by increasing their periods in a controlled fashion) to decrease the total load and accommodate the new request. Unfortunately, there is no uniform approach for dealing with these situations. For example, Kuo and Mok [10] propose a load scaling technique to gracefully degrade the workload of a system by adjusting the periods of processes. In this work, tasks are assumed to be equally important and the objective is to minimize the number of fundamental frequencies to improve schedulability under static priority assignments. In [18] , Nakajima and Tezuka show how a real-time system can be used to support an adaptive application: Whenever a deadline miss is detected, the
doi:10.1109/12.990127 fatcat:sy3kpt2uozf3bnniq6k3of6xmm