Download presentation
Presentation is loading. Please wait.
Published byPhilomena Peters Modified over 9 years ago
1
Models for Deterministic Execution of Real-time Multiprocessor Applications Peter Poplavko, Dario Socci, Paraskevas Bourgos, Saddek Bensalem, Marius Bozga VERIMAG lab (CNRS, University of Grenoble) Research supported by the European ICT Collaborative Project no. 288175 (CERTAINTY) and no. 332987 (ARROWHEAD).
2
I. Fixed Priority Process Networks - FPPN Motivation Model of computation KPN + synchronous events + priorities II. Approximately static subclass of FPPN Static scheduling Online scheduling policy Implementation and experiments Conclusions Models for Multiprocessor Applications Petro Poplavko / VERIMAG Grenoble111-Mar-15
3
Many industrial designs use fixed priority schedulability analysis tools, programming language support (ADA) and… deterministic communication Fixed Priority Process Networks Petro Poplavko / VERIMAG Grenoble211-Mar-15 ???? … under the condition of short enough execution times (not safe, but often holds for control apps) … valid restrictions on task set, e.g. Audsley’s approach for static task graphs [RTNS12]
4
Functionally deterministic models: Kahn process networks and dataflow streaming applications Synchronous languages reactive applications Fixed Priority Process Networks 11-Mar-15Petro Poplavko / VERIMAG Grenoble3 streaming + reactive? Reactive Process Networks (RPN) deterministic and timed behavior ? => add priorities and synchronous events
5
Functionally deterministic models: Kahn process networks and dataflow streaming applications Synchronous languages reactive applications Fixed Priority Process Networks 11-Mar-15Petro Poplavko / VERIMAG Grenoble4 FPPN is a combination streaming + reactive? Reactive Process Networks (RPN) deterministic and timed behavior ? => add priorities and synchronous events
6
Representative Example 11-Mar-15Petro Poplavko / VERIMAG Grenoble5 InputA 1 per 200ms FilterB 200ms CoefB ≤ 2 per 700ms functional priority (at each channel) FIFO sporadic process periodic process Input Channel FilterA 100ms OutputA 200ms NormA 200ms blackboard (shared variable) OutputB 100ms Output Channel 1 Output Channel 2 burst size and inter-arrival
7
FPPN: unexpected facts 11-Mar-15Petro Poplavko / VERIMAG Grenoble6
8
Relative order of execution 11-Mar-15Petro Poplavko / VERIMAG Grenoble7 precedence between communicating jobs: follow the arrival times simultaneous arrival => apply priority dynamically constructed precedence graph sporadic A sporadic B time A[1] (0,2000) A[2] (10,2010) B[1] (20,3020) B[3] (70,3070) A[3] (70,2070) B[2] (50,3050)
9
II. Approximately static FPPN 11-Mar-15Petro Poplavko / VERIMAG Grenoble8
10
FilterB[1] (0,200) OutputB[1] (0,100) InputA[1] (0,200) FilterA[1] (0,100) OutputA[1] (0,200) CoefB[1] (0,200) CoefB[2] (0,200) FilterA[2] (100,200) NormA[1] (0,200) OutputB[2] (100,200) p i [k i ] (A i, D i ) Restriction and static approximation 11-Mar-15Petro Poplavko / VERIMAG Grenoble9 FilterB 200ms CoefB ≤ 2 per700ms every sporadic process periodic server user period unique periodic “user” process
11
OutputB[1] M1M1 InputA[1]FilterA[1]OutputA[1] C O E F B [1] FilterA[2] OutputB[2] 100 ms -arrival 0 arrival M2M2 FilterB[1] 11-Mar-15Petro Poplavko / VERIMAG Grenoble10 …can be scheduled by List Scheduling easy, fast but sub-optimal (work conserving) better heuristics: topological permutation [PRORISC2000] force-directed scheduling 200 ms cycle C O E F B [2] N o r m A [2]
12
11-Mar-15Petro Poplavko / VERIMAG Grenoble11 Online policy illustrated by Petri Net wait 0+cyc wait 100+cyc cyc:= cyc+200 OutputB[1] M1M1 InputA[1]FilterA[1]OutputA[1] C O E F B [1] FilterA[2] OutputB[2] 100 ms -arrival 0 arrival M2M2 FilterB[1] 200 ms cycle C O E F B [2] N o r m A [2]
13
11-Mar-15Petro Poplavko / VERIMAG Grenoble12 wait 0+cyc wait 100+cyc Online policy and sporadic jobs cyc:= cyc+200 wait 0+cyc sporadic jobs up to 2 jobs/ period -200+cyc 0+cyc periodic server: and tokens ; ; ;
14
Utilization metric? (0,200, 25) (0,100, 25) (0,200, 25) (0,100, 25) (0,200, 25) (0,200, 5) (100,200, 25)(0,200, 5) (100,200, 25) 11-Mar-15Petro Poplavko / VERIMAG Grenoble13 p i [k i ] (A i, D i, C i ) p i [k i ] (A* i, D* i, C i ) 5 10 35 100 200 175 200 0
15
Implementation (public domain) 11-Mar-15Petro Poplavko / VERIMAG Grenoble14 Application (FPPN+C) Compile Application Compile Scheduling Static Schedule BIP Compiler Executable Application + Scheduler (BIP) BIP RTE
16
FFT2_0_1 generator FFT2_0_2 FFT2_0_3 FFT2_0_0 FFT2_1_1 FFT2_1_2 FFT2_1_3 FFT2_1_0 FFT2_2_1 FFT2_2_2 FFT2_2_3 FFT2_2_0 consumer 11-Mar-15Petro Poplavko / VERIMAG Grenoble15 Case Study1: FFT Transform Kalray MPPA 256 Platform Load* = 93% 120 % (with RT overhead)
17
11-Mar-15Petro Poplavko / VERIMAG Grenoble16 Case Study1: FFT Transform (on 2 cores) RT overhead
18
17 SensorInput 200ms AnemoConfig 2 per200ms GPSConfig 2 per200ms IRSConfig 2 per200ms DopplerConfig 2 per200ms HighFreqBCP 200ms LowFreqBCP 5000ms MagnDeclin 1600ms BCPConfig 2 per200ms Performance 1000ms MagnDeclinConfig 5 per1600ms PerformanceConfig 5 per1000ms AnemoData GPSData IRSData DopplerData PerformanceData BCP Data RM relative priority 11-Mar-15Petro Poplavko / VERIMAG Grenoble17 Flight Management System (Thales)
19
18 11-Mar-15Petro Poplavko / VERIMAG Grenoble18 Flight Management System (Thales) Linux Intel i7 3.6 GHz platform Static task graph: 812 nodes, 1977 edges Load* = 23%
20
19 11-Mar-15Petro Poplavko / VERIMAG Grenoble19 Related work FPPN combines certain concepts of synchronous and streaming languages - PRELUDE-SCHEDMCORE synchronous language and multi-core scheduling - OIL – streaming language with timing constraints - Algorithms for scheduling task graph for synchronous systems - Reactive Process Networks
21
20 11-Mar-15Petro Poplavko / VERIMAG Grenoble20 Conclusions FPPN – model of computation for reactive + streaming applications Generalizing the determinism of uniprocessor fixed- priority systems to multi-processors Approximately static subclass: task graph derivation scheduling algorithm scheduling policy and utilization metric two use cases
22
Thank you! 11-Mar-15Petro Poplavko / VERIMAG Grenoble21 InputA 200ms FilterB 200ms CoefB 2 per700ms OutputB 100ms functional priority (at each channel) FIFO spradic process periodic process Input Channel Output Channel 1
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.