HOME > PROJECT > PARTITIONED REAL-TIME SYSTEMS 한국어 / English
Scheduling and Networking for Partitioned Real-Time Systems
Resource partitioning enables multithreaded real-time applications to execute together in an isolated manner, which can resolve the Size, Weight, Power, and Cost (SWaP-C) problems faced in modern complex embedded systems. For example, The Integrated Modular Avionics (IMA) architecture has been suggested for partitioned systems of the next-generation avionics. ARINC 653 is the standard for application programming interfaces of avionics software for IMA architecture. Our recent studies on partitioned systems are in two folds: (1) Hierarchical scheduling for temporal partitioning and (2) Inter-partition communication over real-time networks.
Hierarchical Real-Time Scheduling for Temporal Partitioning
To provide temporal partitioning, processor resources should be scheduled in a hierarchical manner. At the first level, the partition scheduler (a.k.a. global scheduler) assigns processor resources across partitions according to their period and execution time. In the next level, the process scheduler (a.k.a. local scheduler) runs processes in the current (i.e., active) partition during the time window given by the partition scheduler. We implemented three different designs of hierarchical scheduling based on Linux, and compared theses thoroughly [SPE2014]. The user-level hierarchical scheduler is portable across different operating systems [Access2019]. On the other hand, the kernel-level hierarchical scheduler showed significantly lower overheads and jitters than the user-level design while its implementation is highly dependent on a specific operating system [SAC2012]. The virtualization technology also has a very high potential of providing an optimal implementation of the partitioning concept. The virtualization technology provides multiple virtual machines running an operating system and application processes over emulated hardware; that is, each virtual machine can be considered as a partition. [DASC2011].
Real-Time Inter-Partition Communication
In networked partitioned systems, not only providing transparent abstractions for networking but also supporting efficient sharing of network interfaces between partitions are important [CPSNA2012]. We studied the network I/O virtualization at different layers and especially suggested a driver-level network I/O virtualization for Controller Area Network (CAN) [Sensors2019], which is flexible enough to support different partitioning designs described above. We are expanding our experiences on the network I/O virtualization into real-time operating systems such as RTEMS [ESL2020].