1 Scheduling Mapping of tasks to time slots  Computation  Communication Mapping of power usage to time slots  Mechanical devices  Thermal subsystems.

Slides:



Advertisements
Similar presentations
Chapter 4 Partition I. Covering and Dominating.
Advertisements

© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Single Source Shortest Paths
Lecture 7 March 1, 11 discuss HW 2, Problem 3
ECE 667 Synthesis and Verification of Digital Circuits
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Chapter 4 Retiming.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
COE 561 Digital System Design & Synthesis Scheduling Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
CS3500 Software Engineering Project Management (1) In 1986 one well-known software engineer (Tom DeMarco) made the simple but important observation: “You.
Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
FUNDAMENTAL PROBLEMS AND ALGORITHMS Graph Theory and Combinational © Giovanni De Micheli Stanford University.
1 Sensor Relocation in Mobile Sensor Networks Guiling Wang, Guohong Cao, Tom La Porta, and Wensheng Zhang Department of Computer Science & Engineering.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Courseware Power-aware scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 321.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Courseware Path-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
High-level System Modeling and Power Management Techniques Jinfeng Liu Dept. of ECE, UC Irvine Sep
Extended Gantt-chart in real-time scheduling for single processor
Shortest Path Algorithm By Weston Vu CS 146. What is Shortest Paths? Shortest Paths is a part of the graph algorithm. It is used to calculate the shortest.
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
מבנה המחשב – מבוא למחשבים ספרתיים Foundations of Combinational Circuits תרגול מספר 3.
1 Scheduling Mapping of tasks to time slots  Computation  Communication Mapping of power usage to time slots  Mechanical devices  Thermal subsystems.
Graphs & Graph Algorithms Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
1 Completeness and Complexity of Bounded Model Checking.
1 Mode Selection Determine when what component is running at what mode Mode selection is non-trivial  Scheduler will be overwhelmed to determine component.
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
Saman Amarasinghe ©MIT Fall 1998 Simple Machine Model Instructions are executed in sequence –Fetch, decode, execute, store results –One instruction.
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
1 Integrated Management of Power Aware Computing & Communication Technologies Kickoff review meeting Nader Bagherzadeh, Pai H. Chou, Fadi Kurdahi University.
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
May 2004 Department of Electrical and Computer Engineering 1 ANEW GRAPH STRUCTURE FOR HARDWARE- SOFTWARE PARTITIONING OF HETEROGENEOUS SYSTEMS A NEW GRAPH.
LUNAR ROVER Concept proposal meeting Dr. Ashish Dutta Indian Institute of Technology Kanpur Kanpur, INDIA ( *** for private circulation only)
LITERATURE SURVEY 1.EFFICIENT PATH PLANNING IN SEMI- FAULT TOLERANT ROBOTICS 2. Caesar robot.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 08, 2005 Session 16.
LATA: A Latency and Throughput- Aware Packet Processing System Author: Jilong Kuang and Laxmi Bhuyan Publisher: DAC 2010 Presenter: Chun-Sheng Hsueh Date:
DP TSP Have some numbering of the vertices We will think of all our tours as beginning and ending at 1 C(S, j) = length of shortest path visiting each.
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
© 2004 Goodrich, Tamasia Recall: Digraphs A digraph is a graph whose edges are all directed Short for “directed graph” Applications one-way streets flights.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
1 SYNTHESIS of PIPELINED SYSTEMS for the CONTEMPORANEOUS EXECUTION of PERIODIC and APERIODIC TASKS with HARD REAL-TIME CONSTRAINTS Paolo Palazzari Luca.
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
Thermal-Aware Scheduling for Real-time Applications in Embedded Systems Adam Lewis, Soumik Ghosh, and N.-F. Tzeng (A) Approved for public release; distribution.
High-level System Modeling and Power Management Techniques Jinfeng Liu Dept. of ECE, UC Irvine Sep
Runtime O(VE), for +/- edges, Detects existence of neg. loops
Pipelining and Retiming
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
CS483/683 Multi-Agent Systems Lecture 2: Distributed variants of 2 important AI problems: Search and Constraint Satisfaction 21 January 2010 Instructor:
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Carnegie Mellon Lecture 8 Software Pipelining I. Introduction II. Problem Formulation III. Algorithm Reading: Chapter 10.5 – 10.6 M. LamCS243: Software.
Graphs Rosen, Chapter 8. NOT ONE OF THESE! One of these!
Scheduling Overview Conjunctive Graph; Potentials, properties and existence conditions; Methods for scheduling; Potential task method Pert method;
ECE 720T5 Fall 2012 Cyber-Physical Systems
Graphs Chapter 20.
Single-Source Shortest Path
CS120 Graphs.
More Graph Algorithms.
Instruction Scheduling Hal Perkins Summer 2004
Instruction Scheduling Hal Perkins Winter 2008
Graphs.
Richard Anderson Autumn 2016 Lecture 7
Instruction Scheduling Hal Perkins Autumn 2005
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Instruction Scheduling Hal Perkins Autumn 2011
Presentation transcript:

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 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 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 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 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 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 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 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 Timing constraints – Mars Rover

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