HW SW Partitioning. Reading. Hardware/software partitioning. Hardware/Software Codesign. CS4272: HW SW Codesign

Size: px
Start display at page:

Download "HW SW Partitioning. Reading. Hardware/software partitioning. Hardware/Software Codesign. CS4272: HW SW Codesign"

Transcription

1 CS4272: HW SW Codesign HW SW Partitioning Abhik Roychoudhury School of Computing National University of Singapore Reading Section 5.3 of textbook Embedded System Design Peter Marwedel Also must read Hardware/software partitioning using Integer programming, by Ralf Niemann URL available from CS4272 webpage. This article has a much better explanation of the same material. Modified and augmented from Peter Marwedel s lecture notes 20/09/ /09/ Hardware/Software Codesign Hardware/software partitioning No need to consider special purpose hardware in the long run? Correct for fixed functionality, but wrong in general, since By the time MPEG-n can be implemented in software, MPEG-n+1 has been invented [de Man] 20/09/ Functionality to to be be implemented in in software or or in in hardware? 20/09/ Functionality to be implemented in software or in hardware? Codesign Tool (COOL) as an example of HW/SW partitioning Decision based on on hardware/ software partitioning, a special case of of hardware/ software codesign. platform Inputs to to COOL: 1. Target 1. technology 2. Design 2. constraints 3. Required 3. behavior Design constraints refer to constraints on performance, hardware area etc. We need to clarify the other two terms. 20/09/ /09/

2 Target Technology A graph of nodes --- Nodes denote Hardware components or Processors Memories also present, but mapping of tasks to HW or Proc. Edges denote interconnections --- often in the form of buses So, Target Tech is Hardware Components Possibly of different types Set of Processors External memory and buses between them. P1 P2 M H 20/09/ /09/ Behavior Hierarchical Task Graphs What is a task graph? Typically DAG of tasks Nodes denotes specific tasks in the functionality of the system being designed Edges can denote several things Causal dependences, or in more details Communication (with weightage of data being communicated) There might exist causal dependence T1 T2 without any data being communicated from T1 to T2 Nodes of hierarchical task graphs can be task graphs Why task graphs? Reasonable way to capture repetitive reactive behavior Tasks produce output streams from input streams (from environment or other tasks). Task graphs thus represent a high-level behavioral specification of the system. How each task is described depends on who is designing it (hardware designer, programmer) Diff. from how each task will be implemented! 20/09/ /09/ Specification Approach Task graph input Input to the partitioning method is a hierarchical task graph. At the lowest level (leaves of the hierarchy), behavior of each node is specified say in VHDL Alternately in C? Mapping Processor P1 Processor P2 Hardware [Niemann, Hardware/Software Co-Design for Data Flow Dominated Embedded Systems, Kluwer Academic Publishers, 1998 (Comprehensive mathematical model)] 20/09/ /09/

3 Schematic Target Tech. VHDL System Spec. Design Constraints Schematic (solving ILP) Solving ILP Optimization Problem Syntax Graph Model Solution? no Result := ValidPartition C Code Generation VHDL Code Generation yes ValidPartition := Solution found Retargetable Compilation High-level Synthesis Cluster SW nodes Retargetable Compilation SW costs HW costs ILP optimization Problem Solve 20/09/ (contains all info.) Refine ILP problem SW costs 20/09/ Partition Refinement COOL partitioning algorithm A B 1 2 C D A,B 2 1 C,D A,B, C,D, 1, Translation of of the the behavior into an an internal graph model Translation of of the the behavior of of each node from VHDL into C (we assumed task description in in VHDL, otherwise this this step is is not not required) Compilation All All C programs compiled for for the the target processor, Computation of of the the resulting program size, estimation of of the the resulting execution time (simulation input data might be be required) Synthesis of of hardware components: leaf leaf node, application-specific hardware is is synthesized. High-level synthesis sufficiently fast. Denotes implemented in software 20/09/ /09/ COOL partitioning algorithm Flattening of of the the hierarchy: Granularity used by by the the designer is is maintained. Cost and and performance information added to to the the nodes. Precise information required for for partitioning is is pre-computed Generating and and solving a mathematical model of of the the optimization problem: Integer programming IP IP model for for optimization. Optimal with with respect to to the the cost cost function (approximates communication time) COOL partitioning algorithm Iterative improvements: Adjacent nodes mapped to to the the same hardware component are are now now merged. 20/09/ /09/

4 COOL partitioning algorithm 8. Interface synthesis: After partitioning, the glue logic required for interfacing processors, application-specific hardware and memories is created. We now describe step 6 (Integer Programming) in more details. 20/09/ Integer programming models Ingredients: Cost function Constraints Involving linear expressions of integer variables from a set X Cost function C = ai xi withai R, xi N N (1) xi X Constraints: j J b x c with b, c (2) : i, j i j i, j j R xi X Def.: The problem of minimizing (1) subject to the constraints (2) is called an integer programming (IP) problem. If all x i are constrained to be either 0 or 1, the IP problem said to be a 0/1 integer programming problem. 20/09/ R Example On integer programming C = 5x + x x + x 1 x, x, x x x {0,1} C Optimal Maximizing the the cost cost function can can be be done by by setting C =-C Integer programming is is NP-complete. In In practice, running times can can increase exponentially with with the the size size of of the the problem, but but problems of of some thousands of of variables can can still still be be solved with with commercial solvers, depending on on the the size size and and structure of of the the problem. IP IP models can can be be a good starting point for for modeling, even if if in in the the end end heuristics have to to be be used to to solve them. 20/09/ /09/ Digress: Linear Programming Example: Grocery Shopping m varieties of nutrients (vitamins, protein,..) need b 1 units of Nut 1, b 2 units of Nut 2,, b m units of Nut m. Can buy n types of food (milk, bread, beef,..) Each unit of food contains a certain number of units of each type of nutrients. a i, j represents the number of units of the ith type nutrient contained in one unit of food of the jth type. Digress: Linear Programming Milk bread fish Beef Celery. Ice-cream 1 2. n Vitamin A 1 Vitamin B Protein m 15 20/09/ /09/

5 Digress: Linear Programming Suppose you buy x 1 units of food type 1 and x 2 units of food type 2, and x n units of food type n. Then for nutrition type of type i it must be the case : a i,1. x 1 + a i,2. x a i,n. x n b i Digress: Linear Programming a 1,1. x 1 + a 1,2. x a 1,n. x n b 1 a 2,1. x 1 + a 2,2. x a 2,n. x n b 2 a i,1. x 1 + a i,2. x a i,n. x n b i a m, 1,. x 1 + a m, 2. x a m, n. x n b m 20/09/ /09/ Digress: Linear programming AX b A - m n matrix X -n 1 column vector of unknowns. b -m 1 column vector of constants. Additional constraints x j 0 (j = 1, 2, n) (why?) Cost function: z = c 1. x 1 + c 2. x c n. x n c i - the cost of one unit of food type i. Digress: Linear Programming The LP Problem. Find (x 1, x 2,, x n ) such that: All the constraints are satisfied. The cost function is minimized. If (y 1, y 2,, y n ) also satisfies all the constraints then z z where: z = c 1. x 1 + c 2. x c n. X n z = c 1. y 1 + c 2. y c n. y n 20/09/ /09/ Integer Linear Programming Demand in addition: Each x i should be an integer. Solving an ILP problem usually boils down to solving a series of LP problems. The General Idea in solving an LP: Feasible solution is a solution that satisfies all the constraints. The set of feasible solutions (for sensible LP problems!) is a convex polyhedron. One of the corner points of the polyhedron is the optimal solution. Mixed Integer Linear Programming Problem Demand the integer-value constraint only for a subset of the variables. In principle, LP problems can be solved in polynomial time. But ILP problems have only exponential time algorithms at present. NP-complete Role of ILP in solving co-design problems ILP based resource aware compilation Palsberg and Naik 20/09/ /09/

6 The Partitioning Problem Possible solution A Task Graph Target Tech. A Task Graph B C B C ASIC DSP Set of entities or tasks D G E F Memory D G E F Shared implementation Partitioning Problem: Map {A,B,C,D.E,F,G} to {ASIC, DSP}. Green color: executing in DSP 20/09/ /09/ IP model for partitioning IP model for partitioning Notation: Index set set II denotes task task graph nodes. Index set set L denotes task task graph node types e.g. e.g. square root, DCT DCT or or FFT FFT Index set set KH KHdenotes hardware component types. e.g. e.g. hardware components for for the the DCT DCT or or the the FFT. FFT. Index set set J of of hardware component instances Index set set KP KPdenotes processors. All All processors are are assumed to to be be of of the the same type X X i,k : i,k =1 if if node v i is i is mapped to to hardware component type k KH and 0 otherwise. Y Y i,k : i,k =1 if if node v i is i is mapped to to processor k KP and 0 otherwise. NY l,k =1 l,k if if at at least one node of of type l is is mapped to to processor k KP and 0 otherwise. T Tis is a mapping from task graph nodes to to their types: T: T: I L The cost function accumulates the costs: C = cost(processors) + cost(memories) + cost(application specific hardware) 20/09/ /09/ Constraints Operation assignment constraints i I = 1 : X i, k + Yi, k k KH k KP All task graph nodes have to be mapped either in software or in hardware. Variables are assumed to be integers. Additional constraints to guarantee they are either 0 or 1: i I : k KH :, 1 X i k i I : k KP :, 1 Y i k 20/09/ Operation assignment constraints (2) l L, i:t(v i )= i )= l, l, k KP: NY l,k l,k Y i,k i,k For all all types ll of of operations and and for for all all nodes iiof of this this type: if if iiis is mapped to to some processor k, k, then that that processor must implement the the functionality of of l. l. Decision variables must also also be be 0/1 0/1 variables: ll L, L, k KP: KP: NY NY l,k l,k /09/

7 Resource & design constraints k KH, the cost (area) used for for components of of that type is is calculated as as the sum of of the costs of of the components of of that type. This cost should not exceed its its maximum. k KP, the cost for for associated data storage area should not exceed its its maximum. k KP the cost for for storing instructions should not exceed its its maximum. The total cost (Σ (Σ kk KH ) KH ) of of HW components should not exceed its its maximum The total cost of of data memories (Σ (Σ kk KP ) KP ) should not exceed its its maximum The total cost instruction memories (Σ (Σ kk KP ) KP ) should not exceed its its maximum 20/09/ Timing constraints Timing constraints These constraints can can be be used to to guarantee that that certain time constraints are are met. Execution time of a node in the task graph is variable (implemented in hardware or software) This defines execution time of node as a linear expression on our decision variables. Using these execution times, we can define start and end times of each node. The end time of the sink node in the task graph should be less than pre-defined constant --- overall timing constraint on the design. 20/09/ v 1 v 2 v 3 v 4 e 3 e 4 v 5 v 6 v 7 v 8 v 9 v 10 Scheduling FIR 2 on h 1 Processor p 1 FIR 1 FIR 2 ASIC h1 Communication channel c 1 p 1 c 1 Scheduling / precedence constraints For all all nodes v i1 and i1 and v i2 that i2 that are are potentially mapped to to the the same processor or or hardware component instance, introduce a binary decision variable b i1,i2,k with i1,i2,k with b i1,i2,k =1 i1,i2,k =1 if if v i1 is i1 is executed before v i2 in i2 in component k and and = 0 otherwise. Define constraints of of the the type (end-time of of v i2 ) i2 (start time of of v i1 ) i1 if if b i1,i2,k =0 i1,i2,k =0 Ensure that that the the schedule for for executing operations is is consistent with with the the precedence constraints in in the the task task graph. v v... 3 v 4 or... v... 4 v 3 t... v... 7 v 8 or... v... 8 v 7 t... e 3... or e 4 e 4 e 3 t 20/09/ Scheduling Constraints b i1,i2,k + y i1,k 1 b i1,i2,k +y i2,k 1 b i1,i2,k + b i2,i1,k 1 b i1,i2,k + b i2,i1,k + y i1,k +y i2,k 3 Example HW HW types H1, H1, H2 H2 and and H3 H3 with with costs of of 20, 20, 25, 25, and and Processors of of type P. P. Tasks T1 T1 to to T5. T5. Execution times: Time i1 start Time i2 end (Large Const) * b i1,i2,k Time i2 start Time i1 end (Large Const) * b i2,i1,k 20/09/ T H1 H2 H3 P /09/

8 Operation assignment constraints (1) T H1 H2 H3 P X 1,1 +Y 1,1 =1 (task 1 mapped to H1 or to P) X 2,2 +Y 2,1 =1 X 3,3 +Y 3,1 =1 X 4,3 +Y 4,1 =1 X 5,1 +Y 5,1 =1 i I = 1 : X i, k + Yi, k k KH k KP Operation assignment constraints (2) Assume types of of tasks are are l l =1, =1, 2, 2, 3, 3, 3, 3, and and ll L, L, i:t(v i )= i )= ll k KP: KP: NY NY l,k l,k Y i,k i,k Functionality 3 to be implemented on processor if node 4 is mapped to it. 20/09/ /09/ Other equations Time constraints leading to: Application specific hardware required for time constraints under 100 time units. T H1 H2 H3 P Cost function: C=20 #(H1) + 25 #(H2) + 30 # (H3) + cost(processor) + cost(memory) 20/09/ Result For a time constraint of of time units and and cost(p)<cost(h3): T H1 H2 H3 P Solution (educated guessing) : T1 H1 T2 H2 T3 P T4 P T5 H1 20/09/ Separation of scheduling and partitioning Combined scheduling/partitioning very complex; Heuristic: Compute approx. time values. Perform partitioning for for approx. time values. Perform final scheduling using the the above partition. If If final final schedule does not not meet time constraint, go go to to 1 using a reduced overall timing constraint. Actual execution time specification approx. execution time t 1 st Iteration Actual execution time New specification approx. execution time 2 nd Iteration 20/09/ t How to get approx time? Compute start and end times of each node without the scheduling constraints. Only basic constraints based on topological ordering in the task graph. Time start i Σ predecessors j Y j,k * (sw time of j on k) Similarly for hardware Time start i Time end j + Σ j path(j,i) Y j,k * (sw time of j on k) where j is the dominator of i in task graph. (similar constraints for hardware costs). Compute partitioning with these time values. Then solve the scheduling using the given partition. 20/09/

9 Application example Audio lab lab (mixer, fader, echo, equalizer, balance units); slow SPARC processor 1µ 1µ ASIC library Allowable delay of of µs µs (~ (~ 44.1 khz) Running time for COOL optimization SPARC processor ASIC (Compass, 1 µ) External memory Outdated technology; just a proof of concept. 20/09/ Only simple models can be solved optimally. 20/09/ Deviation from optimal design Running time for heuristic Hardly any loss in design quality. 20/09/ /09/ Design space for audio lab Final remarks COOL approach: shows that that formal model of of hardware/sw codesign is is beneficial; IP IP modeling can can lead lead to to useful implementation even if if optimal result is is available only only for for small designs. Other approaches for for HW/SW partitioning: starting with with everything mapped to to hardware; gradually moving to to software as as long as as timing constraint is is met. starting with with everything mapped to to software; gradually moving to to hardware until timing constraint is is met. Simple approaches like like Binary search. Everything in software: 72.9 µs, 0 λ 2 Everything in hardware: 3.06 µs, 457.9x10 6 λ 2 Lowest cost for given sample rate: 18.6 µs, 78.4x10 6 λ 2, 20/09/ /09/

10 Exercise Exercise T1 T2 T3 160 time units T4 T5 At most 2 nodes can be implemented in HW ASIC. Each ASIC costs 20 units and each software implementation costs 5 units. Each task s HW execution is 8 time units and the SW execution is 60 time units. Total execution time should be less than 160 time units. Perform HW-SW partitioning for this task graph. 20/09/ /09/ Exercises A. Consider a traffic light controller with two different lights each of which must be red when the other is not red. They both start in the red state. When one of them receives a start event, it performs a cycle going from red to green to yellow and back to red. When either light reaches the red state, it tells the other to perform a cycle. Exercise A 1. Draw the above as a statechart. 2. Identify what features of statechart you found most useful? B. Event broadcasting allows output of a transition to serve as triggers of transitions in orthogonal components of a system. Can such broadcast go on in an infinite loop? Construct a small example statechart to show that this is possible. 20/09/ tm(n): a timeout transition triggered after a specified amount of time (n) 20/09/2007 has passed. 58 Exercise B 20/09/

Hardware/ Software Partitioning

Hardware/ Software Partitioning Hardware/ Software Partitioning Peter Marwedel TU Dortmund, Informatik 12 Germany Marwedel, 2003 Graphics: Alexandra Nolte, Gesine 2011 年 12 月 09 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

Econ 172A - Slides from Lecture 2

Econ 172A - Slides from Lecture 2 Econ 205 Sobel Econ 172A - Slides from Lecture 2 Joel Sobel September 28, 2010 Announcements 1. Sections this evening (Peterson 110, 8-9 or 9-10). 2. Podcasts available when I remember to use microphone.

More information

Standard Optimization Techniques

Standard Optimization Techniques 12 Standard Optimization Techniques Peter Marwedel TU Dortmund, Informatik 12 Germany Springer, 2010 2012 年 12 月 19 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Structure

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

Hardware/Software Partitioning using Integer Programming. Ralf Niemann, Peter Marwedel. University of Dortmund. D Dortmund, Germany

Hardware/Software Partitioning using Integer Programming. Ralf Niemann, Peter Marwedel. University of Dortmund. D Dortmund, Germany Hardware/Software using Integer Programming Ralf Niemann, Peter Marwedel Dept. of Computer Science II University of Dortmund D-44221 Dortmund, Germany Abstract One of the key problems in hardware/software

More information

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999 HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

An Algorithm for Hardware/Software Partitioning. Using Mixed Integer Linear Programming

An Algorithm for Hardware/Software Partitioning. Using Mixed Integer Linear Programming ,, 1{34 () c Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming RALF NIEMANN AND PETER MARWEDEL

More information

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Standard Optimization Techniques

Standard Optimization Techniques 12 Standard Optimization Techniques Peter Marwedel Informatik 12 TU Dortmund Germany 2009/12/10 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft cliparts. All Microsoft restrictions

More information

Figure : Example Precedence Graph

Figure : Example Precedence Graph CS787: Advanced Algorithms Topic: Scheduling with Precedence Constraints Presenter(s): James Jolly, Pratima Kolan 17.5.1 Motivation 17.5.1.1 Objective Consider the problem of scheduling a collection of

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 7 Discrete optimization models and applications; complexity

MVE165/MMG631 Linear and integer optimization with applications Lecture 7 Discrete optimization models and applications; complexity MVE165/MMG631 Linear and integer optimization with applications Lecture 7 Discrete optimization models and applications; complexity Ann-Brith Strömberg 2019 04 09 Lecture 7 Linear and integer optimization

More information

Hardware/Software Partitioning of Digital Systems

Hardware/Software Partitioning of Digital Systems Hardware/Software Partitioning of Digital Systems F. Dufour Advisor: M. Radetzki Department of Technical Computer Science University of Stuttgart Seminar Embedded Systems Outline 1 Partitioning and digital

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

Workload Characterization Techniques

Workload Characterization Techniques Workload Characterization Techniques Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse567-08/

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign 3. Partitioning Marco Platzner Lothar Thiele by the authors 1 Overview A Model for System Synthesis The Partitioning Problem General Partitioning Methods HW/SW-Partitioning Methods

More information

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs Financial Optimization ISE 347/447 Lecture 13 Dr. Ted Ralphs ISE 347/447 Lecture 13 1 Reading for This Lecture C&T Chapter 11 ISE 347/447 Lecture 13 2 Integer Linear Optimization An integer linear optimization

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Partitioning for Better Synthesis Results

Partitioning for Better Synthesis Results 3 Partitioning for Better Synthesis Results Learning Objectives After completing this lab, you should be able to: Use the group and ungroup commands to repartition a design within Design Analyzer Analyze

More information

Introduction Warp Processors Dynamic HW/SW Partitioning. Introduction Standard binary - Separating Function and Architecture

Introduction Warp Processors Dynamic HW/SW Partitioning. Introduction Standard binary - Separating Function and Architecture Roman Lysecky Department of Electrical and Computer Engineering University of Arizona Dynamic HW/SW Partitioning Initially execute application in software only 5 Partitioned application executes faster

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

More information

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING 1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation

More information

IE 5531: Engineering Optimization I

IE 5531: Engineering Optimization I IE 5531: Engineering Optimization I Lecture 3: Linear Programming, Continued Prof. John Gunnar Carlsson September 15, 2010 Prof. John Gunnar Carlsson IE 5531: Engineering Optimization I September 15, 2010

More information

Karthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1

Karthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1 Karthik Narayanan, Santosh Madiraju EEL6935 - Embedded Systems Seminar 1/41 1 Efficient Search Space Exploration for HW-SW Partitioning Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS

More information

The Simplex Algorithm for LP, and an Open Problem

The Simplex Algorithm for LP, and an Open Problem The Simplex Algorithm for LP, and an Open Problem Linear Programming: General Formulation Inputs: real-valued m x n matrix A, and vectors c in R n and b in R m Output: n-dimensional vector x There is one

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

Slides for Faculty Oxford University Press All rights reserved.

Slides for Faculty Oxford University Press All rights reserved. Oxford University Press 2013 Slides for Faculty Assistance Preliminaries Author: Vivek Kulkarni vivek_kulkarni@yahoo.com Outline Following topics are covered in the slides: Basic concepts, namely, symbols,

More information

Social-Network Graphs

Social-Network Graphs Social-Network Graphs Mining Social Networks Facebook, Google+, Twitter Email Networks, Collaboration Networks Identify communities Similar to clustering Communities usually overlap Identify similarities

More information

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014 5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

Math 273a: Optimization Linear programming

Math 273a: Optimization Linear programming Math 273a: Optimization Linear programming Instructor: Wotao Yin Department of Mathematics, UCLA Fall 2015 some material taken from the textbook Chong-Zak, 4th Ed. History The word programming used traditionally

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Excel for Algebra 1 Lesson 5: The Solver

Excel for Algebra 1 Lesson 5: The Solver Excel for Algebra 1 Lesson 5: The Solver OK, what s The Solver? Speaking very informally, the Solver is like Goal Seek on steroids. It s a lot more powerful, but it s also more challenging to control.

More information

Models for grids. Computer vision: models, learning and inference. Multi label Denoising. Binary Denoising. Denoising Goal.

Models for grids. Computer vision: models, learning and inference. Multi label Denoising. Binary Denoising. Denoising Goal. Models for grids Computer vision: models, learning and inference Chapter 9 Graphical Models Consider models where one unknown world state at each pixel in the image takes the form of a grid. Loops in the

More information

AMS : Combinatorial Optimization Homework Problems - Week V

AMS : Combinatorial Optimization Homework Problems - Week V AMS 553.766: Combinatorial Optimization Homework Problems - Week V For the following problems, A R m n will be m n matrices, and b R m. An affine subspace is the set of solutions to a a system of linear

More information

MPSoC Design Space Exploration Framework

MPSoC Design Space Exploration Framework MPSoC Design Space Exploration Framework Gerd Ascheid RWTH Aachen University, Germany Outline Motivation: MPSoC requirements in wireless and multimedia MPSoC design space exploration framework Summary

More information

LINEAR PROGRAMMING INTRODUCTION 12.1 LINEAR PROGRAMMING. Three Classical Linear Programming Problems (L.P.P.)

LINEAR PROGRAMMING INTRODUCTION 12.1 LINEAR PROGRAMMING. Three Classical Linear Programming Problems (L.P.P.) LINEAR PROGRAMMING 12 INTRODUCTION ou are familiar with linear equations and linear inequations in one and two variables. They can be solved algebraically or graphically (by drawing a line diagram in case

More information

Hardware/Software Co-Design/Co-Verification

Hardware/Software Co-Design/Co-Verification Hardware/Software Co-Design/Co-Verification Sungho Kang Yonsei University Outline Introduction Co-design Methodology Partitioning Scheduling Co-Simulation Systems Timed Co-simulation Multimedia Examples

More information

REGULAR GRAPHS OF GIVEN GIRTH. Contents

REGULAR GRAPHS OF GIVEN GIRTH. Contents REGULAR GRAPHS OF GIVEN GIRTH BROOKE ULLERY Contents 1. Introduction This paper gives an introduction to the area of graph theory dealing with properties of regular graphs of given girth. A large portion

More information

Association for Computing Machinery Hong Kong Chapter Collegiate Programming Contest 2003

Association for Computing Machinery Hong Kong Chapter Collegiate Programming Contest 2003 Association for Computing Machinery Hong Kong Chapter Collegiate Programming Contest Venue: The University of Hong Kong Date: June,. Time: :pm to 6:pm Number of questions: 6 Number of non-cover pages:

More information

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016 Simulation Lecture O Optimization: Linear Programming Saeed Bastani April 06 Outline of the course Linear Programming ( lecture) Integer Programming ( lecture) Heuristics and Metaheursitics (3 lectures)

More information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

More information

Partitioning Methods. Outline

Partitioning Methods. Outline Partitioning Methods 1 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation Specification Refinement Co-synthesis Techniques

More information

Lecture Compiler Backend

Lecture Compiler Backend Lecture 19-23 Compiler Backend Jianwen Zhu Electrical and Computer Engineering University of Toronto Jianwen Zhu 2009 - P. 1 Backend Tasks Instruction selection Map virtual instructions To machine instructions

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR An Introduction to FPGA Placement Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR

More information

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage).

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage). Linear Programming Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory: Feasible Set, Vertices, Existence of Solutions. Equivalent formulations. Outline

More information

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued. Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

More information

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS TIMOTHY L. VIS Abstract. A significant problem in finite optimization is the assignment problem. In essence, the assignment

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

NOTATION AND TERMINOLOGY

NOTATION AND TERMINOLOGY 15.053x, Optimization Methods in Business Analytics Fall, 2016 October 4, 2016 A glossary of notation and terms used in 15.053x Weeks 1, 2, 3, 4 and 5. (The most recent week's terms are in blue). NOTATION

More information

DD2429 Computational Photography :00-19:00

DD2429 Computational Photography :00-19:00 . Examination: DD2429 Computational Photography 202-0-8 4:00-9:00 Each problem gives max 5 points. In order to pass you need about 0-5 points. You are allowed to use the lecture notes and standard list

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

More information

This Lecture. We will first introduce some basic set theory before we do counting. Basic Definitions. Operations on Sets.

This Lecture. We will first introduce some basic set theory before we do counting. Basic Definitions. Operations on Sets. Sets A B C This Lecture We will first introduce some basic set theory before we do counting. Basic Definitions Operations on Sets Set Identities Defining Sets Definition: A set is an unordered collection

More information

Lecture 7: Introduction to Co-synthesis Algorithms

Lecture 7: Introduction to Co-synthesis Algorithms Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Lecture 14: Linear Programming II

Lecture 14: Linear Programming II A Theorist s Toolkit (CMU 18-859T, Fall 013) Lecture 14: Linear Programming II October 3, 013 Lecturer: Ryan O Donnell Scribe: Stylianos Despotakis 1 Introduction At a big conference in Wisconsin in 1948

More information

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m}

More information

Linear Programming. them such that they

Linear Programming. them such that they Linear Programming l Another "Sledgehammer" in our toolkit l Many problems fit into the Linear Programming approach l These are optimization tasks where both the constraints and the objective are linear

More information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

Planning and Optimization

Planning and Optimization Planning and Optimization F3. Post-hoc Optimization & Operator Counting Malte Helmert and Gabriele Röger Universität Basel December 6, 2017 Post-hoc Optimization Heuristic Content of this Course: Heuristic

More information

WDM Network Provisioning

WDM Network Provisioning IO2654 Optical Networking WDM Network Provisioning Paolo Monti Optical Networks Lab (ONLab), Communication Systems Department (COS) http://web.it.kth.se/~pmonti/ Some of the material is taken from the

More information

Advanced Algorithms Linear Programming

Advanced Algorithms Linear Programming Reading: Advanced Algorithms Linear Programming CLRS, Chapter29 (2 nd ed. onward). Linear Algebra and Its Applications, by Gilbert Strang, chapter 8 Linear Programming, by Vasek Chvatal Introduction to

More information

6 Randomized rounding of semidefinite programs

6 Randomized rounding of semidefinite programs 6 Randomized rounding of semidefinite programs We now turn to a new tool which gives substantially improved performance guarantees for some problems We now show how nonlinear programming relaxations can

More information

Embedded Systems Design with Platform FPGAs

Embedded Systems Design with Platform FPGAs Embedded Systems Design with Platform FPGAs Spatial Design Ron Sass and Andrew G. Schmidt http://www.rcs.uncc.edu/ rsass University of North Carolina at Charlotte Spring 2011 Embedded Systems Design with

More information

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

Research Interests Optimization:

Research Interests Optimization: Mitchell: Research interests 1 Research Interests Optimization: looking for the best solution from among a number of candidates. Prototypical optimization problem: min f(x) subject to g(x) 0 x X IR n Here,

More information

Architectural-Level Synthesis. Giovanni De Micheli Integrated Systems Centre EPF Lausanne

Architectural-Level Synthesis. Giovanni De Micheli Integrated Systems Centre EPF Lausanne Architectural-Level Synthesis Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers are not

More information

The Polyhedral Model (Transformations)

The Polyhedral Model (Transformations) The Polyhedral Model (Transformations) Announcements HW4 is due Wednesday February 22 th Project proposal is due NEXT Friday, extension so that example with tool is possible (see resources website for

More information

Lecture Notes 2: The Simplex Algorithm

Lecture Notes 2: The Simplex Algorithm Algorithmic Methods 25/10/2010 Lecture Notes 2: The Simplex Algorithm Professor: Yossi Azar Scribe:Kiril Solovey 1 Introduction In this lecture we will present the Simplex algorithm, finish some unresolved

More information

Discrete Mathematics. Kruskal, order, sorting, induction

Discrete Mathematics.   Kruskal, order, sorting, induction Discrete Mathematics wwwmifvult/~algis Kruskal, order, sorting, induction Kruskal algorithm Kruskal s Algorithm for Minimal Spanning Trees The algorithm constructs a minimal spanning tree as follows: Starting

More information

No model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine

No model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine No model may be available Programmer Software Abstractions Tests Coverage Code Abhik Roychoudhury CS 5219 National University of Singapore Testing Debug Today s lecture Abstract model (Boolean pgm.) Desirable

More information

Methods and Models for Combinatorial Optimization Modeling by Linear Programming

Methods and Models for Combinatorial Optimization Modeling by Linear Programming Methods and Models for Combinatorial Optimization Modeling by Linear Programming Luigi De Giovanni, Marco Di Summa 1 Linear programming models Linear programming models are a special class of mathematical

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign SS 2016 Prof. Dr. Christian Plessl High-Performance IT Systems group University of Paderborn Version 2.2.0 2016-04-08 how to design a "digital TV set top box" Motivating Example

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

More information

Optimization Techniques for Design Space Exploration

Optimization Techniques for Design Space Exploration 0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated

More information

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK VOL., NO., JUNE 08 ISSN 896608 00608 Asian Research Publishing Network (ARPN). All rights reserved. LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK Y. J. Lee Department

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

1 Parsing (25 pts, 5 each)

1 Parsing (25 pts, 5 each) CSC173 FLAT 2014 ANSWERS AND FFQ 30 September 2014 Please write your name on the bluebook. You may use two sides of handwritten notes. Perfect score is 75 points out of 85 possible. Stay cool and please

More information

Hardware-Software Codesign. 9. Worst Case Execution Time Analysis

Hardware-Software Codesign. 9. Worst Case Execution Time Analysis Hardware-Software Codesign 9. Worst Case Execution Time Analysis Lothar Thiele 9-1 System Design Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems Keely L. Croxton Fisher College of Business The Ohio State University Bernard Gendron Département

More information

(Refer Slide Time: 1:27)

(Refer Slide Time: 1:27) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data

More information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information