Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.

Similar presentations


Presentation on theme: "1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of."— Presentation transcript:

1 1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of California at Berkeley Cadence Berkeley Labs Yosinori Watanabe Cadence European Labs EE249 - Fall2001

2 2 Outline Motivation Scheduling Free-Choice Petri Nets Algorithm

3 3 Embedded Software Synthesis System specification: set of concurrent functional blocks (DF actors, CFSMs, PNs, …) Software implementation: set of concurrent software tasks Two sub-problems: –Generate code for each task (software synthesis) –Schedule tasks dynamically (dynamic scheduling) Goal: minimize real-time scheduling overhead

4 4 Petri Nets Model

5 5 Schedule: t 12, t 13, t 16... a = 5 c = a + b t12 t13 t16

6 6 Petri Nets Model Shared Processor + RTOS Task 1 Task 2 Task 3

7 7 Classes of Scheduling Static: schedule completely determined at compile time Dynamic: schedule determined at run-time Quasi-Static: most of the schedule computed at compile time, some scheduling decisions made at run-time (but only when necessary)

8 8 Embedded Systems Specifications Static Quasi-Static Dynamic Specification Scheduling Data-dependent Control (if..then..else, while..do) Real-time Control (preemption, suspension) Data Processing (+, -, *...)

9 9 Data Processing i *k2 + o *k1 Schedule: i, *k2, *k1, +, o IIR 2nd order filter o(n)=k 1 o(n-1) + k 2 i(n) Schedule: i, *k1, *k2, +, o

10 10 Data computation (Multirate) o Fast Fourier Transform i FFT o 256 Schedule: ii…i FFT oo…. o 256 i Sample rate conversion Multirate Data Flow networkPetri Net AB C DE 277382 F 5 Schedule: (147A) (147B) (98C) (28D) (32E) (160F)

11 11 Data-dependent Control io >0 *2 /2 Schedule: i, if (i>0) then{ /2} else{ *2}, o Petri Nets provide a unified model for mixed control and data processing specifications Free-Choice (Equal Conflict) Nets: the outcome of a choice depends on the value of a token (abstracted non-deterministically) rather than on its arrival time

12 12 Existing approaches Lee - Messerschmitt ‘86 –Static Data Flow: cannot specify data-dependent control Buck - Lee ‘94 –Boolean Data Flow: scheduling problem is undecidable Thoen - Goossens - De Man ‘96 –Event graph: no schedulability check, no minimization of number of tasks Lin ‘97 –Safe Petri Net: no schedulability check, no multi-rate Thiele - Teich ‘99 –Bounded Petri Net: partial schedulability check, complex (reachability-based) algorithm

13 13 PNs and BDF BDF network F T F T >0 Petri Net t1 t2 t3 t4 t5 <=0 >0 Switch/Select vs. choice/merge PNs: No correlation between different choices TFF

14 14 PNs and BDF BDF network F T F T >0 Petri Net PNs are not- determinate F t1 t2t4t6 t8 t7t5t3

15 15 PNs and BDF BDF network F T F T >0 Petri Net PNs are not- determinate TF t1 t2t4t6 t8 t7t5t3

16 16 PNs and BDF BDF network F T F T >0 Petri Net PNs are not- determinate TTF t1 t2t4t6 t8 t7t5t3

17 17 Existing approaches Lee - Messerschmitt ‘86 –Static Data Flow: cannot specify data-dependent control Buck - Lee ‘94 –Boolean Data Flow: scheduling problem is undecidable Thoen - Goossens - De Man ‘96 –Event graph: no schedulability check, no minimization of number of tasks Lin ‘97 –Safe Petri Net: no schedulability check, no multi-rate Thiele - Teich ‘99 –Bounded Petri Net: partial schedulability check, complex (reachability-based) algorithm

18 18 Scheduling Petri Nets Petri Nets provide a unified model for mixed control and dataflow specification Most properties are decidable A lot of theory available Abstract Dataflow networks by representing if-then-else structures as non-deterministic choices Non-deterministic actors (choice and merge) make the network non-determinate according to Kahn’s definition Free-Choice: the outcome of a choice depends on the value of a token (abstracted non-deterministically) rather than on its arrival time

19 19 Bounded scheduling (Marked Graphs) A finite complete cycle is a finite sequence of transition firings that returns the net to its initial state Bounded memory Infinite execution To find a finite complete cycle solve f(  ) D = 0 t1t1 t2t2 t3t3 T-invariant f(  ) = (4,2,1) 22 2 t1t1 t2t2 t3t3 No schedule D = 1 0 -2 1 0 -2 f(  ) D = 0 has no solution

20 20 Bounded scheduling (Marked Graphs) Existence of a T-invariant is only a necessary condition Verify that the net does not deadlock by simulating the minimal T-invariant [Lee87] t1t1 t2t2 t3t3 T-invariant f(  ) = (4,2,1) 22 t1t1 t2t2 2 3 23 t3t3 T-invariant f(  ) = (3,2,1) Deadlock (0,0) t1t1t1t1t2t2t4 t1t1t1t1t2t2t4  = t 1 t 1 t 1 t 1 t 2 t 2 t 4 Not enough initial tokens

21 21 Free-Choice Petri Nets (FCPN) Marked Graph (MG) Free-Choice Confusion (not-Free-Choice) Free-Choice: choice depends on token value rather than arrival time easy to analyze (using structural methods)

22 22 t1t1 t2t2 t3t3 t5t5 t6t6 Bounded scheduling (Free-Choice Petri Nets) t1t1 t2t2 t3t3 t4t4 t5t5 t6t6 t7t7 t1t1 t2t2 t3t3 t5t5 t6t6 Can the “adversary” ever force token overflow?

23 23 t1t1 t2t2 t4t4 t7t7 Bounded scheduling (Free-Choice Petri Nets) t1t1 t2t2 t3t3 t4t4 t5t5 t6t6 t7t7 t1t1 t2t2 t4t4 t7t7 Can the “adversary” ever force token overflow?

24 24 Bounded scheduling (Free-Choice Petri Nets) t1t1 t2t2 t3t3 t4t4 t5t5 t7t7 t6t6 Can the “adversary” ever force token overflow?

25 25 Bounded scheduling (Free-Choice Petri Nets) t1t1 t2t2 t3t3 t4t4 t5t5 t7t7 t6t6 Can the “adversary” ever force token overflow?

26 26 Bounded scheduling (Free-Choice Petri Nets) t1t1 t2t2 t3t3 t4t4 t5t5 t7t7 t6t6 Can the “adversary” ever force token overflow?

27 27 Schedulability (FCPN) Quasi-Static Scheduling at compile time find one schedule for every conditional branch at run-time choose one of these schedules according to the actual value of the data.  ={(t1 t2 t4),(t1 t3 t5)}

28 28 Bounded scheduling (Free-Choice Petri Nets) Valid schedule  is a set of finite firing sequences that return the net to its initial state contains one firing sequence for every combination of outcomes of the free choices t3t3 t2t2 t1t1 t5t5 t4t4 Schedulable  ={( t 1 t 2 t 4 ),( t 1 t 3 t 5 )} t3t3 t2t2 t1t1 t5t5 t4t4 (t1 t2 t4)(t1 t2 t4) t3t3 t2t2 t1t1 t5t5 t4t4 (t1 t3 t5)(t1 t3 t5)

29 29 How to check schedulability Basic intuition: every resolution of data- dependent choices must be schedulable Algorithm: –Decompose (by applying the Reduction Algorithm) the given Equal Conflict Net into as many Conflict-Free components as the number of possible resolutions of the non-deterministic choices. –Check if every component is statically schedulable –Derive a valid schedule, i.e. a set of finite complete cycles one for each conflict-free component

30 30 Allocatability (Hack, Teruel) An Allocation is a control function that chooses which transition fires among several conflicting ones ( A: P T). A Reduction is the Conflict Free Net generated from one Allocation by applying the Reduction Algorithm. A ECN is allocatable if every Reduction generated from an allocation is consistent. Theorem: A ECN is schedulable iff –it is allocatable and –every Reduction is schedulable (following Lee)

31 31 Reduction Algorithm t6 t1 t5 t4t2 t7 t6 t7 t1 t4t2 t4t2 t6 t1 t5 t4 t7 t2 t6 t7 t1 t4t2 t1 t3 t5 t4 t6 t2 t7 T-allocation A1={t1,t2,t4,t5,t6,t7}

32 32 How to find a valid schedule t1t1 t2t2 t4t4 t5t5 t6t6 t7t7 t9t9 t8t8 t 10 t3t3 Conflict Relation Sets:{t2,t3},{t7,t8} T-allocations: A 1 ={t 1,t 2,t 4,t 5,t 6,t 7,t 9,t 10 } A 2 ={t 1,t 3,t 4,t 5,t 6,t 7,t 9,t 10 } A 3 ={t 1,t 2,t 4,t 5,t 6,t 8,t 9,t 10 } A 4 ={t 1,t 3,t 4,t 5,t 6,t 8,t 9,t 10 }

33 33 Valid schedule t1t1 t2t2 t4t4 t5t5 t6t6 t7t7 t9t9 t1t1 t3t3 t5t5 t6t6 t7t7 t9t9 t1t1 t2t2 t4t4 t6t6 t8t8 t 10 t1t1 t3t3 t5t5 t6t6 t8t8 (t 1 t 2 t 4 t 6 t 7 t 9 t 5 )(t 1 t 3 t 5 t 6 t 7 t 9 t 5 )(t 1 t 2 t 4 t 6 t 8 t 10 )(t 1 t 3 t 5 t 6 t 8 t 10 )

34 34 C code implementation  ={(t1 t2 t1 t2 t4 t6 t7 t5) (t1 t3 t5 t6 t7 t5)} t1 t3 t5 t4 t2 2 t6t7 Task 1: { t1; if (p1) then{ t2; count(p2)++; if (count(p2) = 2) then{ t4; count(p2) = count(p2) - 2;} else{ t3; t5;} } Task 2: { t6; t7; t5; } p1 p3 p4 p2

35 35 Application example: ATM Switch Input cells: accept? Output cells: emit? Internal buffer Clock (periodic) Incoming cells (non-periodic) Outgoing cells No static schedule due to: –Inputs with independent rates (need Real-Time dynamic scheduling) –Data-dependent control (can use Quasi-Static Scheduling)

36 36 Petri Nets Model

37 37 Decomposition with min # of tasks 2 Tasks Input cell processing Output cell processing

38 38 Real-time scheduling of independent tasks + RTOS Shared Processor Task 1 Task 2

39 39 Functional decomposition 4 Tasks Accept/discard cell Output time selector Output cell enablerClock divider

40 40 ATM: experimental results Sw Implementation QSS Functional partitioning Number of tasks 2 5 Lines of C code 1664 2187 Clock cycles 197526 249726 Functional partitioning (4+1 tasks)QSS (2 tasks)

41 41 Conclusion Advantages of Quasi-Static Scheduling: QSS minimizes run-time overhead with respect to Dynamic Scheduling by Automatic partitioning of the system functions into a minimum number of concurrent tasks The underlying model is FCPN: can check schedulability before code generation Future work –Larger PN classes –Code optimizations


Download ppt "1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of."

Similar presentations


Ads by Google