This year, the industrial session at RTSS will contain two parts: the first one focused on start-ups in the real-time domain and the second one on the use of Linux in industrial applications.
Part one: Building Real-Time Startups: Triumphs, Trials, and Tribulations
Session Summary:
The real-time systems landscape is evolving rapidly, driven by the increasing complexity of embedded platforms and the growing demand for distributed real-time applications. This complexity has spurred the emergence of numerous startups, often stemming from research conducted in various labs and universities. These startups are at the forefront of innovation, addressing intricate challenges and sometimes growing into substantial companies. However, their journey is filled with obstacles; while some find success, others are acquired by larger firms, and some do not survive. This dynamic ecosystem underscores the necessity for a deeper understanding of the startup landscape within the real-time systems domain.
In the first part of the industrial session of RTSS 2024, we will explore the intersection of real-time systems and startups. Pioneering real-time startup companies will share their insights into their technologies and business journeys. The session will also feature discussions on the unique experiences and challenges that startups face in this field, offering valuable lessons and guidance for emerging researchers and entrepreneurs. By fostering a dialogue on the successes and pitfalls of real-time startups, this session aims to provide a comprehensive overview of current trends, innovations, and opportunities within the startup ecosystem of real-time systems.
Panel Members:
- Nicolas Navet, Founder – RtaW
- Giorgiomaria Cicero, CEO and Co-Founder – Accelerat
- Stefan Poledna, CTO and Co-Founder – TTTech Auto
Speaker Bio:
Nicolas NAVET has been a professor at the University of Luxembourg since May 2012 and has served as head of the Department of Computer Science since February 2023, following his role as deputy head from July 2020. Formerly, from 1996 to 2012, he was with INRIA in France, as doctoral candidate, researcher then head of a research group in the field of real-time embedded systems.
His primary goal is to contribute to the development of techniques, tools, and computing platforms that enable the creation of provably safe systems in a time-, resource-, and cost-efficient manner. Since the mid-1990s, he been involved in the design and development of critical embedded systems, focusing on systems with stringent performance and safety requirements. Currently, his work focuses on leveraging design-space exploration and machine learning to further automate and enhance the design of automotive and aerospace embedded architectures.
He has had the privilege of collaborating on numerous exciting projects with OEMs and Tier1 suppliers in the automotive and aerospace, both in academia and through RealTime-at-Work (RTaW), the company he founded in 2007. RTaW specializes in electronic architecture design automation tools that support the development of provably safe and optimized mission-critical embedded systems for land, air and space vehicles. Further information at https://nicolas.navet.eu/ and https://www.realtimeatwork.com.
Giorgiomaria Cicero is an Embedded Software Engineer, now CEO and Co-Founder of Accelerat, a deep-tech start-up company focused on advanced software solutions for next-generation cyber-physical systems like autonomous vehicles (e.g., automobiles, trains, drones, .etc.), advanced robots, and factory automation. Giorgiomaria has an academic research background matured at the ReTiS Laboratory and experience in industrial R&D projects in real-time systems, virtualization technologies, and cyber-security solutions for modern heterogeneous embedded platforms.
Dr. Stefan Poledna is Co-Founder and a member of the executive board at TTTech Auto. As Chief Technology Officer he is responsible for the company’s technology roadmap, all scientific topics and new business creation. He has 30 years of international industry experience in automotive systems and software development. He has authored and co-authored several patents and publications. He received his M.Sc. and Ph.D. degree in computer science with distinction from Vienna University of Technology, where he also lectures on Dependable Computer Systems.
Part two: Linux and Real-Time Systems: a secret love or a troubled story?
Session Summary:
Many industrial use-cases are showing an increasing interest in the use of open, multi-purpose operating systems for serving real-time tasks, such as Linux. Linux has matured to a level of versatility that makes it a strong candidate to host workloads from a wide range of applications, including general-purpose, multimedia, embedded computing, real-time control, real-time packet processing, image processing in autonomous systems, and more. Very recently, the PREEMPT_RT patch has also been integrated into the mainline Linux kernel (starting from version 6.12).
However, the typical task models and problems addressed in real-time systems research do not align with the mentioned contexts of operation and use cases. Hence, the core aim of this session is to foster closer interaction between practitioners in the community and researchers, to find solutions to real (Linux kernel) problems attributed to the existing scheduling model in Linux.
Organizers:
- Thomas Gleixner, Intel, Linutronix
- Juri Lelli, Red Hat
- Luca Abeni, Scuola Superiore Sant’Anna
- Tommaso Cucinotta, Scuola Superiore Sant’Anna
- Enrico Bini, University of Turin
Description:
The peculiarities of the Linux scheduler are challenging the smooth application of well-established theoretical results. Among these features, is worth mentioning:
- A distributed scheduler architecture, with a per-CPU ready queue (runqueue in Linux terminology)
- A hierarchy of (preemptive) scheduling classes, with a task being scheduled only if no task of an upper class is ready:
- SCHED_DEADLINE implementing EDF with (a variant of) the CBS
- SCHED_RR/SCHED_FIFO implementing fixed priority
- SCHED_NORMAL implementing a fair CPU sharing algorithm
- The availability of scheduling domains and affinity masks, which constrain the CPUs a task is allowed to use
- The existence of a number of “hidden” mutexes protecting access to critical in-kernel sections the programmer is rarely aware of (e.g., mutexes protecting data structures used by syscalls). This implies that it is not possible to precisely calculate the blocking time from application information only.
The mismatch between the Linux scheduling model and the available theoretical results has brought a number of challenges in the current development:
- Proxy Execution (priority/bandwidth inheritance) among different scheduling policies and with arbitrary CPU affinities
- Hierarchical scheduling of containerized applications
- Sustained QoS in hybrid architectures (e.g. big.LITTLE) with power management and power capping
- Co-scheduling of applications with conflicting performance metrics on multiprocessor systems
- QoS control (admission control) for open systems (mix of known and unknown tasks at design time)
With this session, we would endeavour to discuss and highlight some of the aforementioned problems attributed to the existing scheduling model.