On the Phase Coupling Problem between Data Memory Layout Generation and Address Pointer Assignment

Size: px
Start display at page:

Download "On the Phase Coupling Problem between Data Memory Layout Generation and Address Pointer Assignment"

Transcription

1 On the Phase Coupling Problem between Data Memory Layout Generation and Address Pointer Assignment Bernhard Wess and Thomas Zeitlhofer Institute of Communications and Radio-Frequency Engineering INSTITUT FÜR NACHRICHTENTECHNIK UND HOCHFREQUENZTECHNIK

2 Outline Introduction Simple offset assignment (SOA) General offset assignment (GOA) Quadratic Assignment Problem (QAP) Optimum address pointer assignment (APA) Iterative GOA Example Experimental results Conclusions B. Wess, T. Zeitlhofer, August 5, 4 p.

3 Simple Offset Assignment (SOA) Memory layout generation for a given data access stream. for a given access stream... Memory Layout a Data Access Stream d c c d b e a f b c d e f single address pointer, [, +] B. Wess, T. Zeitlhofer, August 5, 4 p. 3

4 General Offset Assignment (GOA) Address pointer assignment and memory layout generation for a given data access stream. Memory Layout a Data Access Stream d c c d b e a f b c d e f two address pointers, [, +] B. Wess, T. Zeitlhofer, August 5, 4 p. 3

5 Optimization Problem Memory layout generation and address pointer assignment for a given data access stream Parameters Number of address pointers, auto-modify range, linear/modulo addressing Objective Minimization of data address computation overhead Complexity Number of solution space points: K M N! for data access stream length M, N program variables and K address pointers. B. Wess, T. Zeitlhofer, August 5, 4 p. 4

6 Some Definitions Let V be a set of program variables. Each variable v i V is identified by index i {,,..., N} with N = V. A data access stream S = v s(), v s(),..., v s(m) is defined by a function s : {,,..., M} {,,..., N} where M = S denotes the stream length and N M. The image s(l) of any l {,,..., M} defines the program variable v s(l) on position l in the data access stream S. B. Wess, T. Zeitlhofer, August 5, 4 p. 5

7 Memory Layout A memory layout is a permutation π : {,,..., N} {,,..., N} that assigns addresses to all program variables which appear in the access stream S. Let us assume that an address register points to v i and it should be used for accessing v j. To this end, the address pointer has to be modified by address offset π(j) π(i). AGUs of DSPs support zero-cost address pointer updates for a limited set of offset values. Obviously, costs can be minimized by memory layout optimization. B. Wess, T. Zeitlhofer, August 5, 4 p. 6

8 Quadratic Assignment Problem Let c ij with i, j {,,..., N} be a cost value for redirecting an address pointer from address i to the new address j. Additionally, let t S ij specify how often address j is accessed right after address i in S. For a single address pointer, the address computation costs can be expressed by C = N N c ij t S π(i)π(j). i= j= Modifying π such that C becomes a minimum is a quadratic assignment problem (QAP). B. Wess, T. Zeitlhofer, August 5, 4 p. 7

9 QAP Example Access Stream: S = e, a, f, d, c, h, g, b, h, b, a, b, h, e, f Auto-Modify Range: [, ] d c f a e b h g v πa (i) d c f ae b h g h b e a f d c g v πb (i) h b e a f d c g linear addressing modulo addressing B. Wess, T. Zeitlhofer, August 5, 4 p.

10 Access Graph We define an undirected graph G = (V, E) to represent the access transitions between program variables in S and call G the access graph of S. Each node in the graph corresponds to a unique program variable. There is an undirected edge e = (v i, v j ) E in G with weight w(e) if the program variables v i and v j are adjacent w(e) times in S. Note that G is always a connected graph. B. Wess, T. Zeitlhofer, August 5, 4 p.

11 SOA in the Access Graph AGUs with auto-modify range [, ] and single address pointer. SOA is equivalent to searching for maximum-weighted Hamiltonian paths in the access graph. Example: S = a, b, c, d, e, f, a, d, a, d, a, c, d, f, a, d Access Graph a b e c 5 f d Memory Layout b c d a f e path weight: addressing costs: C = 4 B. Wess, T. Zeitlhofer, August 5, 4 p. 3

12 Auto-Modify Range [ r, r] Example: S = a, b, c, d, e, f, a, d, a, d, a, c, d, f, a, d, [, ] Access Graph a b e c 5 f d Memory Layout path weight: 9 addressing costs: C = Optimum layout does not correspond to a maximum-weighted Hamiltonian path b c a d f e B. Wess, T. Zeitlhofer, August 5, 4 p. 5

13 GOA Some Definitions Both memory layout and address pointer assignment are optimized. Assigning address pointers can be regarded as K-coloring the access stream S. A coloring of S is a partition that decomposes {,,..., M} into K disjoint subsets. Each subset defines an access stream with S k = v sk (), v sk (),..., v sk (M k ) s k : {,,..., M k } {,,..., M} and K k= M k = M. For each S k, all elements appear in the same relative order as in S. B. Wess, T. Zeitlhofer, August 5, 4 p. 6

14 Multiple Index Registers Separate transition matrix for each color k GOA minimizes C K = K k= N i= N j= c ij t S k π(i)π(j) Example: K =, modulo addressing with auto-modify range [, ] S = b, f, e, j, e, a, h, d, g, a, f, h, e, b, a, j, c, i, c, j e f b a j g c i h d v π(i) e f b a j g ci h d e f b a j g c i h d v π(i) e f b a j g ci h d red transition matrix blue transition matrix B. Wess, T. Zeitlhofer, August 5, 4 p. 7

15 Optimization Space memory layout data access stream pointer assignment B. Wess, T. Zeitlhofer, August 5, 4 p. 8

16 Optimum Address Pointer Assignment Assumptions: Fixed memory layout, homogeneous address pointer set Address pointer assignment by coloring the access stream of length M K M colorings exist ( K... number of pointers) Search space pruning by identifying equivalent substream colorings complexity is reduced to O(M N K ) for N M program variables Equivalent substream colorings are identified by investigation of pointer positions B. Wess, T. Zeitlhofer, August 5, 4 p. 9

17 APA Example Data access stream S = d c c d b e a f Address pointers p and p Fixed memory layout a b 3 c 4 d 5 e 6 f Initialization: p points to variable d B. Wess, T. Zeitlhofer, August 5, 4 p.

18 Example Coloring Tree for K = Sequence: dccdbeaf d Layout: abcbef c c d b e a f Initialization Costs I: add for each new pointer Total Costs: C = I + (K + )C K = B. Wess, T. Zeitlhofer, August 5, 4 p.

19 Example Computing Cost Values Access Stream: dccdbeaf d Layout: abcbdef c c d b e a f Initialization Costs I: add for each new pointer Total Costs: C = I + (K + )C K = B. Wess, T. Zeitlhofer, August 5, 4 p.

20 APA Complexity Analysis 8 7 search space complexity K K M M N K ( ) N + K M K K address pointers, N program variables, M accesses optimum solutions feasible M N =.5 N = 5 B. Wess, T. Zeitlhofer, August 5, 4 p. 3

21 APA Experimental Results N M opt. W = W = C C time [s] C time [s] < 87 < 6 3 < < < < Most complex OffsetStone examples, K = 3, heuristically pruned search tree width W B. Wess, T. Zeitlhofer, August 5, 4 p. 4

22 Bandwidth OA is related to the bandwidth minimization problem (BMP) of graphs. The bandwidth bw of π is defined as the maximum distance between the images under π of any two nodes that are connected by an edge, bw(π) = max { π(i) π(j) (v i, v j ) E}. The bandwidth BW of G is defined as the least possible bandwidth for any layout of G, BW (G) = min {bw(π) π is a layout of G}. B. Wess, T. Zeitlhofer, August 5, 4 p. 5

23 Maximum Bandwidth-r Graphs Assuming a symmetric offset range we introduce the maximum bandwidth-r graph Ĝ(V, Ê, r) where Ê = max{ (v i, v j ) V V BW (Ĝ) = r}. This graph defines all zero-cost transitions for a given range r and layout π. The structure of Ĝ for r = : B. Wess, T. Zeitlhofer, August 5, 4 p. 6

24 GOA Minimizing C K for symmetric update ranges may also be interpreted as mapping the access graph G onto the maximum bandwidth-r graph Ĝ subject to the cost function C K = e Ẽ w(e) with Ẽ = {(v i, v j ) E (v i, v j ) / Ê}. An optimized mapping may be generated by. permutation of vertices, which corresponds to memory layout (π) modifications and/or. adding/removing edges to/from the access graph G, which corresponds to pointer assignment (s k ) modifications. B. Wess, T. Zeitlhofer, August 5, 4 p. 7

25 Iterative GOA data access stream G highly optimized GOA solution OA APA. Data access stream initial access graph. Memory layout generation 3. Optimum APA modified access graph 4. Repeat steps and 3 until no further cost reduction B. Wess, T. Zeitlhofer, August 5, 4 p. 8

26 Iterative GOA Example Cont d Data Access Stream: S =,,, 3,, 4,, 5, 3, 6, 7,, 8,, 9, 3, Initial access graph G and memory layout π B. Wess, T. Zeitlhofer, August 5, 4 p. 9

27 Iterative GOA Example Cont d Data Access Stream: S =,,, 3,, 4,, 5, 3, 6, 7,, 8,, 9, 3, APA for π new access graph G B. Wess, T. Zeitlhofer, August 5, 4 p. 3

28 Iterative GOA Example Cont d Data Access Stream: S =,,, 3,, 4,, 5, 3, 6, 7,, 8,, 9, 3, G new memory layout π B. Wess, T. Zeitlhofer, August 5, 4 p. 3

29 Iterative GOA Example Cont d Data Access Stream: S =,,, 3,, 4,, 5, 3, 6, 7,, 8,, 9, 3, APA for π new access graph G B. Wess, T. Zeitlhofer, August 5, 4 p. 3

30 Iterative GOA Example Cont d Data Access Stream: S =,,, 3,, 4,, 5, 3, 6, 7,, 8,, 9, 3, G new memory layout π B. Wess, T. Zeitlhofer, August 5, 4 p. 33

31 Iterative GOA Experimental Results M N IG IG SA Number of required address pointer reloads for K =, M access sequence length, N number of program variables, IG iterative GOA with optimized initial memory layout, IG iterative GOA with first appearance initial memory layout, SA simulated annealing B. Wess, T. Zeitlhofer, August 5, 4 p. 34

32 Iterative GOA Experimental Results Cont d 79 access streams from the OffsetStone benchmark suite with length up to, r = and two address pointers. relative frequency [%] cost reduction Cost value reduction for iterative GOA. B. Wess, T. Zeitlhofer, August 5, 4 p. 35

33 Conclusions Address pointer assignment (APA) and memory layout generation are highly interdependent phases in general offset assignment (GOA). Optimized GOA solutions can be generated by iteratively applying efficient algorithms for APA and memory layout generation. Compared to simulated annealing approaches, equivalent solutions can be generated typically in less time. B. Wess, T. Zeitlhofer, August 5, 4 p. 36

How to efficiently use the address register? Address register = contains the address of the operand to fetch from memory.

How to efficiently use the address register? Address register = contains the address of the operand to fetch from memory. Lesson 13 Storage Assignment Optimizations Sequence of accesses is very important Simple Offset Assignment This lesson will focus on: Code size and data segment size How to efficiently use the address

More information

An iteration of Branch and Bound One iteration of Branch and Bound consists of the following four steps: Some definitions. Branch and Bound.

An iteration of Branch and Bound One iteration of Branch and Bound consists of the following four steps: Some definitions. Branch and Bound. ranch and ound xamples and xtensions jesla@man.dtu.dk epartment of Management ngineering Technical University of enmark ounding ow do we get ourselves a bounding function? Relaxation. Leave out some constraints.

More information

Package qap. February 27, Index 5. Solve Quadratic Assignment Problems (QAP)

Package qap. February 27, Index 5. Solve Quadratic Assignment Problems (QAP) Package qap February 27, 2017 Title Heuristics for the Quadratic Assignment Problem (QAP) Version 0.1-1 Date 2017-02-26 Description Implements heuristics for the Quadratic Assignment Problem (QAP). Currently

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

EE/CSCI 451 Midterm 1

EE/CSCI 451 Midterm 1 EE/CSCI 451 Midterm 1 Spring 2018 Instructor: Xuehai Qian Friday: 02/26/2018 Problem # Topic Points Score 1 Definitions 20 2 Memory System Performance 10 3 Cache Performance 10 4 Shared Memory Programming

More information

Generic Topology Mapping Strategies for Large-scale Parallel Architectures

Generic Topology Mapping Strategies for Large-scale Parallel Architectures Generic Topology Mapping Strategies for Large-scale Parallel Architectures Torsten Hoefler and Marc Snir Scientific talk at ICS 11, Tucson, AZ, USA, June 1 st 2011, Hierarchical Sparse Networks are Ubiquitous

More information

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

More information

Local Search Overview

Local Search Overview DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Local Search Overview Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. Local Search 2 Outline

More information

An Introduction to Graph Theory

An Introduction to Graph Theory An Introduction to Graph Theory CIS008-2 Logic and Foundations of Mathematics David Goodwin david.goodwin@perisic.com 12:00, Friday 17 th February 2012 Outline 1 Graphs 2 Paths and cycles 3 Graphs and

More information

Big Data Management and NoSQL Databases

Big Data Management and NoSQL Databases NDBI040 Big Data Management and NoSQL Databases Lecture 10. Graph databases Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ Graph Databases Basic

More information

More General Optimal Offset Assignment

More General Optimal Offset Assignment More General Optimal Offset Assignment Sven Mallach Institut für Informatik Universität zu Köln, 5969 Köln, Germany November 3, 24 Abstract We present exact approaches to the General Offset Assignment

More information

Weighted Graph Algorithms Presented by Jason Yuan

Weighted Graph Algorithms Presented by Jason Yuan Weighted Graph Algorithms Presented by Jason Yuan Slides: Zachary Friggstad Programming Club Meeting Weighted Graphs struct Edge { int u, v ; int w e i g h t ; // can be a double } ; Edge ( int uu = 0,

More information

Greedy Algorithms. At each step in the algorithm, one of several choices can be made.

Greedy Algorithms. At each step in the algorithm, one of several choices can be made. Greedy Algorithms At each step in the algorithm, one of several choices can be made. Greedy Strategy: make the choice that is the best at the moment. After making a choice, we are left with one subproblem

More information

Code Compaction Using Post-Increment/Decrement Addressing Modes

Code Compaction Using Post-Increment/Decrement Addressing Modes Code Compaction Using Post-Increment/Decrement Addressing Modes Daniel Golovin and Michael De Rosa {dgolovin, mderosa}@cs.cmu.edu Abstract During computation, locality of reference is often observed, and

More information

ACO and other (meta)heuristics for CO

ACO and other (meta)heuristics for CO ACO and other (meta)heuristics for CO 32 33 Outline Notes on combinatorial optimization and algorithmic complexity Construction and modification metaheuristics: two complementary ways of searching a solution

More information

Course Introduction / Review of Fundamentals of Graph Theory

Course Introduction / Review of Fundamentals of Graph Theory Course Introduction / Review of Fundamentals of Graph Theory Hiroki Sayama sayama@binghamton.edu Rise of Network Science (From Barabasi 2010) 2 Network models Many discrete parts involved Classic mean-field

More information

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical

More information

Simplicial Global Optimization

Simplicial Global Optimization Simplicial Global Optimization Julius Žilinskas Vilnius University, Lithuania September, 7 http://web.vu.lt/mii/j.zilinskas Global optimization Find f = min x A f (x) and x A, f (x ) = f, where A R n.

More information

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS DM812 METAHEURISTICS Outline Lecture 9 Marco Chiarandini 1. Department of Mathematics and Computer Science University of Southern Denmark, Odense, Denmark 2. Outline 1. 2. Linear permutations

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Constraint Optimization Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg July 17, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

Graph-theoretic studies of combinatorial optimization problems

Graph-theoretic studies of combinatorial optimization problems University of Iowa Iowa Research Online Theses and Dissertations 2013 Graph-theoretic studies of combinatorial optimization problems Seyed Mohammad S. Mirghorbani Nokandeh University of Iowa Copyright

More information

Maximum Differential Graph Coloring

Maximum Differential Graph Coloring Maximum Differential Graph Coloring Sankar Veeramoni University of Arizona Joint work with Yifan Hu at AT&T Research and Stephen Kobourov at University of Arizona Motivation Map Coloring Problem Related

More information

A new inter-island genetic operator for optimization problems with block properties

A new inter-island genetic operator for optimization problems with block properties A new inter-island genetic operator for optimization problems with block properties Wojciech Bożejko 1 and Mieczys law Wodecki 2 1 Institute of Engineering Cybernetics, Wroc law University of Technology

More information

Introduction to Combinatorial Algorithms

Introduction to Combinatorial Algorithms Fall 2009 Intro Introduction to the course What are : Combinatorial Structures? Combinatorial Algorithms? Combinatorial Problems? Combinatorial Structures Combinatorial Structures Combinatorial structures

More information

More NP-complete Problems. CS255 Chris Pollett May 3, 2006.

More NP-complete Problems. CS255 Chris Pollett May 3, 2006. More NP-complete Problems CS255 Chris Pollett May 3, 2006. Outline More NP-Complete Problems Hamiltonian Cycle Recall a hamiltonian cycle is a permutation of the vertices v i_1,, v i_n of a graph G so

More information

All-Pairs Shortest Paths - Floyd s Algorithm

All-Pairs Shortest Paths - Floyd s Algorithm All-Pairs Shortest Paths - Floyd s Algorithm Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico October 31, 2011 CPD (DEI / IST) Parallel

More information

Benders Decomposition

Benders Decomposition Benders Decomposition Using projections to solve problems thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline Introduction Using projections Benders decomposition Simple plant location

More information

Tabu Search vs. Simulated Annealing for Solving Large Quadratic Assignment Instances

Tabu Search vs. Simulated Annealing for Solving Large Quadratic Assignment Instances Université Libre de Bruxelles Institut de Recherches Interdisciplinaires et de Développements en Intelligence Artificielle Tabu Search vs. Simulated Annealing for Solving Large Quadratic Assignment Instances

More information

EE/CSCI 451: Parallel and Distributed Computation

EE/CSCI 451: Parallel and Distributed Computation EE/CSCI 451: Parallel and Distributed Computation Lecture #11 2/21/2017 Xuehai Qian Xuehai.qian@usc.edu http://alchem.usc.edu/portal/xuehaiq.html University of Southern California 1 Outline Midterm 1:

More information

Randomized Algorithms

Randomized Algorithms Randomized Algorithms Last time Network topologies Intro to MPI Matrix-matrix multiplication Today MPI I/O Randomized Algorithms Parallel k-select Graph coloring Assignment 2 Parallel I/O Goal of Parallel

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

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

Parameterized Complexity of Independence and Domination on Geometric Graphs

Parameterized Complexity of Independence and Domination on Geometric Graphs Parameterized Complexity of Independence and Domination on Geometric Graphs Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de

More information

Fractal Graph Optimization Algorithms

Fractal Graph Optimization Algorithms Fractal Graph Optimization Algorithms James R. Riehl and João P. Hespanha Abstract We introduce methods of hierarchically decomposing three types of graph optimization problems: all-pairs shortest path,

More information

Graphs, graph algorithms (for image segmentation),... in progress

Graphs, graph algorithms (for image segmentation),... in progress Graphs, graph algorithms (for image segmentation),... in progress Václav Hlaváč Czech Technical University in Prague Czech Institute of Informatics, Robotics and Cybernetics 66 36 Prague 6, Jugoslávských

More information

CHAPTER 3 FUZZY RELATION and COMPOSITION

CHAPTER 3 FUZZY RELATION and COMPOSITION CHAPTER 3 FUZZY RELATION and COMPOSITION Crisp relation! Definition (Product set) Let A and B be two non-empty sets, the prod uct set or Cartesian product A B is defined as follows, A B = {(a, b) a A,

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations

Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations Celso C. Ribeiro Isabel Rosseti Reinaldo C. Souza Universidade Federal Fluminense, Brazil July 2012 1/45 Contents

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

(Stochastic) Local Search Algorithms

(Stochastic) Local Search Algorithms DM841 DISCRETE OPTIMIZATION Part 2 Heuristics (Stochastic) Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. Components 2 Outline 1. 2. 3. Components

More information

Math 776 Graph Theory Lecture Note 1 Basic concepts

Math 776 Graph Theory Lecture Note 1 Basic concepts Math 776 Graph Theory Lecture Note 1 Basic concepts Lectured by Lincoln Lu Transcribed by Lincoln Lu Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved

More information

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Seven Bridges of Königsberg Can one take a walk that crosses each bridge exactly once? Seven Bridges of Königsberg Model as a graph Is there a path

More information

Place and Route for FPGAs

Place and Route for FPGAs Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming

More information

Graph Partitioning for Scalable Distributed Graph Computations

Graph Partitioning for Scalable Distributed Graph Computations Graph Partitioning for Scalable Distributed Graph Computations Aydın Buluç ABuluc@lbl.gov Kamesh Madduri madduri@cse.psu.edu 10 th DIMACS Implementation Challenge, Graph Partitioning and Graph Clustering

More information

Abstract. Figure 1. No. of nodes No. of SC graphs

Abstract. Figure 1. No. of nodes No. of SC graphs CATALOGING SELF-COMPLEMENTARY GRAPHS OF ORDER THIRTEEN Myles F. McNally and Robert R. Molina Department of Mathematics and Computer Science Alma College Abstract A self-complementary graph G of odd order

More information

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec.

Randomized rounding of semidefinite programs and primal-dual method for integer linear programming. Reza Moosavi Dr. Saeedeh Parsaeefard Dec. Randomized rounding of semidefinite programs and primal-dual method for integer linear programming Dr. Saeedeh Parsaeefard 1 2 3 4 Semidefinite Programming () 1 Integer Programming integer programming

More information

Dual-fitting analysis of Greedy for Set Cover

Dual-fitting analysis of Greedy for Set Cover Dual-fitting analysis of Greedy for Set Cover We showed earlier that the greedy algorithm for set cover gives a H n approximation We will show that greedy produces a solution of cost at most H n OPT LP

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

Repetition: Primal Dual for Set Cover

Repetition: Primal Dual for Set Cover Repetition: Primal Dual for Set Cover Primal Relaxation: k min i=1 w ix i s.t. u U i:u S i x i 1 i {1,..., k} x i 0 Dual Formulation: max u U y u s.t. i {1,..., k} u:u S i y u w i y u 0 Harald Räcke 428

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

Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering

Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering George Karypis and Vipin Kumar Brian Shi CSci 8314 03/09/2017 Outline Introduction Graph Partitioning Problem Multilevel

More information

Traveling Salesman Problem Parallel Distributed Tree Search

Traveling Salesman Problem Parallel Distributed Tree Search Traveling Salesman Problem Parallel Distributed Tree Search Ned Nedialkov Dept. of Computing and Software McMaster University, Canada nedialk@mcmaster.ca March 2012 Outline Traveling salesman problem (TSP)

More information

COMP 182: Algorithmic Thinking Prim and Dijkstra: Efficiency and Correctness

COMP 182: Algorithmic Thinking Prim and Dijkstra: Efficiency and Correctness Prim and Dijkstra: Efficiency and Correctness Luay Nakhleh 1 Prim s Algorithm In class we saw Prim s algorithm for computing a minimum spanning tree (MST) of a weighted, undirected graph g. The pseudo-code

More information

Set Cover with Almost Consecutive Ones Property

Set Cover with Almost Consecutive Ones Property Set Cover with Almost Consecutive Ones Property 2004; Mecke, Wagner Entry author: Michael Dom INDEX TERMS: Covering Set problem, data reduction rules, enumerative algorithm. SYNONYMS: Hitting Set PROBLEM

More information

Improving Performance of Sparse Matrix-Vector Multiplication

Improving Performance of Sparse Matrix-Vector Multiplication Improving Performance of Sparse Matrix-Vector Multiplication Ali Pınar Michael T. Heath Department of Computer Science and Center of Simulation of Advanced Rockets University of Illinois at Urbana-Champaign

More information

Workloads Programmierung Paralleler und Verteilter Systeme (PPV)

Workloads Programmierung Paralleler und Verteilter Systeme (PPV) Workloads Programmierung Paralleler und Verteilter Systeme (PPV) Sommer 2015 Frank Feinbube, M.Sc., Felix Eberhardt, M.Sc., Prof. Dr. Andreas Polze Workloads 2 Hardware / software execution environment

More information

2. Optimization problems 6

2. Optimization problems 6 6 2.1 Examples... 7... 8 2.3 Convex sets and functions... 9 2.4 Convex optimization problems... 10 2.1 Examples 7-1 An (NP-) optimization problem P 0 is defined as follows Each instance I P 0 has a feasibility

More information

A New Heuristic Layout Algorithm for Directed Acyclic Graphs *

A New Heuristic Layout Algorithm for Directed Acyclic Graphs * A New Heuristic Layout Algorithm for Directed Acyclic Graphs * by Stefan Dresbach Lehrstuhl für Wirtschaftsinformatik und Operations Research Universität zu Köln Pohligstr. 1, 50969 Köln revised August

More information

Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background

More information

Slides on Approximation algorithms, part 2: Basic approximation algorithms

Slides on Approximation algorithms, part 2: Basic approximation algorithms Approximation slides Slides on Approximation algorithms, part : Basic approximation algorithms Guy Kortsarz Approximation slides Finding a lower bound; the TSP example The optimum TSP cycle P is an edge

More information

COMP202. Complexity of Algorithms. Section 1: Answer all questions. Section 2: Answer 2 questions.

COMP202. Complexity of Algorithms. Section 1: Answer all questions. Section 2: Answer 2 questions. COMP202 Complexity of Algorithms Section 1: Answer all questions. Section 2: Answer 2 questions. 2 Section 1 Answer all questions in this section. 1. Define what is meant by the following terms, An n-vertex

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

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

10. Network dimensioning

10. Network dimensioning Partly based on slide material by Samuli Aalto and Jorma Virtamo ELEC-C7210 Modeling and analysis of communication networks 1 Contents Introduction Parameters: topology, routing and traffic Dimensioning

More information

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable //7 Review: Constraint Satisfaction Problems Constraint Satisfaction Problems II AIMA: Chapter 6 A CSP consists of: Finite set of X, X,, X n Nonempty domain of possible values for each variable D, D, D

More information

Advanced Methods in Algorithms HW 5

Advanced Methods in Algorithms HW 5 Advanced Methods in Algorithms HW 5 Written by Pille Pullonen 1 Vertex-disjoint cycle cover Let G(V, E) be a finite, strongly-connected, directed graph. Let w : E R + be a positive weight function dened

More information

Introduction to Graphs

Introduction to Graphs Graphs Introduction to Graphs Graph Terminology Directed Graphs Special Graphs Graph Coloring Representing Graphs Connected Graphs Connected Component Reading (Epp s textbook) 10.1-10.3 1 Introduction

More information

Graph Matrices and Applications: Motivational Overview The Problem with Pictorial Graphs Graphs were introduced as an abstraction of software structure. There are many other kinds of graphs that are useful

More information

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem Computational Complexity CSC 5802 Professor: Tom Altman Capacitated Problem Agenda: Definition Example Solution Techniques Implementation Capacitated VRP (CPRV) CVRP is a Vehicle Routing Problem (VRP)

More information

Steiner Trees and Forests

Steiner Trees and Forests Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

More information

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD 1 DESIGN AND ANALYSIS OF ALGORITHMS UNIT II Objectives GREEDY METHOD Explain and detail about greedy method Explain the concept of knapsack problem and solve the problems in knapsack Discuss the applications

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

Examples of P vs NP: More Problems

Examples of P vs NP: More Problems Examples of P vs NP: More Problems COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building (bldg 108)

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 Answer #1 and any five of the remaining six problems! possible score 1. Multiple Choice 25 2. Traveling Salesman Problem 15 3.

More information

Memory Bank and Register Allocation in Software Synthesis for ASIPs

Memory Bank and Register Allocation in Software Synthesis for ASIPs Memory Bank and Register Allocation in Software Synthesis for ASIPs Ashok Sudarsanam Sharad Malik Department of Electrical Engineering Princeton University Abstract An architectural feature commonly found

More information

Job-shop scheduling with limited capacity buffers

Job-shop scheduling with limited capacity buffers Job-shop scheduling with limited capacity buffers Peter Brucker, Silvia Heitmann University of Osnabrück, Department of Mathematics/Informatics Albrechtstr. 28, D-49069 Osnabrück, Germany {peter,sheitman}@mathematik.uni-osnabrueck.de

More information

Scalable GPU Graph Traversal!

Scalable GPU Graph Traversal! Scalable GPU Graph Traversal Duane Merrill, Michael Garland, and Andrew Grimshaw PPoPP '12 Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming Benwen Zhang

More information

On the Maximum Quadratic Assignment Problem

On the Maximum Quadratic Assignment Problem On the Maximum Quadratic Assignment Problem Viswanath Nagarajan Maxim Sviridenko Abstract Quadratic Assignment is a basic problem in combinatorial optimization, which generalizes several other problems

More information

9.5 Equivalence Relations

9.5 Equivalence Relations 9.5 Equivalence Relations You know from your early study of fractions that each fraction has many equivalent forms. For example, 2, 2 4, 3 6, 2, 3 6, 5 30,... are all different ways to represent the same

More information

Genetic Algorithm for Circuit Partitioning

Genetic Algorithm for Circuit Partitioning Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15 CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 02/26/15 1. Consider a model of a nonbipartite undirected graph in which

More information

Deploying Multiple Service Chain (SC) Instances per Service Chain BY ABHISHEK GUPTA FRIDAY GROUP MEETING APRIL 21, 2017

Deploying Multiple Service Chain (SC) Instances per Service Chain BY ABHISHEK GUPTA FRIDAY GROUP MEETING APRIL 21, 2017 Deploying Multiple Service Chain (SC) Instances per Service Chain BY ABHISHEK GUPTA FRIDAY GROUP MEETING APRIL 21, 2017 Virtual Network Function (VNF) Service Chain (SC) 2 Multiple VNF SC Placement and

More information

OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS *

OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS * OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS * IZHAK RUBIN UCLA Los Angeles, California Summary. We consider a centralized network model representing a teleprocessing

More information

ON THE STRUCTURE OF SELF-COMPLEMENTARY GRAPHS ROBERT MOLINA DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ALMA COLLEGE ABSTRACT

ON THE STRUCTURE OF SELF-COMPLEMENTARY GRAPHS ROBERT MOLINA DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ALMA COLLEGE ABSTRACT ON THE STRUCTURE OF SELF-COMPLEMENTARY GRAPHS ROBERT MOLINA DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ALMA COLLEGE ABSTRACT A graph G is self complementary if it is isomorphic to its complement G.

More information

TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.!

TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.! TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.! Local Search! TSP! 1 3 5 6 4 What should be the neighborhood?! 2-opt: Find two edges in the current

More information

Graphs. Pseudograph: multiple edges and loops allowed

Graphs. Pseudograph: multiple edges and loops allowed Graphs G = (V, E) V - set of vertices, E - set of edges Undirected graphs Simple graph: V - nonempty set of vertices, E - set of unordered pairs of distinct vertices (no multiple edges or loops) Multigraph:

More information

Marginal and Sensitivity Analyses

Marginal and Sensitivity Analyses 8.1 Marginal and Sensitivity Analyses Katta G. Murty, IOE 510, LP, U. Of Michigan, Ann Arbor, Winter 1997. Consider LP in standard form: min z = cx, subject to Ax = b, x 0 where A m n and rank m. Theorem:

More information

Efficient algorithms for shared backup allocation in networks with partial information

Efficient algorithms for shared backup allocation in networks with partial information DOI 10.1007/s10878-006-8902-2 Efficient algorithms for shared backup allocation in networks with partial information Yigal Bejerano Joseph (Seffi) Naor Alexander Sprintson Published online: 6 July 2006

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

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

arxiv: v1 [cs.ds] 21 Jul 2017

arxiv: v1 [cs.ds] 21 Jul 2017 Bilinear Assignment Problem: Large Neighborhoods and Experimental Analysis of Algorithms arxiv:1707.07057v1 [cs.ds] 21 Jul 2017 Vladyslav Sokol Ante Ćustić Abraham P. Punnen Binay Bhattacharya July 25,

More information

A DISTRIBUTED RESOURCE ALLOCATION ALGORITHM IN HETEROGENEOUS WIRELESS ACCESS MEDIUM

A DISTRIBUTED RESOURCE ALLOCATION ALGORITHM IN HETEROGENEOUS WIRELESS ACCESS MEDIUM A DISTRIBUTED RESOURCE ALLOCATION ALGORITHM IN HETEROGENEOUS WIRELESS ACCESS MEDIUM Muhammad Ismail and Weihua Zhuang Centre for Wireless Communications University of Waterloo, Canada Email: {m6ismail,wzhuang}@bbcr.uwaterloo.ca

More information

UNIT 4 Branch and Bound

UNIT 4 Branch and Bound UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees

More information

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS Zoltan Baruch 1, Octavian Creţ 2, Kalman Pusztai 3 1 PhD, Lecturer, Technical University of Cluj-Napoca, Romania 2 Assistant, Technical University of

More information

Non-convex Multi-objective Optimization

Non-convex Multi-objective Optimization Non-convex Multi-objective Optimization Multi-objective Optimization Real-world optimization problems usually involve more than one criteria multi-objective optimization. Such a kind of optimization problems

More information

Fundamentals of Integer Programming

Fundamentals of Integer Programming Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer

More information

Estimating the Quality of Databases

Estimating the Quality of Databases Estimating the Quality of Databases Ami Motro Igor Rakov George Mason University May 1998 1 Outline: 1. Introduction 2. Simple quality estimation 3. Refined quality estimation 4. Computing the quality

More information

Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs p.1/30

Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs p.1/30 Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs Sergiy Butenko Department of Industrial Engineering Texas A&M University College Station, TX 77843

More information

α Coverage to Extend Network Lifetime on Wireless Sensor Networks

α Coverage to Extend Network Lifetime on Wireless Sensor Networks Noname manuscript No. (will be inserted by the editor) α Coverage to Extend Network Lifetime on Wireless Sensor Networks Monica Gentili Andrea Raiconi Received: date / Accepted: date Abstract An important

More information