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

retis lab
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

Real-Time Scheduling for Multiprocessor Systems

Real-Time Systems Laboratory

RETIS Lab

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
slide-2
SLIDE 2

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)

slide-3
SLIDE 3

3

Partitioning vs. Global Scheduling

  • 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

CPU 0 CPU 1

Partitioning

CPU 0 CPU 1

Global Scheduling

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

slide-4
SLIDE 4

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

– Limits priority inversion – Avoids chains of blocking – Very simple to implement

  • 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

CPU 1 CPU 2

ρ2 ρ1 τ1 τ2 τ3 τ5 τ4

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)

  • 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

D C2

NODE2

τ 1 C1

NODE1 T

τ 2 C3 τ 3

NODE3

C4 τ 4

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

… … … …

2 proc. 2 proc.

Fault tolerant Non Fault tolerant Fault tolerant Non Fault tolerant

1 proc. equiv. 1 proc. equiv. CPU1 CPU2

  • 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)