This paper presents a novel methodology to develop scheduling algorithms. The scheduling problem is phrased as a control problem, and control-theoretical techniques are used to design a scheduling algorithm that meets specific requirements. Unlike most approaches to feedback scheduling, where a controller integrates a "basic" scheduling algorithm and dynamically tunes its parameters and hence its performances, our methodology essentially reduces the design of a scheduling algorithm to the synthesis of a controller that closes the feedback loop. This approach allows the re-use of control-theoretical techniques to design efficient scheduling algorithms; it frames and solves the scheduling problem in a general setting; and it can naturally tackle certain peculiar requirements such as robustness and dynamic performance tuning. A few experiments demonstrate the feasibility of the approach on a real-time benchmark.
Despite rapid evolution, embedded computing systems increasingly feature resource constraints and workload uncertainties. To achieve much better system performance in unpredictable environments than traditional design approaches, a novel methodology, control-scheduling codesign, is emerging in the context of integrating feedback control and real-time computing. The aim of this work is to provide a better understanding of this emerging methodology and to spark new interests and developments in both the control and computer science communities. The state of the art of control-scheduling codesign is captured. Relevant research efforts in the literature are discussed under two categories, i.e., control of computing systems and codesign for control systems. Critical open research issues on integrating control and computing are also outlined.