Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides.

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Advertisements

fakultät für informatik informatik 12 technische universität dortmund Additional compiler optimizations Peter Marwedel TU Dortmund Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques Peter Marwedel Informatik 12 TU Dortmund Germany.
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik
fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Technische universität dortmund fakultät für informatik informatik 12 Specifications, Modeling, and Model of Computation Jian-Jia Chen (slides are based.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
ECE 667 Synthesis and Verification of Digital Circuits
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
CPE555A: Real-Time Embedded Systems
Fakultät für informatik informatik 12 technische universität dortmund Lab 3: Scheduling - Session 10 - Peter Marwedel Heiko Falk TU Dortmund Informatik.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Mehdi Kargahi School of ECE University of Tehran
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Systems Exercise 2: Scheduling Real-Time Aperiodic Tasks.
Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides.
Martha Garcia.  Goals of Static Process Scheduling  Types of Static Process Scheduling  Future Research  References.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 17: April 2, 2008 Scheduling Introduction.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Deterministic Scheduling
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
ICS 252 Introduction to Computer Design
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Scheduling Parallel Task
Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Distributed Real-Time systems 1 By: Mahdi Sadeghizadeh Website: Sadeghizadeh.ir Advanced Computer Networks.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Task Alloc. In Dist. Embed. Systems Murat Semerci A.Yasin Çitkaya CMPE 511 COMPUTER ARCHITECTURE.
Computer Science 12 Embedded Systems Group © H. Falk | Dortmund, 08-Jul-08 Overview about Computer Science 12 at Dortmund University of Technology Heiko.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Real Time Operating Systems Scheduling & Schedulers Course originally developed by Maj Ron Smith 8-Oct-15 Dr. Alain Beaulieu Scheduling & Schedulers- 7.
Static Process Schedule Csc8320 Chapter 5.2 Yunmei Lu
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Multiprocessor Real-time Scheduling Jing Ma 马靖. Classification Partitioned Scheduling In the partitioned approach, the tasks are statically partitioned.
Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany 2013 年 12 月 02 日 These slides use Microsoft clip arts. Microsoft copyright.
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Summary :-Distributed Process Scheduling Prepared By:- Monika Patel.
6. Application mapping 6.1 Problem definition
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
An Energy-efficient Task Scheduler for Multi-core Platforms with per-core DVFS Based on Task Characteristics Ching-Chi Lin Institute of Information Science,
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Mapping: Applications  Processors
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Static Process Scheduling
Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2012 年 12 月 19 日 These slides use Microsoft clip.
Introduction to Real-Time Systems
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 3.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
Pradeep Konduri Static Process Scheduling:  Proceedance process model  Communication system model  Application  Dicussion.
Lecture 6: Real-Time Scheduling
Embedded System Scheduling
Scheduling Determines the precise start time of each task.
Standard Optimization Techniques
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
ICS 252 Introduction to Computer Design
Presentation transcript:

Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft clip arts. Microsoft copyright restrictions apply 年 06 月 22 日

- 2 -  p. marwedel, informatik 12, 2011 Structure of this course 2: Specification 3: ES-hardware 4: system software (RTOS, middleware, …) 8: Test 5: Evaluation & Validation (energy, cost, performance, …) 7: Optimization 6: Application mapping Application Knowledge Design repository Design Numbers denote sequence of chapters

- 3 -  p. marwedel, informatik 12, 2011 Classification of Scheduling Problems Scheduling Independent Tasks EDD, EDF, LLF, RMS Dependent Tasks Resource constrained Time constrained Uncon- strained ASAP, ALAP FDSLS 1 Proc. LDF

- 4 -  p. marwedel, informatik 12, 2011 Scheduling with precedence constraints Task graph and possible schedule:

- 5 -  p. marwedel, informatik 12, 2011 Simultaneous Arrival Times: The Latest Deadline First (LDF) Algorithm LDF [Lawler, 1973]: reads the task graph and among the tasks with no successors inserts the one with the latest deadline into a queue. It then repeats this process, putting tasks whose successor have all been selected into the queue. At run-time, the tasks are executed in the generated total order. LDF is non-preemptive and is optimal for mono-processors. If no local deadlines exist, LDF performs just a topological sort.

- 6 -  p. marwedel, informatik 12, 2011 Asynchronous Arrival Times: Modified EDF Algorithm This case can be handled with a modified EDF algorithm. The key idea is to transform the problem from a given set of dependent tasks into a set of independent tasks with different timing parameters [Chetto90]. This algorithm is optimal for mono-processor systems. If preemption is not allowed, the heuristic algorithm developed by Stankovic and Ramamritham can be used.

- 7 -  p. marwedel, informatik 12, 2011 Dependent tasks The problem of deciding whether or not a schedule exists for a set of dependent tasks and a given deadline is NP-complete in general [Garey/Johnson]. Strategies: 1.Add resources, so that scheduling becomes easier 2.Split problem into static and dynamic part so that only a minimum of decisions need to be taken at run-time. 3.Use scheduling algorithms from high-level synthesis

- 8 -  p. marwedel, informatik 12, 2011 Classes of mapping algorithms considered in this course  Classical scheduling algorithms Mostly for independent tasks & ignoring communication, mostly for mono- and homogeneous multiprocessors  Dependent tasks as considered in architectural synthesis Initially designed in different context, but applicable  Hardware/software partitioning Dependent tasks, heterogeneous systems, focus on resource assignment  Design space exploration using genetic algorithms Heterogeneous systems, incl. communication modeling

- 9 -  p. marwedel, informatik 12, 2011 Task graph Assumption: execution time = 1 for all tasks a bcdefg hij klm n z

 p. marwedel, informatik 12, 2011 As soon as possible (ASAP) scheduling ASAP: All tasks are scheduled as early as possible Loop over (integer) time steps:  Compute the set of unscheduled tasks for which all predecessors have finished their computation  Schedule these tasks to start at the current time step.

 p. marwedel, informatik 12, 2011 As soon as possible (ASAP) scheduling: Example  =0  =2  =3  =4  =5 a bcdefg hij klm n z  =1

 p. marwedel, informatik 12, 2011 As-late-as-possible (ALAP) scheduling ALAP: All tasks are scheduled as late as possible Start at last time step*: Schedule tasks with no successors and tasks for which all successors have already been scheduled. * Generate a list, starting at its end

 p. marwedel, informatik 12, 2011 As-late-as-possible (ALAP) scheduling: Example  =0  =2  =3  =4  =5 Start a bcdefg hij klm n z  =1

 p. marwedel, informatik 12, 2011 (Resource constrained) List Scheduling List scheduling: extension of ALAP/ASAP method Preparation:  Topological sort of task graph G=(V,E)  Computation of priority of each task: Possible priorities u : Number of successors Longest path Mobility =  (ALAP schedule)-  (ASAP schedule) Source: Teich: Dig. HW/SW Systeme

 p. marwedel, informatik 12, 2011 Mobility as a priority function urgent less urgent Mobility is not very precise  =1  =2  =3  =4  =5  =1  =2  =3  =4  =5 a bcdefg hij klm n z  =0 a bcdefg hij klm n z

 p. marwedel, informatik 12, 2011 Algorithm List( G(V,E), B, u ){ i :=0; repeat { Compute set of candidate tasks A i ; Compute set of not terminated tasks G i ; Select S i  A i of maximum priority r such that | S i | + | G i | ≤ B (*resource constraint*) foreach ( v j  S i ):  ( v j ):= i ; (*set start time*) i := i +1; } until (all nodes are scheduled); return (  ); } Complexity: O (| V |) may be repeated for different task/ processor classes

 p. marwedel, informatik 12, 2011 Example Assuming B =2, unit execution time and u : path length u(a)= u(b)=4 u(c)= u(f)=3 u(d)= u(g)= u(h)= u(j)=2 u(e)= u(i)= u(k)=1  i : G i =0 ab i cf g hj k d e a b c f g d e h i j k  =0  =1  =2  =3  =4  =5 Modified example based on J. Teich

 p. marwedel, informatik 12, 2011 (Time constrained) Force-directed scheduling Goal: balanced utilization of resources Based on spring model; Originally proposed for high-level synthesis * [Pierre G. Paulin, J.P. Knight, Force-directed scheduling in automatic data path synthesis, Design Automation Conference (DAC), 1987, S ] © ACM

 p. marwedel, informatik 12, 2011 Phase 1: Generation of ASAP and ALAP Schedule  =1  =2  =3  =4  =5  =1  =2  =3  =4  =5 a bcdefg hij klm n z  =0 a bcdefg hij klm n z

 p. marwedel, informatik 12, 2011 Next: computation of “forces”  Direct forces push each task into the direction of lower values of D(i).  Impact of direct forces on dependent tasks taken into account by indirect forces  Balanced resource usage  smallest forces  For our simple example and time constraint=6: result = ALAP schedule i  =1  =2  =3  =4  =5 a bcdefg hij klm n z  =0  More precisely …

 p. marwedel, informatik 12, Compute time frames R ( j ); 2. Compute “probability“ P(j,i) of assignment j  i R ( j )={ASAP-control step … ALAP-control step} if 0 otherwise

 p. marwedel, informatik 12, Compute “distribution” D(i) (# Operations in control step i ) P(j,i)D(i)D(i)

 p. marwedel, informatik 12, Compute direct forces (1)   P i ( j, i ‘):  for force on task j in time step i ‘, if j is mapped to time step i. The new probability for executing j in i is 1; the previous was P ( j, i ).  The new probability for executing j in i‘  i is 0; the previous was P ( j, i ). i if otherwise

 p. marwedel, informatik 12, Compute direct forces (2)  SF ( j, i ) is the overall change of direct forces resulting from the mapping of j to time step i. Example otherwise if

 p. marwedel, informatik 12, Compute direct forces (3) Direct force if task/operation 1 is mapped to time step 2

 p. marwedel, informatik 12, Compute indirect forces (1) D Mapping task 1 to time step 2 implies mapping task 2 to time step 3  Consider predecessor and successor forces:  P j, i ( j‘, i ‘) is the  in the probability of mapping j‘ to i ‘ resulting from the mapping of j to i j‘  predecessor of j j‘  successor of j

 p. marwedel, informatik 12, Compute indirect forces (2) Example: Computation of successor forces for task 1 in time step 2 j‘  predecessor of j j‘  successor of j

 p. marwedel, informatik 12, 2011 Overall forces The total force is the sum of direct and indirect forces: In the example: The low value suggests mapping task 1 to time step 2

 p. marwedel, informatik 12, 2011 Overall approach procedure forceDirectedScheduling; begin AsapScheduling; AlapScheduling; while not all tasks scheduled do begin select task T with smallest total force; schedule task T at time step minimizing forces; recompute forces; end; end May be repeated for different task/ processor classes Not sufficient for today's complex, heterogeneous hardware platforms

 p. marwedel, informatik 12, 2011 Evaluation of HLS-Scheduling  Focus on considering dependencies  Mostly heuristics, few proofs on optimality  Not using global knowledge about periods etc.  Considering discrete time intervals  Variable execution time available only as an extension  Includes modeling of heterogeneous systems

 p. marwedel, informatik 12, 2011 Overview Scheduling of aperiodic tasks with real-time constraints: Table with some known algorithms: Equal arrival times; non-preemptive Arbitrary arrival times; preemptive Independent tasks EDD (Jackson)EDF (Horn) Dependent tasks LDF (Lawler), ASAP, ALAP, LS, FDS EDF* (Chetto)

 p. marwedel, informatik 12, 2011 Conclusion  HLS-based scheduling ASAP ALAP List scheduling (LS) Force-directed scheduling (FDS)  Evaluation