Project : popart
Section: New Results
The real-time community has usually considered that control tasks have fixed periods, hard deadlines and worst-case execution times. This assumption has served the separation of control and scheduling designs, but has led to underutilization of CPU resources. However current real-time design methods and associated analysis tools do not provide a model flexible enough to fit well with control systems engineering requirements.
Scheduling for regulation
Control systems are often designed using a set of cooperating periodic modules running under control of a real-time operating system. A correct behavior of the closed-loop controller requires that the system meets timing constraints like periods and latencies, which are often expressed as deadlines. Well known scheduling policies, such as Rate Monotonic for fixed priorities and EDF for dynamic priorities assign priorities according to timing parameters, respectively sampling periods and deadlines. They are said ``optimal'' as they maximize the number of tasks sets which can be scheduled with respect of deadlines, under some restrictive assumptions.
They hardly take into account precedence and synchronization constraints which naturally appear in a control algorithm. The relative urgency or criticality of the control tasks can be unrelated with the timing parameters. Thus, the timing requirements of control systems w.r.t. the desired control goal expressed as a performance index do not fit well with scheduling policies purely based on schedulability tests.
Within our approach the control system timing requirements are captured through a partition in control paths whose fixed priorities are assigned according to their relative urgency. Latencies are managed through precedence constraints and more or less tight synchronization between modules. The implementation uses the fixed-priority based preemption service of an off-the-shelf real-time operating system. Such a system can be modeled with timed event graphs, and its temporal behavior can be analyzed off-line using the underlying (max,plus) algebra. This methodology is supported by the development version of Orccad. It will be further improved using a QoS management of the timing constraints to fully benefit from the intrinsic robustness of closed-loop controllers w.r.t. timing uncertainties.
Some preliminary results have been obtained by providing, in the case of an inverted pendulum, a set of controllers (with different sampling periods), able to be robust according to timing uncertainties (represented as input delays) .
Regulation for scheduling
Taking into account the unsuitability of current real-time design to capture feedback control systems requirements naturally leads to use control/scheduling co-design. This closer interaction is particularly needed for control applications requiring high degrees of flexibility or when computing resources are limited. However while off-line methods can handle control requirements they cannot easily handle timing uncertainties due to varying execution times, dynamic reconfigurations or network induced delays.
Thus it can be useful to consider more dynamic solutions, i.e. to adapt the execution of the control task (period and value) according to the availability of the resources. This is called feedback scheduling, the purpose of which is to deal with on-line trade-offs between control performance and computing resources (CPU time and communication bandwidth) utilization.
The idea consists in adding to the process controller an outer sampled feedback loop ("scheduling regulator") to control the scheduling parameters as a function of a QoC (Quality of Control) measure. The QoC criterion captures the control performance requirements and the problem can be stated as QoC optimization under constraint of available computing resources. However preliminary studies suggest that a direct synthesis of the scheduling regulator as an optimal control problem leads, when it is tractable, to a solution too costly to be implemented in real-time. Practical solutions will be found in the available control toolbox or in enhancements and adaptation of current control theory.
Feedback scheduling is a dynamic approach allowing to better use the computing resources, in particular when the workload changes e.g. due to the admission of a new task. We propose in figure 2 a hierarchical control structure. The feedback scheduler controls the CPU activity according to the computing resource availability (measured through some computing load metric) by adjusting the periods of the tasks used in the process controller(s). The feedback scheduler is here implemented as an application task that runs in parallel with the control task, with a higher priority. It executes as a periodic task, with a period , larger than the sampling periods of the control tasks, in order to change the sampling period only when resource availability changes have been observed.
while the outer loop should control a composite of QoC and QoS we focussed only on the control of the computing load;
as the task periods directly affect the computing load they have been chosen as actuators. They can be implemented through software variable clocks;
several methods for measuring the computing load have been evaluated;
as timing uncertainties cannot be avoided and are difficult to model or measure, the choice of control algorithms focuses on robustness w.r.t. unknown delays, e.g. using recent results in control theory.
Experiments are implemented using a modified Orccad runtime under Linux/RTAI. The results show that the method provides both robustness w.r.t. unmodelled delays and a controlled utilization of the computing resource. Further work will study improved versions of robust controllers, a process requirements based formulation of QoC/QoS criteria and a full implementation of the system including QoS management issues.