System Partitioning Kris Kuchcinski

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
G5BAIM Artificial Intelligence Methods
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.
Neural and Evolutionary Computing - Lecture 4 1 Random Search Algorithms. Simulated Annealing Motivation Simple Random Search Algorithms Simulated Annealing.
Multi-Objective Optimization NP-Hard Conflicting objectives – Flow shop with both minimum makespan and tardiness objective – TSP problem with minimum distance,
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
Date:2011/06/08 吳昕澧 BOA: The Bayesian Optimization Algorithm.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
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.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
MAE 552 – Heuristic Optimization
Mahapatra-Texas A&M-Fall'001 Partitioning - I Introduction to Partitioning.
Merging Synthesis With Layout For Soc Design -- Research Status Jinian Bian and Hongxi Xue Dept. Of Computer Science and Technology, Tsinghua University,
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
A New Approach for Task Level Computational Resource Bi-Partitioning Gang Wang, Wenrui Gong, Ryan Kastner Express Lab, Dept. of ECE, University of California,
Review Rong Jin. Comparison of Different Classification Models  The goal of all classifiers Predicating class label y for an input x Estimate p(y|x)
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
PRESENTED BY: MOHAMAD HAMMAM ALSAFRJALANI UFL ECE Dept. 3/19/2010 UFL ECE Dept 1 SYSTEM LEVEL HARDWARE/SOFTWARE PARTITIONING BASED ON SIMULATED ANNEALING.
Image Registration of Very Large Images via Genetic Programming Sarit Chicotay Omid E. David Nathan S. Netanyahu CVPR ‘14 Workshop on Registration of Very.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
SBSE Course 4. Overview: Design Translate requirements into a representation of software Focuses on –Data structures –Architecture –Interfaces –Algorithmic.
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
1 Partitioning Methods. 2 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation.
1 Local search and optimization Local search= use single current state and move to neighboring states. Advantages: –Use very little memory –Find often.
May 2004 Department of Electrical and Computer Engineering 1 ANEW GRAPH STRUCTURE FOR HARDWARE- SOFTWARE PARTITIONING OF HETEROGENEOUS SYSTEMS A NEW GRAPH.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
SOFTWARE / HARDWARE PARTITIONING TECHNIQUES SHaPES: A New Approach.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
L11: Lower Power High Level Synthesis(2) 성균관대학교 조 준 동 교수
High Performance Embedded Computing © 2007 Elsevier Lecture 18: Hardware/Software Codesign Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
USC Search Space Properties for Pipelined FPGA Applications University of Southern California Information Sciences Institute Heidi Ziegler, Mary Hall,
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
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.
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.
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.
Optimization Problems
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
1 Microarray Clustering. 2 Outline Microarrays Hierarchical Clustering K-Means Clustering Corrupted Cliques Problem CAST Clustering Algorithm.
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dynamic Mapping Dr. Xiao Qin Auburn University
Systems Architectures System Integration & Architecture.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Clustering [Idea only, Chapter 10.1, 10.2, 10.4].
Optimization Problems
The Hardware / Software Tradeoff -John Burnette-
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Optimization Problems
Multi-Objective Optimization
Partitioning Presented by AMIT KUMAR GUPTA(2001VLS007)
The use of Neural Networks to schedule flow-shop with dynamic job arrival ‘A Multi-Neural Network Learning for lot Sizing and Sequencing on a Flow-Shop’
Text Categorization Berlin Chen 2003 Reference:
Clustering.
Presentation transcript:

System Partitioning Kris Kuchcinski

Partitioning “He who can properly define and divide is to be considered a god.” Plato (ca BC)

System Partitioning 1.The functionality of a system is implemented with a set of interconnected system components, such as ASIC’s, memories, CPU’s, buses. two problems 2.The designer must solve two problems: select a set of system components (allocation), partition the system’s functionality among these components (partitioning). 3.The final implementation has to satisfy a set of design constraints, such as: cost,cost, performance andperformance and power consumptionpower consumption

Structural Partitioning interconnected hardware components 1.First the system components are implemented using interconnected hardware components. 2.Partitioning separates the objects into groups, where each group represents a system component. 3.Mostly used at lower levels of abstraction for hardware partitioning. 4.Satisfies certain constraints (for instance packaging). 5.Problems: – size/performance tradeoffs are difficult, – large number of objects.

Functional Partitioning 1.The system level functionality is partitioned in order to divide the behavior of the system between multiple components. 2.Usually executable model is partitioned and therefore the estimation of parameters and partitioning results is possible. 3.Advantages: size/performance tradeoffs, – size/performance tradeoffs, – small number of objects, – hardware/software solutions.

Partitioning Granularity 1.Coarse granularity deals with processes, subprograms, blocks of statements, typical for system-level synthesis, deals with a relatively small number of objects. Fine granularity 2. Fine granularity performed at operation level, used during high-level synthesis, high complexity.

Abstract Representation 1. Structure. 2. Register transfer. 3. FSM with datapath. 4. Control/data-flow graph (CDFG) appropriate for operation level partitioning (HLS). 5. Task appropriate for system level partitioning.

Task Partitioning

CDFG Partitioning

System Partitioning

Metrics and Estimations ❚ Partitioning algorithms have to rely on a quantitative measure of a candidate solution’s goodness. Metrics ❚ Metrics — attributes which characterize a given solution; –they are expressed quantitatively. Metrics ❚ Metrics include: – cost, –execution time, –communication rates, –power consumption, –testability, –reliability, –program size, – data size –and memory size.

Metrics and Estimations Estimation determines a metric value from a rough implementation. Inaccuracy can be tolerated as long as the relative goodness of any two partitions is determined correctly.

Objective Function and Closeness function Objective function 1. Objective function: overall qualitya combination of metrics which captures the overall quality of a certain partitioning. Closeness function 2. Closeness function: captures the benefit gained from grouping two objects into the same partition; local viewit is based on a local view of the system.

Example Partitioning Objective We want to minimize this function

Example of an Objective Function We want to minimize this function

Design Constraints We want to minimize this function

Example of an Objective Function We want to minimize this function

Closeness Function We want to maximize this function

Partitioning Approaches 1. Manually guided partitioning 2. Needs strong support from design environment: – estimation tools & schedulers, – facilities to interactively perform predefined transformations and to define new ones, – graphical interfaces. 3. Automatic partitioning

Automatic Partitioning is NP- complete. 1. The partitioning problem is NP- complete. 2. The design space has to be explored according to a certain strategy 3.This strategy converges towards a solution close to one which yields the minimal cost.

Automatic Partitioning Approaches ConstructiveConstructive (clustering) –bottom up approach: each object initially belongs to its own cluster, and clusters are then gradually merged until the desired partitioning is found; –does not require a global view of the system –relies only on local relations between objects (closeness metrics).

Automatic Partitioning Approaches (cont’d) Iterative Iterative (transformation-based) objective function –based on a design space exploration which is guided by an objective function that reflects the global quality of the partitioning; a starting solution is modified iteratively, by passing from one candidate solution to another passing is based on evaluations of an objective function.

Hierarchical clustering A constructive approach: –performed in several iterations –with final goal to group a set of objects into partitions according to some measure of closeness. two closest objectsAt each iteration the two closest objects are grouped together; –the process is iterated until a single cluster is produced.

Hierarchical cluster tree 1. The cluster tree contains leafs: leafs: original objects internal nodes: internal nodes: clustered objects height: height: associated to each non-terminal node; reflects the distance between the two objects that have been merged into the corresponding cluster. 2. A certain partitioning is selected by cutting the cluster tree with a “cut line”; each subtree below the cut line becomes one resulting partition. 3.The closeness function is defined between the initial objects; estimatedat successive iterations, closeness between different groups of objects have to be estimated based on the closeness between individual objects.

Example of Hierarchical Clustering (in this case we assume function MAX for labels, but any other function is possible) Modify to max Assume 3 elements in partition Last slide 3

Transformation Based Partitioning neighborhood search.Transformation based approaches perform different variants of neighborhood search. Neighborhood N(x) of a solution x is a set of solutions that can be reached from x by a simple operation (move). Greedy partitioning algorithms have tendency to be trapped in local minima. There exist algorithms which help to escape from local minima: – Kernighan-Lin, –Simulated Annealing, –Tabu Search, –Genetic Algorithms, –etc.

Kernighan-Lin Algorithm Replace nodes v1 and v5 Small cost of cut We do some example first

Kerninghan-Lin algorithm

Kernighan-Lin Algorithm cont

Objective Function in Kernighan-Lin Algorithm KL and similar algorithms

Neighborhood Search in KL and similar algorithms

Simulated Annealing for generating X now

Simulated Annealing may worsen the solution. Best one must be remembered

Software Hardware Partitioning Hardware/software partitioning is very often treated as a particular two way partitioning in which: – performance has to be maximized and –hardware size to be minimized; Assumptions: – microprocessor and ASIC working in parallel; – reducing the amount of communication between the microprocessor and the hardware coprocessor –improves the overall performance of the system. Objective: –Maximal performance at a given cost limit.

Hw/Sw Partitioning (cont’d) Partitioning is based on metric values derived from: –profiling, –static analysis of the specification, –and cost estimation. Performance improvement based on assumption that better performance is obtained if –computation intensive processes are mapped into hardware, –parallelism is improved, – inter-domain communication is reduced

Summary on paritioning in System level synthesis 1.The partitioning problem is NP-complete and has to be solved using optimization heuristics. 2.Partitioning heuristics are constructive or transformation based. 3.Hierarchical clustering 3.Hierarchical clustering is one of the most used constructive approaches. 4.Transformational approaches are based on neighborhood search. hardware software partitioning 5.A hardware software partitioning for acceleration is done by placing computation intensive processes into hardware, improving parallelism and reducing inter- domain communication.

Literature P. Eles, K. Kuchcinski and Z. Peng, System Synthesis with VHDL, Kluwer Academic Publisher, 1998.