ECRTS 2019: EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS 2019
PROGRAM FOR WEDNESDAY, JULY 10TH
Days:
previous day
next day
all days

View: session overviewtalk overview

07:45-08:30Coffee and Registration
09:30-10:30 Session 1: Control and Security (chair: Isabelle Puaut)
09:30
DMAC: Deadline-Miss-Aware Control

ABSTRACT. The real-time implementation of periodic controllers requires solving a co-design problem, in which the choice of the controller sampling period is a crucial element. Classic design techniques limit the period exploration to safe values, that guarantee the correct execution of the controller alongside the remaining real-time load, i.e., ensuring that the controller worst-case response time does not exceed its deadline. This paper presents DMAC: the first formally-grounded controller design strategy that explores shorter periods, thus explicitly taking into account the possibility of missing deadlines. The design leverages information about the probability that specific sub-sequences of deadline misses are experienced. The result is a fixed controller, that on average works as the ideal clairvoyant time-varying controller that possesses knowledge of deadline hits and misses. We obtain a safe estimate of the hit and miss events using the scenario theory, that allows us to provide probabilistic guarantees. The paper analyzes controllers implemented using the Logical Execution Time paradigm and three different strategies to handle deadline miss events: killing the job, letting the job continue but skipping the next activation, and letting the job continue using a limited queue of jobs. Our experimental results show that our design proposal -- i.e., that exploring the space where deadline can be missed and handled with different strategies -- greatly outperforms classical control design techniques.

10:00
Control-Flow Integrity for Real-Time Embedded Systems

ABSTRACT. Attacks on real-time embedded systems can endanger lives and critical infrastructure. Despite this, techniques for securing embedded systems software have not been widely studied. Many existing security techniques for general-purpose computers rely on assumptions that do not hold in the embedded case. This paper focuses on one such technique, control-flow integrity (CFI), that has been vetted as an effective countermeasure against control-flow hijacking attacks on general-purpose computing systems. Without the process isolation and fine-grained memory protections provided by a general-purpose computer with a rich operating system, CFI cannot provide any security guarantees. This work proposes RECFISH, a system for providing CFI guarantees on ARM Cortex-R devices running minimal real-time operating systems. We provide techniques for protecting runtime structures, isolating processes, and instrumenting compiled ARM binaries with CFI protection. We empirically evaluate RECFISH and its performance implications for real-time systems. Our results suggest RECFISH can be directly applied to binaries without compromising real-time performance; in a test of over six million realistic task systems running FreeRTOS, 85% were still schedulable after adding RECFISH.

10:30-11:00Coffee Break
11:00-12:30 Session 2: Programming and Compilation (chair: Björn Brandenburg)
11:00
PREM-based Optimal Task Segmentation under Fixed Priority Scheduling

ABSTRACT. Recently, a large number of works have discussed scheduling tasks consisting of a sequence of memory phases, where code and data is moved between main memory and local memory, and computation phases, where the task executes based on the content of local memory only; the key idea is to prevent main memory contention by scheduling the memory phase of one task in parallel with computation phases of tasks running on other cores. This paper provides two main contributions: (1) we present a compiler-level tool, based on the LLVM intermediate representation, that automatically converts a program into a conditional sequence of segments comprising memory and computation phases; (2) we propose an algorithm to find optimal segmentation decisions for a task set scheduled according to a fixed-priority partitioned scheme. Our evaluation shows that the proposed framework can be feasibly applied to realistic programs, and vastly overperforms a baseline greedy segmentation approach.

11:30
RT-CASEs: Container-Based Virtualization for Temporally Separated Mixed-Criticality Task Sets

ABSTRACT. This paper presents the notion of real-time containers, or rt-cases, conceived as the convergence of container-based virtualization technologies, such as Docker, and hard real-time operating systems. The idea is to allow critical containers, characterized by stringent timeliness and reliability requirements, to cohabit with traditional non real-time containers on the same hardware. The approach allows to keep the advantages of real-time virtualization, largely adopted in the industry, while reducing its inherent scalability limitation when to be applied to large-scale mixed-criticality systems or severely constrained hardware environments. The paper provides a reference architecture scheme for implementing the real-time container concept on top of a Linux kernel patched with a hard real-time co-kernel, and it discusses a possible solution, based on execution time monitoring, to achieve temporal separation of fixed-priority hard real-time periodic tasks running within containers with different criticality levels. The solution has been implemented using Docker over a Linux kernel patched with RTAI. Experimental results on real machinery show how the implemented solution is able to achieve temporal separation on a variety of random task sets, despite the presence of faulty tasks within a container that systematically exceed their worst case execution time.

12:00
Simultaneous Multithreading Applied to Real Time

ABSTRACT. Existing models used in real-time scheduling are inadequate to take advantage of simultaneous multithreading (SMT), which has been shown to improve performance in many areas of computing, but has seen little application to real-time systems. The SMART task model, which allows for combining SMT and real time by accounting for the variable task execution costs caused by SMT, is introduced, along with methods and conditions for scheduling SMT tasks under global earliest-deadline-first scheduling. The benefits of using SMT are demonstrated through a large-scale schedulability study in which we show that task systems with utilizations up to 30\% larger than what would be schedulable without SMT can be correctly scheduled.

12:30-14:00Lunch Break
14:00-15:30 Session 3: Industrial Applications (chair: Marko Bertogna)
14:00
Response-Time Analysis of ROS 2 Processing Chains under Reservation-Based Scheduling

ABSTRACT. Bounding the end-to-end latency of processing chains in real-time distributed systems is a well-studied problem, relevant in multiple industrial fields, such as automotive systems and robotics. Nonetheless, to date, only little attention has been given to the study of the impact that specific frameworks and implementations choices can have on real-time performance. This paper proposes a scheduling model and a response-time analysis for \ROS~2 (specifically, version ``Crystal Clemmys'' released in December 2018), a popular framework for the rapid prototyping, development, and deployment of robotics applications with thousands of professional users around the world. The purpose of this paper is threefold. First, it is aimed at providing to robotic engineers a practical analysis to verify the worst-case response times of their applications. Secondly, it shines a light on the current \ROS~2 implementation choices from a real-time perspective. Finally, it presents to real-time researchers a realistic scheduling model, which provides an opportunity for future impact on the robotics industry.

14:30
Implementation of Memory Centric Scheduling for COTS Multi-Core Real-Time Systems

ABSTRACT. The demands for high performance computing with a low cost and low power consumption are driving a transition towards multi-core processors in many consumer and industrial applications. However, the adoption of multi-core processors in the domain of real-time systems faces a series of challenges that has been the focus of great research intensity during the last decade. These challenges arise in great part from the non real-time nature of the hardware arbiters that schedule the access to shared resources, such as the main memory. One solution proposed in the literature is called Memory Centric Scheduling, which defines a separate software scheduler for the sections of the tasks that will access the main memory, hence circumventing the low level unpredictable hardware arbiters. Several Memory Centric schedulers and associated theoretical analyses have been proposed, but as far as we know, no actual implementation of the required OS-level underpinnings to support Memory Centric Scheduling has been presented before. \emph{In this paper} we aim to fill this gap, by proposing the first implementation of Memory Centric Scheduling in an RTOS designed for multi-core systems. We will confirm via measurements the main theoretical benefits of Memory Centric Scheduling (e.g.\:task isolation). Furthermore, we will describe an effective schedulability analysis using concepts from distributed systems.

15:00
Industrial Application of a Partitioning Scheduler to Support Mixed Criticality Systems

ABSTRACT. The ever-growing complexity of safety-critical control systems continues to require evolution in control system design, architecture and implementation. At the same time the cost of developing such systems must be controlled and importantly quality must be maintained. This paper examines the application of Mixed Criticality System (MCS) research to a DAL-A aircraft engine Full Authority Digital Engine Control (FADEC) system which includes studying porting the control system's software to a preemptive scheduler from a non-preemptive scheduler. The paper deals with three key challenges as part of the technology transitions. Firstly, how to provide an equivalent level of fault isolation to ARINC 653 without the restriction of strict temporal slicing between criticality levels. Secondly extending the current analysis for Adaptive Mixed Criticality (AMC) scheduling to include the overheads of the system. Finally the development of clustering algorithms that automatically groups tasks into larger \emph{super-tasks} to both reduce overheads whilst ensuring the timing requirements, including the important task transaction requirements, are met.

15:30-16:00Coffee Break