|This site uses
Last updated on
28 October 2023
Here you can find a list of talks and presentations given by myself at various events. For each presentation, you can find the a short abstract and a URL for downloading or viewing the presentation.
Controlling end-to-end service quality, and particularly real-time performance and reliability, of time-sensitive applications in cloud environments is overly challenging. The problem is even harder when trying to switch from the earlier world of network functions shipped as physical boxes, to the emerging paradigm of virtualized cloud-ready elastic network functions, where still the "5 9s" and tight sub-second real-time performance requirements as coming from precise SLAs have to be met. This talk provides an overview of past and ongoing research carried out at Bell Labs on these challenging issues.
The continuous evolution of computation and communication technologies is causing a paradigm shift in our own idea of computing. Indeed, the widespread availability of broadband connections is simply leading to the end of the Personal Computer era, marking the beginning of a new era where computing is mostly distributed. As more and more content is available remotely, users’ need for remote computing grows higher. Not only do users delegate heavy-weight and off-line computations to remote servers, but they expect more and more interactive and real-time applications to be readily available on demand, as witnessed by the increasing use of on-line collaborative document editing or video authoring services, for example.
Being a major driver to the Cloud Computing model, a key role in the new computing panorama is being played by virtualization. With the possibility to host multiple virtualized machines seamlessly onto the same physical hardware, the possibility to create virtual network overlays abstracting away from the actual network topology, and the possibility to dynamically live-migrate virtualized machines while they are running, virtualization technologies constitute an enabler for flexible and efficient management of physical resources in data centers. However, an application domain where the provisioning of interactive on-line services with nearly “real-time” responsiveness remains challenging from a technical viewpoint is the domain of multimedia.
This talk summarizes key research findings in the area of real-time performance and predictability for virtualized multimedia applications, highlighting some of the research questions that still remain unaddressed. Furthermore, additional on-going research at Bell Labs that promises to address some of the open questions is shortly presented.
In this talk, some results from joint investigations between Bell Labs and the Real-Time Systems Laboratory (RETIS) of Scuola Superiore Sant'Anna in Pisa are summarised, in the field of scheduling for soft real-time and multimedia applications. By means of experimental results mainly gathered by modifying the Linux kernel, it is shown how it is possible to increase the predictability of real-time applications even on a General Purpose OS like Linux. This finds interesting applications in a very industrially relevant field like Cloud Computing for multimedia, interactive and real-time applications. By a proper use of scheduling techniques, it is possible to increase the opportunities for server consolidation by achieving a predictable performance of Virtual Machines (VMs) despite the unpredictability due to co-scheduling of multiple VMs on the same physical host, CPU and core.
There are a set of new real-time scheduling algorithms being developed for the Linux kernel, which provide temporal isolation among tasks. These include an implementation of the POSIX sporadic server (SS) and a deadline-based scheduler. These are based on the specification of the scheduling guarantees needed by the kernel in terms of a budget and a period. This presentation aims to tackle the issues related to how to design a proper kernel-space / user-space interface for accessing such new functionality. For the SS, a POSIX compliant implementation would break binary compatibility. However, the currently implemented API seems to be lacking some important features, like a sufficient level of extensibility. This would be required for example for adding further parameters in the future, e.g., deadlines different from periods, soft (i.e., work-conserving) reservations, how to mix power management in the loop (if ever), hierarchical scheduling, etc.
In this talk, the research activities going on at the Real-Time Systems Laboratory (RETIS) of Scuola Superiore Sant'Anna in Pisa is summarised, in the field of scheduling for soft real-time and multimedia applications. By means of experimental results mainly gathered by modifying the Linux kernel, it is shown how it is possible to get a tremendous increase in the predictability of real-time applications even on a General Purpose OS like Linux. This finds interesting applications in a very industrially relevant field like Cloud Computing for multimedia, interactive and real-time applications. It is shown how, by a proper use of scheduling techniques, it is possible to increase the opportunities for server consolidation by achieving a predictable performance of Virtual Machines (VMs) despite the unpredictabilities due to co-scheduling of multiple VMs on the same physical host, cpu, and core.
Over the past years, real-time technologies, traditionally developed for safety-critical systems, have been applied within new application domains, including consumer electronics (e.g. cellular phones, PDAs), multimedia (e.g. video servers, VoIP gateways), telecommunication networks and others. Recently, Information and Communications Technologies (ICTs) are moving towards a new generation of business models for service provisioning, where connectivity will represent, for users, only the basic point of access to an infinity of online services. The widespread availability of high-speed network connections puts the foundations of new paradigms of ICT usage and software development, where more and more of the resources needed by users are provisioned remotely. In the Internet of the Cloud Computing era, distributed computing is likely to become much more widespread than today, not only for activities related to batch processing and storage, but also for interactive and (soft) real-time applications. To achieve the level of determinism needed to run real-time tasks inside a VM, the approach envisaged is to use well established real-time scheduling techniques, and in particular resource reservations, for scheduling the VMs. The scheduler is a variation of the Constant Bandwidth Server (CBS) implementing hard reservations. In the workshop, the basic real-time reservation model is presented and various appliances are presented, e.g. the integration of the CBS in mainstream Linux, considerations of application responsiveness and performance stability, automatic identification of scheduling parameters, adaptive reservations, scheduling of multi-threaded virtualized applications on multi-processor systems, feedback-based scheduling and probabilistic response time guarantees for distributed workflow deployments.
The purpose of this tutorial is to provide an overview of the main characteristics of the real-time scheduler developed by the Real-Time Systems Laboratory of Scuola Superiore Sant'Anna in the context of the IRMOS European Project. Also, the students will learn how to compile, configure, install and make a basic use of the scheduler for real-time and multimedia applications on Linux.
Future computing platforms are expected to present a paradigm shift. The trend has already begun with multi-core systems. However, it is well-known that these systems do not scale well, as keeping a coherent view of the same shared memory across a large number of cores may hinder the expected performance gains. One important problem that needs to be addressed is how to properly schedule the different activities in the system so that all timing constraints are respected. In order to keep performance under control, especially for real-time applications, it is important to precisely control how computation is distributed across nodes and when it is executed; and how and when messages are enqueued in the network, be it a on-chip network interconnect, or on a classical inter-node network.
The purpose of this tutorial is to provide an overview of the main characteristics of the real-time scheduler developed by the Real-Time Systems Laboratory of Scuola Superiore Sant'Anna in the context of the IRMOS European Project. It is also shown how to compile, configure, install and make a basic use of the scheduler for real-time and multimedia applications on Linux.
Last updated on
28 October 2023