Download presentation
Presentation is loading. Please wait.
1
1 Scheduling Mapping of tasks to time slots Computation Communication Mapping of power usage to time slots Mechanical devices Thermal subsystems Other electronics subsystems Constraints Real-time deadlines, periods, min/max separation Power budget, power surge (min/max) Potentially scenario-driven
2
2 Existing techniques Deadline based real-time scheduling on single execution resource Rate-monotonic scheduling Periodic events on single processor No event can overlap with others Timing constraint graph scheduling Events bounded by timing constraints Serialize event sequences in a single execution resource t
3
3 Challenges Schedule events on multiple execution resources Rate-monotonic scheduling Events on multiple resources with dependencies across resources Event on different resources can overlap Timing constraint graph scheduling Multiple resources to execute events Timing constraints across different resources Multiple serializable execution paths on execution resources t Resource A Resource B Resource AResource BResource C
4
4 Constraint graph Graph G = (V, E) Vertexes: v / (v) Name: v, event identifier Weight: (v), execution time Edges: v w / ev,w Positive edge v w, weight ev,w: min constraint Negative edge v w, weight -ew,v: max constraint Scheduling algorithm Traverse all nodes in sequence - serialize events on single processor Satisfy timing constraints - no positive loop is allowed
5
5 Algorithm Serialize(Graph G, anchor a, candidate c) { L a := Single source longest paths (G, a); if positive cycle found, return Fail ; C := topological successors of candidate c; if (C is empty ) return schedule with (v) = longest path from a; D := C; while (D not empty) { v := SelectSuccessor(D); B: foreach u C - {v} { add edge (v, u) to G, with weight e vu = Max( (v), La(u) - La(v)); /* delay all successors by at least (v) */ } Serialize(G, a, v); if (schedule found) return schedule; Undo step B;/* else - positive cycle or backtrack */ } /* while */ return Fail ; /* no more candidates */ }
6
6 Extended constraint graph Graph G = (V, E) Vertexes: v / r / (v) Name: v, event identifier Resource: r, execution resource of the event Weight: (v), execution time Edges: v w / ev,w Positive edge v w, weight ev,w: min constraint Negative edge v w, weight -ew,v: max constraint Scheduling algorithm Traverse nodes of each resource in sequence - serialize events on each execution resource Satisfy timing constraints - no positive loop is allowed
7
7 Algorithm Serialize(Graph G, anchor a, candidate c) { L a := Single source longest paths (G, a); if positive cycle found, return Fail ; C := topological successors of candidate c; if (C is empty ) return schedule with (v) = longest path from a; D := C; while (D not empty) { v := SelectSuccessor(D); B: foreach u C - {v} { if (R v = R u ) { /* add edge to events on same execution resource */ add edge (v, u) to G, with weight e vu = Max( (v), La(u) - La(v)); } Serialize(G, a, v); if (schedule found) return schedule; Undo step B;/* else - positive cycle or backtrack */ } /* while */ return Fail ; /* no more candidates */ }
8
8 Example revisited – Mars Rover System specification 6 wheel motors 4 steering motors System health check Hazard detection Power supply Battery (non-rechargeable) Solar panel Power consumption Digital Computation, imaging, communication, control Mechanical Driving, steering Thermal Motors must be heated in low-temperature environment
9
9 Timing constraints – Mars Rover
10
10 Scheduling method Constraint graph construction Nodes: operations Edges: precedence relationship between operations Resource specification Resource: an executing unit that can perform operations independently Six thermal resources for wheel heating Four thermal resources for steer motor heating One mechanical resource for driving One mechanical resource for steering One computation resource for control Operations on one resource must be serialized Scheduling Primary resource selection Schedule primary resource by applying graph algorithms Auxiliary resources and power requirement are considered as scheduling constraints
11
11 Constraint graph System health check / T hc t hc -(t hc + T hc ) Heat wheel 1 / T hw Heat wheel 2 / T hw Heat wheel 3 / T hw Heat wheel 4 / T hw Heat wheel 5 / T hw Heat wheel 6 / T hw Heat steer 2 / T hs Heat steer 3 / T hs Heat steer 4 / T hs Hazard detection / T hd Steer / T s Drive / T d - t hw -t hs Heat steer 1 / T hs
12
12 -t hs + T hs_E -t hw + T hw_E t hc -(t hc + T hc ) Resource specification Hazard detection (C) / T hc / P hc_C Health check (C) / T hc / P hc_C Heat steer i (C) / T hs_C / P hs_C Heat steer i (T) / T hs_T / P hs_T Heat wheel j (C) / T hw_C / P hw_C Heat wheel j (T) / T hw_T / P hw_T Steer (C) / T s_C / P s_C Steer (M) / T s_M / P s_M Drive (C) / T d_C / P d_C Drive (M) / T d_M / P d_M Health check (C) / T hc / P hc_C Computation Mechanical Thermal Heat steer i Heat wheel j Health check Steer Drive Hazard detection
13
13 Scheduling graph Hazard detection (C) / T hc / P hc_C Heat steer i (C) / T hs_E / P hs_E Heat steer i (T) / T hs_T / P hs_T Heat wheel j (C) / T hw_E / P hw_E Heat wheel j (T) / T hw_T / P hw_T Steer (C) / T s_C / P s_C Steer (M) / T s_M / P s_M Drive (C) / T d_C / P d_C Drive (M) / T d_M / P d_M -t hs + T hs_E -t hw Primary resource: Computation Auxiliary resource: Mechanical Auxiliary resource: Thermal Health check (C) / T hc / P hc_C t hc -(t hc + T hc ) -t hs -t hw + T hw_E -T s_C + T s_M
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.