Papers by Tommaso Cucinotta

Software - Practice and Experience, Dec 29, 2017
In this paper, a mechanism is presented for reducing priority inversion in multi-programmed compu... more In this paper, a mechanism is presented for reducing priority inversion in multi-programmed computing systems. Contrarily to well-known approaches from the literature, this paper tackles cases where the dependency relationships among tasks cannot be known in advance to the operating system (OS). The presented mechanism allows tasks to explicitly declare said relationships, enabling the OS scheduler to take advantage of such information and trigger priority inheritance, resulting in reduced priority inversion. We present the prototype implementation of the concept within the Linux kernel, in the form of modifications to the standard POSIX condition variables code, along with an extensive evaluation including a quantitative assessment of the benefits for applications making use of the technique, as well as comprehensive overhead measurements. Also, we present an associated technique for theoretical schedulability analysis of a system using the new mechanism, which is useful to determine whether all tasks can meet their deadlines or not, in the specific scenario of tasks interacting only through remote procedure calls, and under partitioned scheduling.

International Conference on Networks, Apr 22, 2018
Upcoming 5G mobile networks strongly rely on Software-Defined Networking and Network Function Vir... more Upcoming 5G mobile networks strongly rely on Software-Defined Networking and Network Function Virtualization that allow exploiting the flexibility in resource allocation provided by the underlying virtualized infrastructures. These paradigms often employ platform abstractions designed for cloud applications which have not to deal with the stringent timing constraints characterizing virtualized network functions. On the other hand, various techniques exist to provide advanced, predictable scheduling of multiple run-time environments, e.g., containers, within virtualized hosts. In order to let high-level resource management layers take advantage of these techniques, this paper proposes to extend network service descriptors and the Virtualization Infrastructure Manager. This enables Network Function Virtualization orchestrators to deploy components exploiting real-time processor scheduling at the hypervisor or host OS level, for enhanced stability of the provided performance.

IEEE Transactions on Cloud Computing, 2023
In this paper, the problem of temporal isolation among containerized software components running ... more In this paper, the problem of temporal isolation among containerized software components running in shared cloud infrastructures is tackled, proposing an approach based on hierarchical real-time CPU scheduling. This allows for reserving a precise share of the available computing power for each container deployed in a multi-core server, so to provide it with a stable performance, independently from the load of other co-located containers. The proposed technique enables the use of reliable modeling techniques for end-to-end service chains that are effective in controlling the application-level performance. An implementation of the technique within the well-known OpenStack cloud orchestration software is presented, focusing on a use-case framed in the context of network function virtualization. The modified OpenStack is capable of leveraging the special real-time scheduling features made available in the underlying Linux operating system through a patch to the in-kernel process scheduler. The effectiveness of the technique is validated by gathering performance data from two applications running in a real test-bed with the mentioned modifications to OpenStack and the Linux kernel. A performance model is developed that tightly models the application behavior under a variety of conditions. Extensive experimentation shows that the proposed mechanism is successful in guaranteeing isolation of individual containerized activities on the platform.

Providing innovative resource-efficient solutions able to mitigate temporal interference among cl... more Providing innovative resource-efficient solutions able to mitigate temporal interference among cloud services, concurrently sharing the same underlying platform, is crucial to deploy highly time-sensitive applications at the edge of the network where resources are strongly restrained, and timing constraints are stringent. A notable example is provided by the allocation of virtualized network functions in the radio access network of modern mobile networks, such as 5G. This paper describes a kernel mechanism that can be applied to the design of an architecture providing fine-grain control of the temporal interferences among concurrent real-time services while avoiding overheads related to machine virtualization. On top of them, a model is proposed to meet the required endto-end application performance through tuning of parameters in the underlying novel architecture. We show that theoretical latency/load curves match closely with experimental data gathered from a real implementation carried out using both a networking microbenchmark and a real IMS application.

This paper investigates application of feedback based control mechanisms to the problem of schedu... more This paper investigates application of feedback based control mechanisms to the problem of scheduling soft real-time tasks, so to meet certain quality of service (QoS) requirements. First, a stochastic model is introduced for a task evolving under the effect of a feedback based controller, where the uncertainties due to the apriori unknown execution times of the jobs are catched in terms of an input stochastic process. The problem of control is formalised in the stochastic domain, by expressing QoS requirements in terms of stochastic properties to be satisfied by the system state evolution process. Control laws satisfying some of the stated requirements are introduced, and fundamental facts are proved on the closed loop system dynamics under the effect of such controllers, such as stochastic stability. Finally, experimental results are presented gathered by an implementation of the controllers in the Linux kernel, showing feasibility and effectiveness of the proposed approach in controlling the QoS experienced during a video decoding application.
Reservation-based scheduling has been proved to be an effective solution for serving virtual mach... more Reservation-based scheduling has been proved to be an effective solution for serving virtual machines when some kind of real-time guarantees are required. However, the virtualisation mechanism and the algorithm used for implementing CPU reservations might have a large impact on the guarantees provided to tasks running inside the VMs. This paper presents an experimental evaluation of some different solutions, showing the different trade-offs and the advantages of using more advanced scheduling algorithms.

SIGBED review, Nov 25, 2019
In recent years, there has been a growing interest in supporting component-based software develop... more In recent years, there has been a growing interest in supporting component-based software development of complex real-time embedded systems. Techniques such as machine virtualisation have emerged as interesting mechanisms to enhance the security of these platforms, while real-time scheduling techniques have been proposed to guarantee temporal isolation of different virtualised components sharing the same physical resources. This combination also highlighted criticalities due to overheads introduced by hypervisors, particularly for low-end embedded devices. This led to the need of investigating deeper into solutions based on lightweight virtualisation alternatives, such as containers. In this context, this paper proposes to use a real-time deadline-based scheduling policy built into the Linux kernel to provide temporal scheduling guarantees to different co-located containers. The proposed solution extends the SCHED_DEADLINE scheduling policy to schedule Linux control groups, allowing user threads to be scheduled with fixed priorities inside the control group scheduled by SCHED_DEADLINE. The proposed mechanism can be configured via control groups, and it is compatible with commonly used tools such as LXC, Docker and similar. This solution is compatible with existing hierarchical real-time scheduling analysis, and some experiments demonstrate consistency between theory and practice.

Counting more than two billion devices, Android is nowadays one of the most popular open-source g... more Counting more than two billion devices, Android is nowadays one of the most popular open-source general-purpose operating systems, based on Linux. Because of the diversity of applications that can be installed, it manages a number of di erent workloads, many of them requiring performance/QoS guarantees. When running audio processing applications, the user would like an uninterrupted, glitch-free, output stream that reacts to the user input, typically with a delay not bigger than 4− 10 ms, while keeping the energy consumption of the mobile device as low as possible. This work focuses on improvements to the real-time audio processing performance on Android that preserves energy-e ciency. Such improvements are achieved by using a deadline based scheduler and an adaptive scheduling strategy that dynamically and proactively modulates the allocated runtime. The proposed strategy is evaluated through an extensive experimentation, showing that 1) compared to the existing way to ensure low-l...

Software: Practice and Experience, 2017
In this paper, a mechanism is presented for reducing priority inversion in multi-programmed compu... more In this paper, a mechanism is presented for reducing priority inversion in multi-programmed computing systems. Contrarily to well-known approaches from the literature, this paper tackles cases where the dependency relationships among tasks cannot be known in advance to the operating system (OS). The presented mechanism allows tasks to explicitly declare said relationships, enabling the OS scheduler to take advantage of such information and trigger priority inheritance, resulting in reduced priority inversion. We present the prototype implementation of the concept within the Linux kernel, in the form of modifications to the standard POSIX condition variables code, along with an extensive evaluation including a quantitative assessment of the benefits for applications making use of the technique, as well as comprehensive overhead measurements. Also, we present an associated technique for theoretical schedulability analysis of a system using the new mechanism, which is useful to determine whether all tasks can meet their deadlines or not, in the specific scenario of tasks interacting only through remote procedure calls, and under partitioned scheduling.
In this paper, we propose to use resource reservations scheduling and feedback-based allocation t... more In this paper, we propose to use resource reservations scheduling and feedback-based allocation techniques for the provisioning of proper timeliness guarantees to audio processing applications. This allows real-time audio tasks to meet the tight timing constraints characterizing them, even if other interactive activities are present in the system. The JACK sound infrastructure has been modified, leveraging the real-time scheduler present in the Adaptive Quality of Service Architecture (AQuoSA). The effectiveness of the proposed approach, which does not require any modifiction to existing JACK clients, is validated through extensive experiments under different load conditions.
Lecture Notes in Computer Science, 2011
In this paper we tackle the problem of providing Quality of Service guarantees to virtualized app... more In this paper we tackle the problem of providing Quality of Service guarantees to virtualized applications, focusing on computing and networking guarantees. We propose a mechanism for providing temporal isolation based on a CPU real time scheduling strategy. This allows not only to have control over the individual virtual machine throughput, but also on the activation latency and response-time by which virtualized software components react to external events. We show experimental results gathered on a real system validating the approach. ⋆ The research leading to these results has received funding from the European Community's Seventh Framework Programme FP7 under grant agreements n. 214777 "IRMOS-Interactive Realtime Multimedia Applications on Service Oriented Infrastructures" and n. 248465 "S(o)OS -Service-oriented Operating Systems.
2011 IEEE International Conference on Service-Oriented Computing and Applications (SOCA), 2011
Reservation-based scheduling has been proved to be an effective solution for serving virtual mach... more Reservation-based scheduling has been proved to be an effective solution for serving virtual machines when some kind of real-time guarantees are required. However, the virtualisation mechanism and the algorithm used for implementing CPU reservations might have a large impact on the guarantees provided to tasks running inside the VMs. This paper presents an experimental evaluation of some different solutions, showing the different trade-offs and the advantages of using more advanced scheduling algorithms.

2004 43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat. No.04CH37601), 2004
This paper investigates application of feedback based control mechanisms to the problem of schedu... more This paper investigates application of feedback based control mechanisms to the problem of scheduling soft real-time tasks, so to meet certain quality of service (QoS) requirements. First, a stochastic model is introduced for a task evolving under the effect of a feedback based controller, where the uncertainties due to the apriori unknown execution times of the jobs are catched in terms of an input stochastic process. The problem of control is formalised in the stochastic domain, by expressing QoS requirements in terms of stochastic properties to be satisfied by the system state evolution process. Control laws satisfying some of the stated requirements are introduced, and fundamental facts are proved on the closed loop system dynamics under the effect of such controllers, such as stochastic stability. Finally, experimental results are presented gathered by an implementation of the controllers in the Linux kernel, showing feasibility and effectiveness of the proposed approach in controlling the QoS experienced during a video decoding application.

Real-Time Systems, 2005
Reservation based (RB) scheduling is a class of scheduling algorithms that is well-suited for a l... more Reservation based (RB) scheduling is a class of scheduling algorithms that is well-suited for a large class of soft real-time applications. They are based on a "bandwidth" abstraction, meaning that a task is given the illusion of executing on a dedicated slower processor. In this context, a crucial design issue is deciding the bandwidth that each task should receive. The point we advocate is that, in presence of large fluctuations on the computation requirements of the tasks, it can be a beneficial choice to dynamically adapt the bandwidth based on QoS measurements and on the subsequent application of feedback control (adaptive reservations). In this paper, we present two novel contributions to this research area. First, we propose three new control algorithms inspired to the ideas of stochastic control. Second, we present a flexible and modular software architecture for adaptive reservations. An important feature of this architecture is that it is realised by means of a minimally invasive set of modifications to the Linux kernel.

Real-Time Systems, 2012
The Multiprocessor Bandwidth Inheritance (M-BWI) protocol is an extension of the Bandwidth Inheri... more The Multiprocessor Bandwidth Inheritance (M-BWI) protocol is an extension of the Bandwidth Inheritance (BWI) protocol to symmetric multiprocessor systems. Similarly to Priority Inheritance, M-BWI lets a task that has locked a resource execute in the resource reservations of the blocked tasks, thus reducing their blocking time. The protocol is particularly suitable for open systems where different kinds of tasks dynamically arrive and leave, because it guarantees temporal isolation among independent subsets of tasks without requiring any information on their temporal parameters. Additionally, if the temporal parameters of the interacting tasks are known, it is possible to compute an upper bound to the interference suffered by a task due to other interacting tasks. Thus, it is possible to guarantee a subset of interacting hard real-time tasks. Finally, the M-BWI protocol is neutral to the underlying scheduling policy, because it can be implemented both in global, clustered and partitioned scheduling. After introducing the M-BWI protocol, in this paper we formally prove its isolation properties, and propose a schedulability analysis for hard real-time tasks. Then, we describe our implementation of the protocol for the LIT M U S RT real-time testbed, and measure its overhead. Finally, we compare M-BWI against FMLP, another protocol for resource sharing in multiprocessor systems, introducing a schedulability analysis for M-BWI that proves to be less pessimistic than existing analysis techniques for FMLP.

Journal of Systems Architecture, 2011
Management, allocation and scheduling of heterogeneous resources for complex distributed real-tim... more Management, allocation and scheduling of heterogeneous resources for complex distributed real-time applications is a challenging problem. Timing constraints of applications may be fulfilled by a proper use of real-time scheduling policies, admission control and enforcement of timing constraints. However, it is not easy to design basic infrastructure services that allow for an easy access to the allocation of multiple heterogeneous resources in a distributed environment. In this paper, we present a middleware for providing distributed soft real-time applications with a uniform API for reserving heterogeneous resources with real-time scheduling capabilities in a distributed environment. The architecture relies on standard POSIX OS facilities, such as time management and standard TCP/IP networking services, and it is designed around CORBA, in order to facilitate modularity, flexibility and portability of the applications using it. However, real-time scheduling is supported by proper extensions at the kernel-level, plugged within the framework by means of dedicated resource managers. Our current implementation on Linux supports reservation of CPU, disk and network bandwidth. However, additional resource managers supporting alternative real-time schedulers for these resources, as well as additional types of resources, may be easily added. We present experimental results gathered on both synthetic applications and a real multimedia video streaming case study, showing advantages deriving from the use of the proposed middleware. Finally, overhead figures are reported, showing sustainability of the approach for a wide class of complex, distributed, soft real-time applications.

IEEE Transactions on Computers, 2010
We consider soft real-time applications organised as pipelines of tasks using resources of differ... more We consider soft real-time applications organised as pipelines of tasks using resources of different type (communication, computation, storage). The applications are assumed to be periodically triggered and the different tasks communicate by unidirectional buffers. The problem we cope with is how to effectively share the resources so that some specified Quality of Service (QoS) requirements are met. The QoS considered here is tightly related to the end-to-end temporal behaviour of the application. To compensate for time-varying resource requirements, we advocate a distributed control approach whereby the scheduling parameters of each task are tuned depending on the temporal behaviour of the application measured by appropriate sensors. The use of real-time scheduling strategies enables a mathematically safe control design, in which the QoS requirements are translated into formal control goals, and formal proofs are provided on the ability of the controller to fulfil these goals. We also offer extensive simulations that validate the approach for multimedia applications.
In this paper we present an architecture design for supporting real time computing on Linux. This... more In this paper we present an architecture design for supporting real time computing on Linux. This architecture focuses on improving the usability of real time capabilities for applications by providing a unified Application Programming Interface. Applications can therefore use it without having to know exactly what the underlying scheduling algorithm is. Still, the real-time computing capabilities of the platform may be exploited to the maximum extent. The main aim of the paper is to gather feedback from the community about the design and directions for development. * The research leading to these results has received funding from the European Community's Seventh Framework Programme FP7 under grant agreement n. 214777 "IRMOS-Interactive Realtime Multimedia Applications on Service Oriented Infrastructures" and n. 248465 "S(o)OS--Service-oriented Operating Systems".

In this paper the problem of providing network response guarantees to multiple Virtual Machines (... more In this paper the problem of providing network response guarantees to multiple Virtual Machines (VMs) co-scheduled on the same set of CPUs is tackled, where the VMs may have to host both responsive real-time applications and batch compute-intensive workloads. When trying to use a real-time reservationbased CPU scheduler for providing stable performance guarantees to such a VM, the compute-intensive workload would be scheduled better with high time granularities, to increase performance and reduce system overheads, whilst the real-time workload would need lower time granularities in order to keep the response-time under acceptable levels. The mechanism that is proposed in this paper mixes both concepts, allowing the scheduler to dynamically switch between fine-grain and coarse-grain scheduling intervals depending on whether the VM is performing network operations or not. A prototype implementation of the proposed mechanism has been realized for the KVM hypervisor when running on Linux, modifying a deadline-based real-time scheduling strategy for the Linux kernel developed previously. The gathered experimental results show that the proposed technique is effective in controlling the response-times of the real-time workload inside a VM while at the same time it allows for an efficient execution of the batch compute-intensive workload.
ACM Transactions on Embedded Computing Systems, 2011
We propose an adaptive scheduling technique to schedule highly dynamic multimedia tasks on a CPU.... more We propose an adaptive scheduling technique to schedule highly dynamic multimedia tasks on a CPU. We use a combination of two techniques: the first one is a feedback mechanism to track the resource requirements of the tasks based on “local” observations. The second one is a mechanism that operates with a “global” visibility, reclaiming unused bandwidth. The combination proves very effective: resource reclaiming increases the robustness of the feedback, while the identification of the correct bandwidth made by the feedback increases the effectiveness of the reclamation. We offer both theoretical results and an extensive experimental validation of the approach.
Uploads
Papers by Tommaso Cucinotta