PID-based controls in computing systems: a brief survey and some research directions <s> ONE MODEL FOR MANY CONTROLS <s> In this paper, necessary and sufficient conditions for the existence of a common quadratic Lyapunov function for two stable second order discrete-time systems are derived. These are expressed in terms of the Schur stability of the matrix pencils. Methods for determining whether the conditions are satisfied can be carried out algebraically or by using root-loci. Work is currently in progress on the extension of the results to higher order systems. <s> BIB001 </s> PID-based controls in computing systems: a brief survey and some research directions <s> ONE MODEL FOR MANY CONTROLS <s> Abstract Many functions of operating systems are keen to be realised as feedback controllers. Doing so has a non negligible design impact, but also a significant payoff in terms of simplicity and generality. This paper presents a complete operating system scheduler, at present implemented in a microcontroller kernel, entirely composed of a PI-based control structure. The proposed scheduler is experimented with in several load conditions. In all of them, it performs in a comparable manner with respect to the classical (i.e., not control-based) policy optimised for that condition, as long as design assumptions such as schedulability are met. In addition, if some off-design situation is encountered, the proposed control-based scheduler definitely outperforms those not conceived as controllers. <s> BIB002
Consider the system described in the discrete time by is the control input, y(k) the controlled variable, g(k) a multiplicative disturbance (or equivalently, a time-varying gain), and d(k) an additive load one. Since g(k) is frequently interpreted as a variable "efficiency", as illustrated below, we assume (1) In uniprocessor preemptive scheduling the processor time received by a task at the time of the k-th intervention of the scheduler (y(k)) equals that before the said intervention (y(k − 1)) plus the time allotted to the task at that intervention (u(k − 1)) plus the effect of any phenomenon (d(k − 1)) causing the actually used time to differ from the allotted one; in this case g and µ are structurally unitary. (2) In batch data processing the amount of data processed by a task at the time of the k-th intervention of the resource allocator (y(k)) equals that before the said intervention (y(k − 1)) plus the data nominally processed in the time between the two interventions by the allotted computational resources. These resources are u(k − 1), and the nominal resource-to-processingspeed gain µ is multiplied by the time-varying "efficiency" g(k − 1), that accounts, among other effects, for the fact that different data may stress the allotted resources in an a priori unpredictably different manner; in this case d is structurally zero. (3) In queue-based services the length of a queue (y(k)) at the time of the k-th intervention of the manager allotting computational power to the corresponding server equals that before the said intervention -i.e., y(k − 1)) -plus the requests arrived in between the two interventions (d(k − 1)) minus the requests processed in the same time span, i.e., the computational power allotted at the beginning of the span (u(k − 1)) multiplied by a nominal gain µ, that represents the maximum server speed, and by the time-varying (or equivalently, data-dependent) efficiency g(k − 1). (4) In networks with multiple clocks and a time master the time error between each clock and the master at the k-th synchronisation event equals the same error after the previous synchronisation event (y(k − 1)) plus the integral d(k) of the slave-to-master clock skew (inverse of the normalised frequency difference) over the time span between the two events minus a correction u(k − 1) computed at the previous event; in this case g and µ are structurally unitary. As long as the control action is computed periodicallya hypothesis that can sometimes be relaxed but to which in this paper for simplicity we stick -the examples above should convince the reader that the equation "work accomplished now equals work accomplished at the last step plus allotted resource times efficiency plus additive effects", or convenient re-phrasings of it, indeed fit a vast number of physically heterogeneous applications. Adopting this paradigm, the differences among those applications reside in the presence or absence of the multiplicative and additive disturbance, in the way those disturbances can be characterised, and in the aspect of the reference signal to be tracked by the controlled variable. In any case, the aptitude of PI(D)-based controllers should be quite apparent. To exemplify, when subjecting (1), that in state space form reads to PI control, that for convenience we write as where e(k) = w(k) − y(k) is the error, w(k) being the reference signal, we get a closed-loop dynamics described by the LPV system with state x(k) = [x P (k) x C (k)] and dynamic matrix In force of Theorem 1 by BIB001 , the origin of the state space is a globally asymptotically stable equilibrium for the closed-loop system -in the linear context wehere stability analysis is most typically carried out -iff the matrix pencils −1 , and are Schur. In turn, by applying the conditions set forth in BIB001 , Section 4) it can be provencomputations are long and off-topic here, thus omitted for space limitations -that if g min is taken arbitrarily close to zero, which is reasonable and even conservative, then the pencils (6) are Schur iff so are A 1 and A 2 . Hence, with a simple model covering a variety of control cases, stability (in the sense above) is straightforward to assess also in the presence of both multiplicative and additive disturbances. Also, given the simplicity of the stability condition, virtually any PI tuning rule for integrating processes can be safely used, and this is why in the following we do not focus on tuning to make room for more interesting domain-specific considerations. We now illustrate the statement that "a simple model fits a variety of cases" a bit more in detail. The scheduling case, giving rise to a PI-based cascade structure, has already been treated in BIB002 , to which for brevity the reader is referred as the problem description therein -albeit at that time preliminary -fits very well the statements made here. As such, we concentrate on the other cases. Also, to answer in advance the objection -frequently encountered in the computer communitythat "our models are too simple to represent reality well enough to carry out any design", we notice that all the controls here briefly presented were tested on high-fidelity simulators, and quite often also on the real systems, yielding results in very good accordance with the model forecasts. The provided references contain details.