Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning.

Slides:



Advertisements
Similar presentations
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Advertisements

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.
Hadi Goudarzi and Massoud Pedram
ECE-777 System Level Design and Automation Hardware/Software Co-design
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
1 of 14 1 /23 Flexibility Driven Scheduling and Mapping for Distributed Real-Time Systems Paul Pop, Petru Eles, Zebo Peng Department of Computer and Information.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Efficient Software Performance Estimation Methods for Hardware/Software Codesign Kei Suzuki Alberto Sangiovanni-Vincentelli Present: Yanmei Li.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Parallel Simulation etc Roger Curry Presentation on Load Balancing.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Core-based SoCs Testing Julien Pouget Embedded Systems Laboratory (ESLAB) Linköping University Julien Pouget Embedded Systems Laboratory (ESLAB) Linköping.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
Chapter 13 Embedded Systems
System Partitioning Kris Kuchcinski
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Mahapatra-Texas A&M-Fall'001 Partitioning - II Functional partitioning.
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
On the Task Assignment Problem : Two New Efficient Heuristic Algorithms.
ICS 252 Introduction to Computer Design
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Co-Synthesis Algorithms Part of HW/SW Codesign of Embedded Systems Course (CE )
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Heterogeneous and Grid Computing2 Communication models u Modeling the performance of communications –Huge area –Two main communities »Network designers.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
1 of 14 1 / 18 An Approach to Incremental Design of Distributed Embedded Systems Paul Pop, Petru Eles, Traian Pop, Zebo Peng Department of Computer and.
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Low-Power Wireless Sensor Networks
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: HW/SW Partitioning Part of HW/SW Codesign of Embedded Systems Course (CE )
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 2: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Lecture 10: Logic Emulation October 8, 2013 ECE 636 Reconfigurable Computing Lecture 13 Logic Emulation.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
L13 :Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Static Process Scheduling
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Dec 1, 2005 Part 2.
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: Distributed System Co- Synthesis Part of HW/SW Codesign of Embedded Systems Course.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
Load Balancing : The Goal Given a collection of tasks comprising a computation and a set of computers on which these tasks may be executed, find the mapping.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
Application-Aware Traffic Scheduling for Workload Offloading in Mobile Clouds Liang Tong, Wei Gao University of Tennessee – Knoxville IEEE INFOCOM
1 Chapter 5 Branch-and-bound Framework and Its Applications.
Pradeep Konduri Static Process Scheduling:  Proceedance process model  Communication system model  Application  Dicussion.
Partitioning Introduction to Partitioning Rabi Mahapatra.
Dynamo: A Runtime Codesign Environment
Conception of parallel algorithms
Introduction to Partitioning Rabi Mahapatra
ICS 252 Introduction to Computer Design
Discrete Controller Synthesis
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning

Mahapatra-Texas A&M-Fall'002 Synthesis Why synthesis? –Synthesis converts behavioral process into customized digital-hardware processor. Problems with large behavioral processes: –synthesis runtime lasts tens of hours or more –resulting processor may have high power consumption –package size may exceed the constraints

Mahapatra-Texas A&M-Fall'003 Possible remedies  synthesis runtime lasts tens of hours or more - use heuristic and trade of the quality  resulting processor may have high power consumption - isolation of processor sub-circuit to avoid unnecessary signal switching  package size may exceed the constraints - structural partitioning of processor

Mahapatra-Texas A&M-Fall'004 System partitioning System level partitioning problem  Assignment of an operation to HW or SW determines the delay of the operation Assignment of operation to a processor and to more application-specific HW circuits involve additional delays due to communication overhead. Good partitioning scheme  Minimize this communication Assignment of operations to hardware or software

Mahapatra-Texas A&M-Fall'005 System partitioning contd.. Increasing operations in software on a single processor  increases processor utilization system performance: depends on hw-sw partition on utilization of processor and bandwidth of bus between processor and application specific hardware. Characteristic of Partitioning scheme: capture and make use of partition’s effect on system performance in making trade-off between hw and sw implementation of an operation. –Devise a “partition cost function”.

Mahapatra-Texas A&M-Fall'006 Partitioning Cost function: –Directs the partitioning algorithm towards desired solution optimum solution is minimum cost function Need to capture: –effects of size of hw/sw parts –effects on timing behavior of these portions on cost function ( contrast: optimized area/pinout) difficult due to the problem being global in nature approximation is used to account the effect on total latency

Mahapatra-Texas A&M-Fall'007 Partitioning Partitioning in software: extensive use of statistical timing properties to drive partitioning algorithm. –Dynamic or runtime, excess time.., flexible Partitioning in hardware: attempts to divide circuits that implement schedule operations. –Static, less time, non-flexible An intermediate approach is advised: incrementally computable of cost function f. –partial, deterministic bound on timing properties,

Mahapatra-Texas A&M-Fall'008 Timing properties in partition cost function Logic-level Hardware- software Program- level PartialStaticDynamic None Deterministic bounds Statistical Timing properties in partition cost function Scheduling flexibility

9 A Partitioning cost function Consider software model in terms of set of program threads and cost function f. –where, I (per second) is thread latency: execution delay –  i (per second) thread reaction rate: invocation rate of the program thread processor utilization P is calculated by P =  i  i Bus utilization B (per second) =  r j “ m variables to be transferred, rj = inverse of minimum time interval between consecutive samples for variable r ”. ASIC r1 r2 r3 Bus 11 22 33 i=1 n m j=1

Mahapatra-Texas A&M-Fall'0010 Partition cost function Software characterization using, , P and B: static bound –can be used to select appropriate partition of system functionality between hardware and software. over estimation of processor and bus bandwidth is possible (since actual distribution of data communication is not captured above) Include S H (hardware size ) bottom up. Characterize interface using set of communication ports (one per variable) –overhead due to communication between hw and sw is manifested by the utilization of bus bandwidth.

Mahapatra-Texas A&M-Fall'0011 Partitioning with cost function From a given set of sequencing graph models and timing constraints, create two sets of sequencing graph models such that one can be implemented in hw and the other in sw and the following is true: –timing constraints are satisfied for the two sets of graph models –processor utilization, P  1 –bus utilization, B  B’ –A partition cost function, f = f (S H,, B, P -1, m) is minimized.

Mahapatra-Texas A&M-Fall'0012 Partitioning using heuristics Minimum cost function can be achieved by trying very large number of solutions ( exponential relation to number of operations ) –heuristics are used for good solution that may show minimum cost function for some local properties Start with constructive initial solution on which iterative procedure can be applied to improve the solution –exchange operations or paths between partitions, apply procedure A good heuristic is relatively insensitive to initial solution –exchange of large number of operation makes it more insensitive to starting solution

Mahapatra-Texas A&M-Fall'0013 More to continue More on functional partitioning Algorithms used for partitioning Assignments : – partitioning some benchmark problems in Ptolemy environment. Current reference : –Rajesh Gupta et.al. “Hardware-Software Cosynthesis for Digital Systems”, IEEE Design & Test of computers, Sept 1993.