Control and control-based design of computing systems and networks
Motivation and rationale |
Modern
computing systems increasingly require automation. For example,
accurate dynamic resource provisioning is becoming crucial for cloud
applications, to maintain stricter and stricter service level
agreements without undue operating costs. On this and neighbouring
subjects, there is both a significant research effort and a high
stakeholders' interest. The rationale - and the innovative peculiarity - of my and my group's research, is to go beyond the idea of introducing control components in an already functional computing system, on which there is a significant literature, and to adopt a control-centric approach right from the design of the said system - a subject hardly addressed before. For example, instead of building a feedback controller to modify the priorities of a scheduler to match some goal, the idea is to build the entire scheduler as a controller. Sticking to this example, not having an existing scheduler as part of the controlled system greatly simplifies the modelling of that system, allowing to specify and assess its controlled behaviour in a rigorous and formal manner. On the other hand, however, this new approach implies that for some computing system components, controllers become vital, whence the need for an extremely solid connection between methodologies and implementation techniques. |
Methodological achievements |
The
proposed design approach primarily requires to model only the phenomena
- e.g., the accumulation of CPU time by an application - that allow for
(quasi-)first-principle laws: the rest is control, not controlled
system, and needs designing as control. Once this viewpoint is taken,
numerous problems reveal a surprising uniformity - i.e., much of their
alleged diversity is explained by the pre-existing management layers
(like the priority-based scheduler above) that the proposed novel
approach aims at removing from the loop. Putting this general idea to work, as briefly detailed below, several heterogeneous problems were uniformly formulated as feedback control of discrete-time (but in general not sampled-signals) dynamic systems, often linear and time-invariant, sometimes LTV/LPV, possibly switching. It was also shown that in many cases, uncertainty can be described in terms of disturbance generators, hence relegated to inputs for the control loops with apparent advantages. Control schemes were devised to fully exploit the above peculiarities of the controlled systems, and to result in computationally lightweight controllers, for a minimal system overhead. This sometimes required to apply event-based control, hence addressing the consequent stability and performance enforcement issues, plus those caused by quantisation when high precision is required. Work was also initiated on relating the proposed approach with alternative "control" ones in the computer domain. |
Technological achievements |
The
approach was applied at very different abstraction levels. In cloud
applications, for example, two-digit percent reductions of resource
over-provisioning were achieved with respect to the state of the art
without service level violations, and the recovery of the system from
temporary such violations - resources are never infinite and
unpredictably large disturbance can happen - was made faster and
smoother. In scheduling for embedded microcontrollers, weighted
fairness and responsiveness were made enforceable with a single
algorithm for all types of tasks (batch, periodic, and so on) by simply
modifying control and set point generation parameters. In embedded
systems subject to variable and data-dependent load, power optimisation
was pursued by dynamic resource allocation. In wireless network clock synchronisation, sub-microsecond precision was achieved with negligible use of energy and channel, and this precision is now being exploited to create a multi-hop time deterministic wireless MAC protocol. In memory management, a technique to reduce unpredictable system slowdowns by active swap-in was proposed. In thermal/power/performance management for high-density CPUs, a smooth thermal behaviour was obtained, via event-based control and a mixed hardware/software realisation, with very low interrupt rates; on this, a patent application was filed. All of the above was assessed formally, pre-tested in simulation, and then implemented on the real systems. |
Open issues and work in progress |
On
the methodological front, some technical hypotheses are being tackled
for possible relaxation or removal - mainly because the consequent
solutions solidly proved to work in practice also if the case is
slightly outside the theoretical validity limits of the used technique.
Moreover, it would be interesting to somehow qualify the set of
problems for which the proposed approach is preferable; to date, in
fact, the main effort has been more to show the potential of the
approach by creating applications along it, than to reason on the
approach per se. Most
important, finally, there is the need - and the initiated work is
progressing - to relate control-centric specifications to the quality
metrics used in computing systems, which is absolutely not trivial. On the application side, other domains are being considered, like peripheral management, multi-core scheduling and optimal load distribution, real-time protocols (which is of interest also for control systems, as there are reasonable expectations for an improvement in network communication time determinism), adaptive queuing networks, and big data applications. Work is also in progress on simulation models suited for system-level studies, where fine-grained phenomena are present but adequately summarised (e.g., power dissipation in a CPU is viewed as a stochastic process instead of the result of an instruction-level simulation of the running software). Expectations are to soon allow comprehending in the same simulator, for example, the behaviour of the software load and the thermal management of the hosting datacentre. The so induced holistic insight, it turn, is expected to foster a more efficient management of the overall system. |
Outlook and vision |
The trend for more control in computers and networks is evident. The need for not only adding control to systems often not conceived for being controlled, but also for designing
systems with control as an inherent component, is not so evident---if
not to those who have experienced the advantages of the proposed
approach. The challenge to face is thus not only to develop suitable
control methodologies, but also - which is more difficult - to have the
computing science and engineering community view the systems and
control theory as a design paradigm, instead of just as a bookshelf of
algorithms to plug in an already structured system. On this front, the effort is at present directed to increasing the visibility of the proposed techniques and methodologies. To date this research has already generated interdisciplinary contacts and co-operations, in the form of joint results with computer science/engineering groups ans researchers, and of participations to funded projects, typically by proposing to endow WPs with "control content" in the sense above, and contributing to their realisation. Although the addressed topic is definitely cross-domain and therefore far from easy to promote, owing also to the significant perspective shifts it often entails, expectations are overall quite encouraging. |