Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.

Slides:



Advertisements
Similar presentations
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Advertisements

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
ECE 667 Synthesis and Verification of Digital Circuits
Example of Scheduling and Allocation based on Jaap Hofstede IIR Filter.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
1 Lecture 10: Static ILP Basics Topics: loop unrolling, static branch prediction, VLIW (Sections 4.1 – 4.4)
Courseware Abstract RTOS Modelling for Multi-Processor SoC using SystemC Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of.
Constraint Programming for Compiler Optimization March 2006.
Optimal Instruction Scheduling for Multi-Issue Processors using Constraint Programming Abid M. Malik and Peter van Beek David R. Cheriton School of Computer.
COE 561 Digital System Design & Synthesis Scheduling Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
Courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
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.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
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 &
FPGA Latency Optimization Using System-level Transformations and DFG Restructuring Daniel Gomez-Prado, Maciej Ciesielski, and Russell Tessier Department.
PERFORMANCE OPTIMIZATION OF SINGLE-PHASE LEVEL-SENSITIVE CIRCUITS BARIS TASKIN AND IVAN S. KOURTEV UNIVERSITY OF PITTSBURGH DEPARTMENT OF ELECTRICAL ENGINEERING.
Carnegie Mellon 1 Optimal Scheduling “in a lifetime” for the SPIRAL compiler Frédéric de Mesmay Theodoros Strigkos based on Y. Voronenko’s idea.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Courseware Path-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
ECE Synthesis & Verification - Lecture 3 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Pipelining and Retiming 1 Pipelining  Adding registers along a path  split combinational logic into multiple cycles  increase clock rate  increase.
 Based on the resource constraints a lower bound on the iteration interval is estimated  Synthesis targeting reconfigurable logic (e.g. FPGA) faces the.
1 Lecture 5: Pipeline Wrap-up, Static ILP Basics Topics: loop unrolling, VLIW (Sections 2.1 – 2.2) Assignment 1 due at the start of class on Thursday.
Simulated-Annealing-Based Solution By Gonzalo Zea s Shih-Fu Liu s
Courseware Force-Directed Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
Data Partitioning for Reconfigurable Architectures with Distributed Block RAM Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Bitwidth-Aware Scheduling and Binding in High-Level Synthesis X. Cheng +, J. Cong, Y. Fan, G. Han, J. Lin, J. Xu +, Z. Zhang Computer Science Department,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
High Level Synthesis. Tasks of the Designer/Manager These ideas apply to the design itself, must be reproduced in the chip.
SCHEDULING SOURCES- Mark Manwaring Kia Bazargan Giovanni De Micheli Gupta Youn-Long Lin M. Balakrishnan Camposano, J. Hofstede, Knapp, MacMillen Lin.
ECE Synthesis & Verification - Lecture 4 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Allocation:
ICS 252 Introduction to Computer Design
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
CS541 Advanced Networking 1 Introduction to Optimization Neil Tang 2/23/2009.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Problem Background Motivation Design a task and bus scheduling tool that works with the automotive design process and captures the constraints that the.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Tabu Search-Based Synthesis of Dynamically Reconfigurable Digital Microfluidic Biochips Elena Maftei, Paul Pop, Jan Madsen Technical University of Denmark.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Fall 2002 Lecture 14: Instruction Scheduling. Saman Amarasinghe ©MIT Fall 1998 Outline Modern architectures Branch delay slots Introduction to.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
A Graph Based Algorithm for Data Path Optimization in Custom Processors J. Trajkovic, M. Reshadi, B. Gorjiara, D. Gajski Center for Embedded Computer Systems.
26 th International Conference on VLSI January 2013 Pune,India Optimum Test Schedule for SoC with Specified Clock Frequencies and Supply Voltages Vijay.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
1 SYNTHESIS of PIPELINED SYSTEMS for the CONTEMPORANEOUS EXECUTION of PERIODIC and APERIODIC TASKS with HARD REAL-TIME CONSTRAINTS Paolo Palazzari Luca.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
L12 : Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
A High-Level Synthesis Flow for Custom Instruction Set Extensions for Application-Specific Processors Asia and South Pacific Design Automation Conference.
Wajid Minhass, Paul Pop, Jan Madsen Technical University of Denmark
Carnegie Mellon Lecture 8 Software Pipelining I. Introduction II. Problem Formulation III. Algorithm Reading: Chapter 10.5 – 10.6 M. LamCS243: Software.
Optimization Models for Fixed Channel Assignment in Wireless Mesh Networks with Multiple Radios Arindam K. Das, Sumit Roy, SECON Kim Young.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
1 Placement-Aware Architectural Synthesis of Digital Microfluidic Biochips using ILP Elena Maftei Institute of Informatics and Mathematical Modelling Technical.
ECE 565 High-Level Synthesis—An Introduction
Systems of Equations and Inequalities
James D. Z. Ma Department of Electrical and Computer Engineering
Architecture Synthesis
Resource Sharing and Binding
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
ICS 252 Introduction to Computer Design
“Rate-Optimal” Resource-Constrained Software Pipelining
Presentation transcript:

courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark

SoC-MOBINET courseware[M-1] High-Level Synthesis2 Outline  Introduction - The new approach & objective - Automated data path synthesis  ILP Formulation  Example  Generalizations  Experimental Results  Conclusion

SoC-MOBINET courseware[M-1] High-Level Synthesis3 The New Approach  Solve scheduling problem 1) ASAP -> start time 2) ALAP -> require time 3) ILP (Integer Linear Programming)

SoC-MOBINET courseware[M-1] High-Level Synthesis4 Objective  Fully utilize the hardware resources i.e. minimize the requirement of function units under a given timing constraint

SoC-MOBINET courseware[M-1] High-Level Synthesis5 Support different kinds of data path  Multicycle operations  Multiple operations per cycle  Pipelined data paths  Mutually exclusive operations  Variables’ lifetime consideration

SoC-MOBINET courseware[M-1] High-Level Synthesis6 Automated Data Path Synthesis  Scheduling  Allocation  Tightly interdependent

SoC-MOBINET courseware[M-1] High-Level Synthesis7 Scheduling  ** very important  FIX 1) number & types of function units 2) lifetime of variables 3) timing constraints

SoC-MOBINET courseware[M-1] High-Level Synthesis8 The New Approach 1) ASAP 2) ALAP 3) ILP (Integer Linear Programming) Function Units:  Fully utilized  minimize maximal no.

SoC-MOBINET courseware[M-1] High-Level Synthesis9 The ILP Formulation 2 Assumptions:  Each operation – 1 cycle propagation delay  Consider non-pipelined data path

SoC-MOBINET courseware[M-1] High-Level Synthesis10 Data Flow Graph  n operations  s steps  o i – each operation 1 ≤ i ≤ n  o i  o j – precedence relation o i immediate predecessor of o j  m types of function units

SoC-MOBINET courseware[M-1] High-Level Synthesis11  S i – start time (ASAP)  L i – require time (ALAP)  C t i – cost of function unit of type t i (FU t i )  M t i – number of function unit of type t i  x i,j – 1: if o i is scheduled into step j 0: otherwise

SoC-MOBINET courseware[M-1] High-Level Synthesis12 Formulas (1,2)  Minimize total function unit cost O i Є FU t k for 1 ≤ j ≤ s, 1 ≤ k ≤ m  No control step should contain more than M t k function unit of type t k

SoC-MOBINET courseware[M-1] High-Level Synthesis13 Formulas (3,4)  o i can only be scheduled into a step between S i & L i for all o i  o k for 1 ≤ i ≤ n  Ensure the precedence relations of DFG will be preserved

SoC-MOBINET courseware[M-1] High-Level Synthesis14 Example  Available function units: ~ multipliers (FU t 1 ) ~ ALUs (FU t 2 )  Cost: ~ C t 1 = 5 ~ C t 2 = 1

SoC-MOBINET courseware[M-1] High-Level Synthesis15 Example  Integer programming formulation (formulas 1,2) minimize 5Mt 1 + Mt 2 O i Є FU t k

SoC-MOBINET courseware[M-1] High-Level Synthesis16 Example  Integer programming formulation (formulas 3,4) O 6  O 7 O 8  O 9 O 10  O 11

SoC-MOBINET courseware[M-1] High-Level Synthesis17 Example  Scheduling result -- optimal this formulation  variables x 1,1, x 2,1, x 3,2, x 4,3, x 5,4, x 7,3, x 8,3, x 9,4, x 10,1 & x 11,2 => 1  2 multipliers & 2 ALUs

SoC-MOBINET courseware[M-1] High-Level Synthesis18 Generalizations  Multicycle operations  Multiple operations per cycle  Pipelined data paths  Mutually exclusive operations  Variables’ lifetime consideration

SoC-MOBINET courseware[M-1] High-Level Synthesis19 Multicycle Operations  o i – operation  d i – delay for 1 ≤ j ≤ s, 1 ≤ k ≤ m for all o i  o k - d i

SoC-MOBINET courseware[M-1] High-Level Synthesis20 Multiple Operations per Cycle  New precedence relation  oi => oj -- oj is the nearest successor of oi for all o i => o k for all o i  o k 0

SoC-MOBINET courseware[M-1] High-Level Synthesis21 Pipelined Data Paths  l: fixed latency (integer multiple of a clock cycle)  | s i – s j |: integer multiple of l

SoC-MOBINET courseware[M-1] High-Level Synthesis22 Mutually Exclusive Operations  If o i, o j – two mutually exclusive operations,X(o i, o j ) = 1 otherwise X(o i, o j ) = 0  Both scheduled in control step k  Count function unit cost as 1, not 2  New 0/1 integer variable y k -- 0 if x i,k = x j,k = if otherwise  x i,k + x j,k = y k in constraint (2)

SoC-MOBINET courseware[M-1] High-Level Synthesis23 Variables’ Lifetime Consideration  Function unit cost for both schedules are the same, but fewer number of registers needed in Fig(a)

SoC-MOBINET courseware[M-1] High-Level Synthesis24 Variables’ Lifetime Consideration  SLK i,j – difference between the assigned control steps of o i, o j (o i  o j )  Minimize total step differences minimize

SoC-MOBINET courseware[M-1] High-Level Synthesis25 Experimental Results

SoC-MOBINET courseware[M-1] High-Level Synthesis26 Experimental Results  Fifth order wave filter  Containing 26 addition (1 cycle) & 8 multiplication (2 cycles) operations

SoC-MOBINET courseware[M-1] High-Level Synthesis27 Conclusion  Integer Linear Programming formulation (ILP)  minimize the function unit cost  Quite acceptable for practical synthesis  Always find the optimal solution  Different kinds of data path are taken into account

courseware THE END Thanks