retis lab
play

RETIS Lab Real-Time Systems Laboratory Real-Time Scheduling for - PDF document

RETIS Lab Real-Time Systems Laboratory Real-Time Scheduling for Multiprocessor Systems Giuseppe Lipari The multi-core revolution Technology trend use multiple processing elements on the same chip less power consumption, less


  1. RETIS Lab Real-Time Systems Laboratory Real-Time Scheduling for Multiprocessor Systems Giuseppe Lipari The multi-core revolution • Technology trend – use multiple processing elements on the same chip – less power consumption, less cost, more computational power • A wide choice of architectures – Homogeneous or Heterogeneous – SMPs, Dual-Quad cores, master – slaves, FPGAs with soft cores, etc. • Embedded systems 1

  2. RT-Systems • Theoretical research – single processors: well established and complete results – multiprocessors: many negative results, not enough research • Problems to be solved: – efficient scheduling algorithms and synchronization protocols – schedulability analysis and tools for multiprocessor systems • As Liu said: – “ The simple fact the a task can use only one resource even when several resources are free at the same time adds a surprising amount of difficulty to the scheduling of multiple resources”. Partitioning vs. Global scheduling • Partitioning: – tasks are statically allocated to processors – once partitioned, reduction to single processor scheduling – synchronization and interaction are taken into account separately – Good for static task sets and heterogeneous multiprocessors • Global scheduling – task are dynamically assigned to processors as they are activated (migration) – assumption: processors are all equal – automatic load balancing – Good for dynamic task sets (open systems, task may enter and leave the system dynamically) 2

  3. Partitioning vs. Global Scheduling CPU 0 Partitioning CPU 1 CPU 0 Global Scheduling CPU 1 • Problems – No optimal scheduling in the general case (all problems are similar to knapsack) – Partitioning: less overhead but less flexibility – Global scheduling: more overhead but automatic load balancing Research at RETIS lab • Scheduling algorithms and schedulability analysis of multiprocessor systems • Partitioning – Synchronization protocol (MSRP) – Transaction model for end-to-end constraints • Global scheduling – scheduling analysis of EDF, FP, EDZL • Fault-tolerant systems – a flexible multiprocessor platform, and scheduling analysis 3

  4. Synchronization mechanisms • Multiprocessor Stack Resource Policy – Allows tasks to share resources through critical sections guarded by mutex semaphores in multiprocessors – idea: mix spin-lock with blocking • Properties ρ 1 τ 2 ρ 2 τ 4 – Limits priority inversion τ 1 τ 3 τ 5 – Avoids chains of blocking – Very simple to implement CPU 1 CPU 2 • Results – performance comparable with MPCP (less complex and less overhead) – Implemented in a OSEK-like OS (can be used for automotive) P. Gai, G. Lipari, M. Di Natale, “ Stack size minimization for embedded real-time systems on a chip ”, Design Automation for Embedded Systesm, vol 7, nos. 1-2 Sept. 2002 Transaction model • Scheduling analysis of chains of tasks on multiprocessors – Tasks are statically allocated to processors – Transaction: chain of tasks with end-to-end time constraints (period and deadline) C 1 τ 1 NODE1 T C 2 C 4 τ 2 τ 4 NODE2 D C 3 τ 3 NODE3 • Analysis – Based on Holistic Analysis (Tindell et al. '94) – explicitly consider offsets in the analysis – up to 300% improvement over previous results R. Pellizzoni, G. Lipari, “ Holistic Analysis of Asynchronous real-time transactions with EDF ” Journal of Computer and System Sciences 4

  5. Global scheduling • Tasks may migrate among processors – assume homogeneous processors with shared memory (SMP) – automatic load balancing • Schedulability analysis results – Optimal scheduling for periodic tasks with constant execution tim with high overhead – Classical scheduling algorithms (EDF and FP) do not perform well – Dhall effect when considering heavy tasks – Existing scheduling analysis performs even worse • Our contribution – Improve schedulability analysis of classical algorithms M. Bertogna, M. Cirinei, G. Lipari, “ Improved Schedulability Analysis of EDF on Multiprocessor Platforms”, ECRTS 2005 Flexible Fault-Tolerant scheduling • Faults – as technology progress, transistor gate size is reduced – fault probability increases • Tipical approaches to Integrity – pairs processors executing in lock step – the computational power is drastically reduced – not all task require high integrity • Our approach – allow Fault Tolerant, Fault-Silent and Non Fault Tolerant task to coexist – dynamically reconfigure the multiprocessor platform to support the different tasks 5

  6. Flexible fault tolerant multiprocessors • Trade off between performance and integrity – different guarantees to different tasks – divide the time line – processors work in lock-step or in parallel Non Non Fault Fault Fault Fault tolerant tolerant tolerant tolerant CPU1 … … CPU2 … … 1 proc. 1 proc. 2 proc. 2 proc. equiv. equiv. M. Cirinei, E. Bini, G. Lipari, A. Ferrari, “ A Flexible Scheme for Scheduling Fault-Tolerant Real-Time Tasks on Multiprocessors ” (2007) Current and future work • Mixing Partitioning with Global Scheduling – difficult schedulability analysis! • Shared resources with Global Scheduling – little results until now • Extend resource reservations to multiprocessors – extension of BWI protocol – Virtualization of computational platform • Implementation on Linux – The AQuOSA framework (http://aquosa.sf.net) 6

Recommend


More recommend