Program

All presentations will be given in English

Thursday 26/06/2014

Friday 27/06/2014

Talks

Below we list title and abstract of the talks.

Title: Real-time scheduling and threads: basics

Speaker: Luca Abeni, University of Trento

Abstract: This talk will briefly recall the most important concepts from real-time scheduling theory (task model, temporal constraints, real-time scheduling and schedulability analysis, ...) showing how to map them on real-time applications running on Linux. Then, the Constant Bandwidth Server (CBS) algorithms, which represents the theoretical foundation for the SCHED_DEADLINE scheduling policy, will be introduced, showing how to use it to schedule real-time threads and processes. Finally, the talk will describe how the CBS algorithm and SCHED_DEADLINE allow to properly schedule realistic applications that do not strictly adhere to the original real-time task model (which contains some not-so-realistic simplifications), or are characterised by unknown execution times.

Useful links:

Title: SCHED_DEADLINE: presentation, how to use it

Speaker: Juri Lelli, Scuola Superiore Sant'Anna, Pisa

Abstract: SCHED_DEADLINE is a new scheduling class for resource-reservation real-time CPU scheduling recently merged in the Linux kernel (version 3.14≈π). It implements the real-time scheduling algorithm called Earliest Deadline First (EDF), and thus allows for the possibility of analyzing the system and enforcing, either statically (off-line) or dynamically (on-line) determinism for the running tasks. SCHED_DEADLINE might be particularly beneficial for time-sensitive workloads, such as multimedia and/or control applications, where it may be important to be guaranteed that some timing requirements will be met under any circumstance.

In this talk, an overview of the SCHED_DEADLINE scheduling class is provided. It is then shown how it can be practically used by system administrators and application developers.

Useful links:

Title: An introduction to Jack

Speaker: Fons Adriaensen, Casa della Musica, Parma

Abstract: Jack (Jack Audio Connection Kit) is the system used by nearly all professional and music production software on Linux. It allows to make arbitrary audio and MIDI connections between any number of separate applications and one or more soundcards. This short presentation introduces the basic architecture and feautures of Jack, with the aim to enable a discussion on the potential use of deadline scheduling in this context.

Useful links:

Title: Hard real-time constraints in the Digital Music Industry

Speaker: Leonardo Gabrielli, Università Politecnica delle Marche

Abstract: Digital music applications demand dedicated DSPs and embedded hardware. ARM-based systems together with the availability of the GNU/Linux codebase result appealing, but one factor needs to be addressed: signal processing tasks execution within the hard real-time bounds imposed by the ADC and DAC buffering mechanism. By no means the audio conversion can suffer delays or buffer dropouts: the digital music industry needs sturdy, failsafe machines, not unlike the automotive or military one. Our previous experience suggests that the SCHED_DEADLINE could enable feasible industrialization of new devices based on all-ARM signal processing under Linux for musical applications.

Useful links:

Title: Introduction to SpaceX

Speaker: Jesse Keller, SpaceX

Useful links:

Title: Integration Opportunities in Automotive Infotainment Systems

Speaker: Paolo Gai, Evidence Srl

Abstract: A scenario consisting of a Human Machine Interface (HMI) and the real-time control running on the same system with QoS guarantees will be presented. This solution is particularly interesting in the automotive market for infotainment systems.

Useful links:

Title: Experimental PREEMPT_RT Linux Usage in railway interlocking system

Speaker: Andrey Fedotov, NICEVT, Moscow

Abstract: In our lab we are developing the interlocking systems for Moscow metro. From the beginning of the development Linux with PREEMPT_RT patch was chosen for operator workstations and system monitoring database servers. Seeing how successful it behaves on these machines, we have also tried to run it on core system PLCs. These PLCs tasks are to calculate logic dependencies, to receive, parse incoming packets from field equipment, to prepare and send outgoing packets to field equipment via CAN interfaces, multicast internal state to database servers via Ethernet. These operations are performed within strictly defined periodic cycles in hard real time. For the time being we are happy with Linux performance and reliability in this application. Taking additional measures of protections we are ready to start field testing of the experimental system.

Useful links:

Title: Overview of the Linux scheduler framework

Speaker: Marco Cesati, Università di Roma, Tor Vergata

Abstract: This talk is a general, bird's-eye introduction to the Linux scheduler framework. We focus on the main goals of the scheduler, the different kinds of tasks, and how they are handled by means of several scheduling classes and policies.

Useful links:

Title: A decidedly !RT scheduler

Speaker: Peter Zijlstra, Red Hat

Useful links:

Title: SCHED_DEADLINE: internals and current development status

Speaker: Juri Lelli, Scuola Superiore Sant'Anna

Abstract: This talk provides a detailed overview (source code level) of SCHED_DEADLINE. It shows where the new scheduling class fits in the Linux scheduler framework, how the code is structured, which data structure are used to perform runtime accounting and multiprocessor scheduling and how EDF and CBS rules are translated into code. Finally, it is given an update about the current development status, and a basis for technical discussion on further development and promising ideas.

Useful links:

Title: Tracing Linux Kernel Events via STM

Speaker: Michael Trimarchi,

Abstract: The tracer is expected to collect trace kernel events generated on the target and to send them to the host system using ARM's STM technology. The events that should be supported need to be agreed upon in the specification phase. The presentation describes what we have done so far and how it can be used.

Useful links:

Title: Asem Soft PLC Real Time solutions. An alternative to the Windows WEC7 offer

Speaker: Flavio Suligoi, ASEM SpA

Abstract: Asem, until now, supports the Soft-PLC real time environment for the Widows users only, but many customers ask for an alternative Linux solution. This presentation describes the current situation, Windows based, and proposes the idea for an alternative Linux-based Soft-PLC solution, to take advantage of all the features available in the Linux environment (shorter jitter and latency, a large availability of new hardware devices support, networking performance, large selection of network protocol, community support, etc.)

Useful links:

Title: Adaptive Scheduling Parameters Manager for SCHED_DEADLINE

Speaker: Alessio Balsini, Università di Pisa, Scuola Superiore Sant'Anna

Abstract: The capability of managing well defined Quality of Services (QoS) performance parameters for the running computational tasks is a fundamental property of every system intended to provide soft real-time guarantees. The calculation of the best static parameters, to be passed to the SCHED_DEADLINE scheduler in order to obtain the requested QoS performances, is a complex task. The main reason is that different activations of the same task require computational times that may heavily differ. Either pessimistic or optimistic assumptions on those times will result in a loss of performance or QoS, respectively. It this talk it is presented a set of tools that allows the user to specify the desired response time for a specified task and, based on a feedback control on the history of computational requirements of that task, updates the SCHED_DEADLINE parameters accordingly, in order to meet the QoS requirements.

Useful links:

Title: SCHED_DEADLINE for the desktop user

Speaker: Daniele Alessandrelli, Scuola Superiore Sant'Anna

Abstract: This short talk discusses the possible use of SCHED_DEADLINE by Linux desktop users who want to reserve some CPU time for specific applications or to have advanced control over CPU utilization. The talk also presents a modified version of Xfce Task Manager adding initial support for SCHED_DEADLINE.

Useful links:

Title: Improving latency guarantees for packet transmission and storage I/O under Linux

Speaker: Paolo Valente, Università degli studi di Modena e Reggio Emilia

Abstract: Two efficient yet accurate proportional-share schedulers have been defined during the last two years. The first is a packet scheduler, named QFQ+ and merged into Linux from 3.8.0. More precisely, QFQ+ replaced a relatively less efficient ancestor version, named QFQ, and currently still available in FreeBSD. The second is a storage-I/O scheduler, named BFQ, and adopted in several popular Linux distributions as well as a few Android variants. BFQ was submitted to LKML a few weeks ago and seems to have a good chance to replace the current default storage-I/O scheduler.

Useful links: