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.