boomerang real time i o meets legacy systems
play

Boomerang: Real-Time I/O Meets Legacy Systems Ahmad Golchin, Soham - PowerPoint PPT Presentation

Boomerang: Real-Time I/O Meets Legacy Systems Ahmad Golchin, Soham Sinha, Richard West Boston University Introduction Key challenges: How to extend real-time system with legacy functionality? How to extend legacy system with


  1. Boomerang: Real-Time I/O Meets Legacy Systems Ahmad Golchin, Soham Sinha, Richard West Boston University

  2. Introduction ● Key challenges: – How to extend real-time system with legacy functionality? – How to extend legacy system with real-time capabilities? – How to isolate tasks and services of difgerent criticality levels? – How to guarantee I/O processing is real-time ● Input → Processing → Output ● Contribution: – Boomerang : I/O system built using Quest-V partitioning hypervisor and Quest RTOS – Composable tuned pipes 2

  3. Spatial and Temporal Isolation ● Spatial – Ensure one software component cannot alter another’s private code or data, or interfere with control of its devices ● T emporal – Ensure a software component cannot afgect when another component accesses a resource 3

  4. Spatial and Temporal Isolation ● Lack of isolation leads to timing and functional failures – Potentially catastrophic for high-criticality tasks ● Enforce isolation using separate hardware for each functional component – e.g., separate ECU in an automotive system – Not scalable or cost-efgective 4

  5. Spatial and Temporal Isolation ● Single hardware solution – Use machine virtualization for spatial isolation of tasks of difgerent criticalities – Separate cores statically mapped to difgerent virtual machines – Difgerent cores used for timing-critical tasks ● Use a partitioning hypervisor to manage system – Quest-V 5

  6. Conventional vs Boomerang I/O LEGACY OS RTOS LEGACY OS (e.g. Linux) 1 2 Real-Time Low-criticality T asks + I/O I/O T asks + I/O handling handling handling T asks 3 ... ... ... Memory Core(s) Core Devices Memory Core(s) Devices Memory Core(s) Devices (a) Conventional (b) Boomerang ● Boomerang uses Quest-V partitioning hypervisor to support tuned pipes between RTOS & legacy OS – Allows legacy OS to contribute to real-time I/O without interference from low-criticality device interrupts 6

  7. Tuned Pipes ● Like POSIX pipes but guarantee throughput and delay on communication ● Boomerang I/O subsystem supports real-time I/O (Tuned Pipes) across Quest RTOS and legacy OSes – Empowers legacy OSes (Linux, Android) with real-time capabilities – Leverages Quest RTOS VCPU scheduling of tasks and interrupts 7

  8. VCPU Scheduling in Quest Address Threads Space Main VCPUs I/O VCPUs PCPUs (Cores) 8

  9. Boomerang: Tuned Pipes T ask / Handler Input Output Endpoint Endpoint VCPU tpipe tpipe_id_t tpipe (ep_t *inp[], int n_inp, ep_t *outp, qos_t spec, tpipe_task_t func, void* arg); Boomerang automatically calculates VCPU parameters to meet QoS spec when all inputs and outputs are connected 9

  10. Tuned Pipes Bufgering Semantics T ask T ask VCPU VCPU tpipe 1 tpipe 2 ● Pipeline composition of two or more tuned pipes ● RT_ASYNC – Simpson’s 4-slot asynchronous communication ● RT_FIFO – Ring-bufgered semi-asynchronous communication 10

  11. Tuned Pipes Bufgering Semantics Scatter, T ask Handler Gather RT_ASYNC MAIN IO VCPU VCPU VCPU Pipe Task Pipe Device Pipe Bufger Device Endpoint Bufger ● Pipeline composition of two or more tuned pipes ● Device Pipe – Interrupt handling (IO VCPU) + scatter/gather processing (Main VCPU) ● T ask Pipe – Data processing (Main VCPU only) 11

  12. Example Pipeline Composition A B E D C F [∗](A | B), C | D | E, F [e2e_tput | loss_rate, e2e_delay] ● Parallel pipelines separated by commas ● Asterisk enforces ring-bufgered lossless communication ● e2e_tput: min msgs/time exiting fjnal pipe (for lossless comms) ● e2e_delay: applies to longest path 12

  13. Boomerang: Pipeline Constraints ● Automatically establish VCPU (C,T) tuned pipe parameters satisfying: ● For FIFO and 4-slot: 1) T i ≤ e 2 e _ delay forlongest pathl ∑ i ∈ l 2) Alltask scheduling constraints aremet ● For FIFO only: min ∀ i { m i 3) } ≥ e 2 e _ tput ,for m i ≥ 1 messagestransferred by tpipe i every C i T i 4) All FIFObuffersare sized to ensure noadditional blockingdelays ● For 4-slot only: max { 1 − T p 3) } ≤ loss _ rate , for allT p ≤ T c T c 13

  14. Boomerang: Experimental Setup 1 Quest RTOS LINUX 2 UP Squared SBC Low-criticality Real-Time Tasks & I/O tasks & Handling non-real-time I/O ... ... Memory Core 0 Devices Memory Core 1 Devices (CAN1) ECU1 ECU3 ECU1 ECU3 (CAN4) NIC NIC USB-CAN USB-CAN SSD Interface Interface (CAN2-3) ECU2 (CAN5) ECU2 ECU4 ECU4 ● Boomerang tuned pipe path (1) spans Quest + Linux + USB-CAN ● Boomerang tuned pipe path (2) spans Quest + USB-CAN 14

  15. Boomerang: Experimental Setup SHM LINUX SMP 1 2 T asks and IRQs partitioned UP Squared SBC Low-criticality Real-Time Tasks & I/O tasks & Handling non-real-time I/O ... ... Memory Core 0 Devices Memory Core 1 Devices (CAN1) ECU1 ECU3 ECU1 ECU3 (CAN4) NIC NIC USB-CAN USB-CAN SSD Interface Interface (CAN2-3) ECU2 (CAN5) ECU2 ECU4 ECU4 ● Boomerang tuned pipe path (1) spans Quest + Linux + USB-CAN ● Boomerang tuned pipe path (2) spans Quest + USB-CAN 15

  16. Boomerang: Asynchronous Results Pipeline 1 (Asynchronous, no loss) Pipeline 2 (Asynchronous, no loss) ● Boomerang meets communication timing guarantees ● A Linux SMP (multicore) OS with real-time extensions cannot perform I/O predictably 16

  17. Boomerang: Loss-tolerant Results Pipeline 1 (Asynchronous, ≤20% loss) Pipeline 2 (Asynchronous, ≤20 % loss) ● Boomerang guarantees Pipeline 1 (3.5% loss) and Pipeline 2 (0% loss) ● Linux SMP fails Pipeline 1 (55% loss) and Pipeline 2 (50% loss) 17

  18. Boomerang: Synchronous Results Pipeline 1 (FIFO bufgering) Pipeline 2 (FIFO bufgering) 18

  19. ACRN: Partitioning Hypervisor Service OS User OS ACRN Device Model App App App Virtio Back End Socket API Socket API Service (VBS-U) User Space Kernel Space Virtio Back End TCP Stack Service (VBS-K) Shared TCP Stack Memory Bufger Virtio BE Remote MMAP Driver Other Virtio ACRN Service Module Device Front End Device Drivers Notifjcation Driver Drivers ACRN hypervisor Remote MMAP VMExit Virtio API vLAPIC Notifjcation Hardware 19

  20. ACRN: Results Pipeline 1 (Asynchronous, no loss) Pipeline 2 (Asynchronous, no loss) ● ACRN generally worse than Linux SMP ● Neither as good as Boomerang (previously shown) 20

  21. Conclusions ● Boomerang I/O system built for Quest-V partitioning hypervisor – Supports composable tuned pipes between guests – Empowers Non-RT OS with RT capabilities – Automatically tunes VCPU parameters – Guarantees E2E throughput, delay & loss – Outperforms Linux SMP (RT-PREEMPT + DEADLINE) & ACRN 21

Recommend


More recommend