Combined Code and Data Minimization Algorithms

Size: px
Start display at page:

Download "Combined Code and Data Minimization Algorithms"

Transcription

1 Problem Statement ombined ode and ata Minimization lgorithms March, 995 Mini onference on Ptolemy Praveen K Murthy (U erkeley, Shuvra S hattacharyya (Hitachi merica Ltd, dward Lee (U erkeley {murthy,shuvra,eal}@eecsberkeleyedu Given an acyclic, multirate SF graph, want a single appearance schedule that minimizes the amount of data needed for buffering uffering Model: uffer on every arc in the graph The size of the buffer is given by the maximum number of tokens queued on the arc in the schedule Total buffering cost given by sum of sizes of individual buffer sizes Want to find a schedule that minimizes this cost Publications on this material are available on WWW: lternative uffering Models lternative #: Naive single appearance schedules with shared buffers uffering requirement can be very bad for some graphs oes not handle delays well Latency is maximized lternative #: Use nested schedules with buffer sharing More awkward to implement ost function is more complicated (50 (0 ( : ost = 5000 ( (5 ( ( ( : ost = 00 Well Ordered Graphs well-ordered graph has only one topological sort (ie, there is a hamiltonian path in the graph Problem of computing minimum buffer schedule boils down to computing an optimum nesting of loops one via dynamic programming in O( n time: b [ i, j ] = MIN i k < j r k O k where c ij [ k] = gcd ( r i,, r j { b[ i, k] + b[ k +, j] + c ij [ k] } Note: r or r( u will mean the repetitions of node u u

2 xample Well Ordered Graph 6 Repetitions vector r = [ 98,,, ] T General cyclic Graphs ny topological sort of an acyclic graph leads to a set of valid single appearance schedules n acyclic graph can have an exponential number of topological sorts in general: a complete n node bipartite graph has ( n! topological sorts The problem is to pick the topological sort that leads to the best nested schedule when nested optimally using dynamic programming algorithm Schedule uffering cost (9(((8 ((((8 7 7 (((((( 0 9 ( ( ( ( (6 : 08 ( ( (9 ( (9 : 0 Two Heuristic Techniques Recursive Partitioning by Min uts We give two heuristic techniques for finding bufferoptimal schedules for acyclic graphs: First technique is a top-down approach using mincuts called Recursive Partitioning by Minimum uts (RPM ffective for irregular topologies Second technique is a bottom-up approach using clustering called cyclic Pairwise Grouping of djacent Nodes (PGN ffective for regular topologies Optimal for a class of graphs Idea: Find a cut of the graph such that a ll arcs cross the cut in the forward direction b The cut results in fairly even-sized sets c mount of data crossing the cut is minimized Recursively schedule the nodes on the left side of the cut before nodes on the right side of the cut V L V R F

3 RPM (cont d Splitting the graph where the minimum amount of data is transferred is a greedy approach and is not optimal in general Finding the minimum cut such that all of the conditions a,b, and c are satisfied is itself a difficult problem: Methods based on max-flow-min-cut theorem do not work Graph partitioning when the size of the partition has to be bounded is NP-complete Therefore, a heuristic solution is needed Heuristic for Legal Min uts Let V R ( u be the set of nodes consisting of u and its descendents Let V L = V \ V R ( u This forms a cut satisfying condition (a Perform a local optimization by moving those nodes from V L that reduce the cost into V R ( u o this for all nodes u in the graph Repeat above steps to generate cuts obtained by letting V L ( u be the set of nodes consisting of u and it ancestors, and letting V R = V \ V L ( u Keep the cut with the lowest cost Runs in time O V V + log ( V XMPL RPM lgorithm F F { } desc (, cost = Find heuristic minimum cut of the graph into sets V L and V R The top level schedule is given by S( V = q S V q S V where q = gcd { r ( v:v V }, i = L, R L L R R i i ontinue recursively until all nodes have been scheduled Post-process resulting schedule by recomputing an optimum nesting of the loops using dynamic programming algorithm with the lexical ordering generated by RPM { } desc ( { }, cost = Runs in time O V for sparse graphs

4 cyclic Pairwise Grouping of Nodes Idea: evelop a loop hierarchy by clustering two adjacent nodes at each step efinition: lustering means combining two or more nodes into one hierarchical node The graph with the hierarchical node instead of the nodes that were clustered is called the clustered graph efinition: clusterizable pair of nodes is a pair of nodes that, when clustered, does not cause deadlock sufficient condition for clusterizability: Two nodes are clusterizable if clustering them does not introduce a cycle in the clustered graph PGN lgorithm luster two nodes that maximize gcd { r (, r( } over all clusterizable pairs {, } ontinue until only one node is left in the clustered graph This is similar to the Huffman coding algorithm fter constructing cluster hierarchy, retrace steps to determine the nested schedule Post-process the schedule using dynamic programming to generate an optimal nesting for the lexical ordering generated by PGN Runs in time O V for sparse graphs PGN in ction Optimality of PGN W yan nodes are clustered at each step W W W 0 W efinition: The buffer memory lower bound for an arc ( uv, is given by ML ( u, v r( uprod ( u, v = gcd { r ( u, r( v } This represents the least amount of buffering needed on this arc in any single appearance schedule ( ( ( ( ( ( 5 W ( ( 5 W ( ( ( 5 W W W efinition: ML schedule for an acyclic SF graph is a single appearance schedule whose buffering cost is equal to the sum of the ML costs for each arc Theorem: The PGN algorithm will find a ML schedule whenever one exists

5 Mobile Satellite Receiver xample Non-uniform Filterbank xample This example is from [Ritz95]: F K G 0 Q 0 L H W 0 0 P N M R 0 S J I 0 V U T ML = 50 PGN = 50 RPM = 80 Ritz * = 00 * Ritz generates a naive single appearance schedule and uses the shared buffer cost a b c d e f g l q o i m p r j n h k ML = 85 RPM = 8 PGN = 7 s t u w x v y z Performance on Practical xamples Performance on Random Graphs Performance of the two heuristics on various acyclic graphs System MU ML PGN RPM verage Random Graph size(nodes/ arcs Fractional decimation /0 Laplacian pyramid / Nonuniform filterbank (/,/ splits, channels /9 Nonuniform filterbank (/,/ splits, 6 channels /7 QMF nonuniform-tree filterbank /5 QMF filterbank (one-sided tree 6 8 0/ QMF analysis only /5 QMF Tree filterbank ( channels / QMF Tree filterbank (8 channels /50 QMF Tree filterbank (6 channels /6 Performance of the two heuristics on random graphs RPM < PGN 6% PGN < RPM 7% RPM < min( random 8% PGN < min( random 68% RPM < min( random 75% PGN < min( random 6% min(rpm,pgn < min( random 87% RPM < PGN by more than % 5% RPM < PGN by more than 0% 5% PGN < RPM by more than % % PGN < RPM by more than 0% %

6 onclusion Have presented algorithms for joint code and data minimization when synthesizing code from SF graphs The problem of jointly minimizing code and data boils down to picking an optimal lexical ordering of the nodes and generating an optimal looping hierarchy for that ordering ynamic programming algorithm generates an optimum looping hierarchy for any given lexical ordering Two heuristics are used to generate lexical orderings: RPM: oes well on some practical examples with irregular topologies and on random graphs PGN: oes well on a lot of practical examples but not as well on random graphs It is optimal for a class of graphs

In Journal of VLSI Signal Processing Systems, Vol 21, No. 2, pages , June Kluwer Academic Publishers.

In Journal of VLSI Signal Processing Systems, Vol 21, No. 2, pages , June Kluwer Academic Publishers. In Journal of VLSI Signal Processing Systems, Vol 21, No. 2, pages 151-166, June 1999. 1999 Kluwer Academic Publishers. SYNTHESIS OF EMBEDDED SOFTWARE FROM SYNCHRONOUS DATAFLOW SPECIFICATIONS Shuvra S.

More information

Invited submission to the Journal of VLSI Signal Processing SYNTHESIS OF EMBEDDED SOFTWARE FROM SYNCHRONOUS DATAFLOW SPECIFICATIONS

Invited submission to the Journal of VLSI Signal Processing SYNTHESIS OF EMBEDDED SOFTWARE FROM SYNCHRONOUS DATAFLOW SPECIFICATIONS Invited submission to the Journal of VLSI Signal Processing SYNTHESIS OF EMBEDDED SOFTWARE FROM SYNCHRONOUS DATAFLOW SPECIFICATIONS Shuvra S. Bhattacharyya, Praveen K. Murthy, and Edward A. Lee February

More information

Synthesis of Embedded Software from Synchronous Dataflow Specifications

Synthesis of Embedded Software from Synchronous Dataflow Specifications Journal of VLSI Signal Processing 21, 151 166 (1999) c 1999 Kluwer Academic Publishers. Manufactured in The Netherlands. Synthesis of Embedded Software from Synchronous Dataflow Specifications SHUVRA S.

More information

Renesting Single Appearance Schedules to Minimize Buffer Memory ABSTRACT

Renesting Single Appearance Schedules to Minimize Buffer Memory ABSTRACT UCB/ERL Technical Report, Memorandum No. UCB/ERL M95/43, Electronics Research Laboratory, College of Engineering, University of California, Berkeley, CA 94720 Renesting Single Appearance Schedules to Minimize

More information

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP)

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP) Spanning Tree (015) Lecture1: Graph III ohyung Han S, POSTH bhhan@postech.ac.kr efinition and property Subgraph that contains all vertices of the original graph and is a tree Often, a graph has many different

More information

Shared Memory Implementations of Synchronous Dataflow Specifications

Shared Memory Implementations of Synchronous Dataflow Specifications Shared Memory Implementations of Synchronous Dataflow Specifications Praveen K. Murthy ngeles Design Systems, San Jose Ca, US Shuvra S. Bhattacharyya University of Maryland, College Park, MD, US bstract

More information

Partitioning. Partitioning Levels. Chip. Readings: Chapter 2. Circuits can exceed chip capacity. Partitioning

Partitioning. Partitioning Levels. Chip. Readings: Chapter 2. Circuits can exceed chip capacity. Partitioning Partitioning Readings: hapter 2 ircuits can exceed chip capacity Split circuits into chip-sized subcircuits Meet capacity constraints Reduce interconnect demand Meet performance requirements Partitioning

More information

CMPSCI 311: Introduction to Algorithms Practice Final Exam

CMPSCI 311: Introduction to Algorithms Practice Final Exam CMPSCI 311: Introduction to Algorithms Practice Final Exam Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more detail including

More information

Memory Optimal Single Appearance Schedule with Dynamic Loop Count for Synchronous Dataflow Graphs

Memory Optimal Single Appearance Schedule with Dynamic Loop Count for Synchronous Dataflow Graphs Memory Optimal Single ppearance Schedule with Dynamic Loop ount for Synchronous Dataflow Graphs Hyunok Oh, Nikil Dutt enter for Embedded omputer Systems University of alifornia, Irvine, {hoh,dutt@ics.uci.edu

More information

Topological Sort. CSE 373 Data Structures Lecture 19

Topological Sort. CSE 373 Data Structures Lecture 19 Topological Sort S 373 ata Structures Lecture 19 Readings and References Reading Section 9.2 Some slides based on: S 326 by S. Wolfman, 2000 11/27/02 Topological Sort - Lecture 19 2 Topological Sort 142

More information

CAD Algorithms. Shortest Path

CAD Algorithms. Shortest Path lgorithms Shortest Path lgorithms Mohammad Tehranipoor epartment September 00 Shortest Path Problem: ind the best way of getting from s to t where s and t are vertices in a graph. est: Min (sum of the

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

Shared Memory Implementations of Synchronous Dataflow Specifications Using Lifetime Analysis Techniques

Shared Memory Implementations of Synchronous Dataflow Specifications Using Lifetime Analysis Techniques June 3, 999 Shared Memory Implementations of Synchronous Dataflow Specifications Using Lifetime Analysis Techniques Praveen K. Murthy Angeles Design Systems pmurthy@angeles.com Shuvra S. Bhattacharyya

More information

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives Routers & Routing -44: omputer Networking High-speed router architecture Intro to routing protocols ssigned reading [McK9] Fast Switched ackplane for a Gigabit Switched Router Know RIP/OSPF L-4 Intra-omain

More information

Efficient Simulation of Critical Synchronous Dataflow Graphs

Efficient Simulation of Critical Synchronous Dataflow Graphs 52.1 Efficient Simulation of Critical Synchronous Dataflow Graphs Chia-Jui Hsu 1, Suren Ramasubbu 2, Ming-Yung Ko 1, José Luis Pino 2, Shuvra S. Bhattacharyya 1 1 Department of Electrical and Computer

More information

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search IS 320 Introduction to lgorithms all 2014 Lecture 15 epth irst Search 1 Traversing raphs Systematic search of every edge and vertex of graph (directed or undirected) fficiency: each edge is visited no

More information

JOINT MINIMIZATION OF CODE AND DATA FOR SYN- CHRONOUS DATAFLOW PROGRAMS

JOINT MINIMIZATION OF CODE AND DATA FOR SYN- CHRONOUS DATAFLOW PROGRAMS In the Journal of Formal Methods in System Design, Vol. 11, No. 1, July, 1997. JOINT MINIMIZATION OF CODE AND DATA FOR SYN- CHRONOUS DATAFLOW PROGRAMS Praveen K. Murthy, Shuvra S. Bhattacharyya, and Edward

More information

Targil 12 : Image Segmentation. Image segmentation. Why do we need it? Image segmentation

Targil 12 : Image Segmentation. Image segmentation. Why do we need it? Image segmentation Targil : Image Segmentation Image segmentation Many slides from Steve Seitz Segment region of the image which: elongs to a single object. Looks uniform (gray levels, color ) Have the same attributes (texture

More information

Graphs: Definitions and Representations (Chapter 9)

Graphs: Definitions and Representations (Chapter 9) oday s Outline Graphs: efinitions and Representations (hapter 9) dmin: HW #4 due hursday, Nov 10 at 11pm Memory hierarchy Graphs Representations SE 373 ata Structures and lgorithms 11/04/2011 1 11/04/2011

More information

GENERATING COMPACT CODE FROM DATAFLOW SPECIFICATIONS OF MULTIRATE SIGNAL PROCESSING ALGORITHMS ABSTRACT

GENERATING COMPACT CODE FROM DATAFLOW SPECIFICATIONS OF MULTIRATE SIGNAL PROCESSING ALGORITHMS ABSTRACT in IEEE Tr. on Circuits and Systems I: Fundamental Theory and Applications, Vol. 4, No. 3, March 995 995 ΙΕΕΕ GENERATING COMPACT CODE FROM DATAFLOW SPECIFICATIONS OF MULTIRATE SIGNAL PROCESSING ALGORITHMS

More information

Cycle-Breaking Techniques for Scheduling Synchronous Dataflow Graphs

Cycle-Breaking Techniques for Scheduling Synchronous Dataflow Graphs Technical Report #UMIACS-TR-2007-12, Institute for Advanced Computer Studies, University of Maryland, College Park, MD 20742, February 2007 Cycle-Breaking Techniques for Scheduling Synchronous Dataflow

More information

Graphs: Definitions and Representations (Chapter 9)

Graphs: Definitions and Representations (Chapter 9) oday s Outline Graphs: efinitions and Representations (hapter 9) SE 373 ata Structures and lgorithms dmin: Homework #4 - due hurs, Nov 8 th at 11pm Midterm 2, ri Nov 16 Memory hierarchy Graphs Representations

More information

TELCOM2125: Network Science and Analysis

TELCOM2125: Network Science and Analysis School of Information Sciences University of Pittsburgh TELCOM2125: Network Science and Analysis Konstantinos Pelechrinis Spring 2015 2 Part 4: Dividing Networks into Clusters The problem l Graph partitioning

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014 epartment of omputer Science Virginia Tech lacksburg, Virginia opyright c 04 by lifford. Shaffer : Theory of lgorithms Title page : Theory of lgorithms lifford. Shaffer Spring 04 lifford. Shaffer epartment

More information

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019 CS 341: Algorithms Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo February 26, 2019 D.R. Stinson (SCS) CS 341 February 26, 2019 1 / 296 1 Course Information 2 Introduction

More information

CSE 101- Winter 18 Discussion Section Week 2

CSE 101- Winter 18 Discussion Section Week 2 S 101- Winter 18 iscussion Section Week 2 Topics Topological ordering Strongly connected components Binary search ntroduction to ivide and onquer algorithms Topological ordering Topological ordering =>

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Machine learning - HT Clustering

Machine learning - HT Clustering Machine learning - HT 2016 10. Clustering Varun Kanade University of Oxford March 4, 2016 Announcements Practical Next Week - No submission Final Exam: Pick up on Monday Material covered next week is not

More information

Lecture outline. Graph coloring Examples Applications Algorithms

Lecture outline. Graph coloring Examples Applications Algorithms Lecture outline Graph coloring Examples Applications Algorithms Graph coloring Adjacent nodes must have different colors. How many colors do we need? Graph coloring Neighbors must have different colors

More information

WAN Technology and Routing

WAN Technology and Routing PS 60 - Network Programming WN Technology and Routing Michele Weigle epartment of omputer Science lemson University mweigle@cs.clemson.edu March, 00 http://www.cs.clemson.edu/~mweigle/courses/cpsc60 WN

More information

The University of Sydney MATH 2009

The University of Sydney MATH 2009 The University of Sydney MTH 009 GRPH THORY Tutorial 10 Solutions 004 1. In a tournament, the score of a vertex is its out-degree, and the score sequence is a list of all the scores in non-decreasing order.

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

CSCI 5454 Ramdomized Min Cut

CSCI 5454 Ramdomized Min Cut CSCI 5454 Ramdomized Min Cut Sean Wiese, Ramya Nair April 8, 013 1 Randomized Minimum Cut A classic problem in computer science is finding the minimum cut of an undirected graph. If we are presented with

More information

Note. Out of town Thursday afternoon. Willing to meet before 1pm, me if you want to meet then so I know to be in my office

Note. Out of town Thursday afternoon. Willing to meet before 1pm,  me if you want to meet then so I know to be in my office raphs and Trees Note Out of town Thursday afternoon Willing to meet before pm, email me if you want to meet then so I know to be in my office few extra remarks about recursion If you can write it recursively

More information

Lecture 15 Register Allocation & Spilling

Lecture 15 Register Allocation & Spilling I. Motivation Lecture 15 Register Allocation & Spilling I. Introduction II. Abstraction and the Problem III. Algorithm IV. Spilling Problem Allocation of variables (pseudo-registers) to hardware registers

More information

Konigsberg Bridge Problem

Konigsberg Bridge Problem Graphs Konigsberg Bridge Problem c C d g A Kneiphof e D a B b f c A C d e g D a b f B Euler s Graph Degree of a vertex: the number of edges incident to it Euler showed that there is a walk starting at

More information

Local Search for CSPs

Local Search for CSPs Local Search for CSPs Alan Mackworth UBC CS CSP February, 0 Textbook. Lecture Overview Domain splitting: recap, more details & pseudocode Local Search Time-permitting: Stochastic Local Search (start) Searching

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization

More information

A region is each individual area or separate piece of the plane that is divided up by the network.

A region is each individual area or separate piece of the plane that is divided up by the network. Math 135 Networks and graphs Key terms Vertex (Vertices) ach point of a graph dge n edge is a segment that connects two vertices. Region region is each individual area or separate piece of the plane that

More information

Lecture 9 Graph Traversal

Lecture 9 Graph Traversal Lecture 9 Graph Traversal Euiseong Seo (euiseong@skku.edu) SWE00: Principles in Programming Spring 0 Euiseong Seo (euiseong@skku.edu) Need for Graphs One of unifying themes of computer science Closely

More information

Modularity CMSC 858L

Modularity CMSC 858L Modularity CMSC 858L Module-detection for Function Prediction Biological networks generally modular (Hartwell+, 1999) We can try to find the modules within a network. Once we find modules, we can look

More information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial

More information

On Modularity Clustering. Group III (Ying Xuan, Swati Gambhir & Ravi Tiwari)

On Modularity Clustering. Group III (Ying Xuan, Swati Gambhir & Ravi Tiwari) On Modularity Clustering Presented by: Presented by: Group III (Ying Xuan, Swati Gambhir & Ravi Tiwari) Modularity A quality index for clustering a graph G=(V,E) G=(VE) q( C): EC ( ) EC ( ) + ECC (, ')

More information

W4231: Analysis of Algorithms

W4231: Analysis of Algorithms W4231: Analysis of Algorithms 10/21/1999 Definitions for graphs Breadth First Search and Depth First Search Topological Sort. Graphs AgraphG is given by a set of vertices V and a set of edges E. Normally

More information

Directed Graphs (II) Hwansoo Han

Directed Graphs (II) Hwansoo Han Directed Graphs (II) Hwansoo Han Traversals of Directed Graphs To solve many problems dealing with digraphs, we need to visit vertexes and arcs in a systematic way Depth-first search (DFS) A generalization

More information

Mining Social Network Graphs

Mining Social Network Graphs Mining Social Network Graphs Analysis of Large Graphs: Community Detection Rafael Ferreira da Silva rafsilva@isi.edu http://rafaelsilva.com Note to other teachers and users of these slides: We would be

More information

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search Informal goal Clustering Given set of objects and measure of similarity between them, group similar objects together What mean by similar? What is good grouping? Computation time / quality tradeoff 1 2

More information

Mathematical Tools for Engineering and Management

Mathematical Tools for Engineering and Management Mathematical Tools for Engineering and Management Lecture 8 8 Dec 0 Overview Models, Data and Algorithms Linear Optimization Mathematical Background: Polyhedra, Simplex-Algorithm Sensitivity Analysis;

More information

Principle Of Parallel Algorithm Design (cont.) Alexandre David B2-206

Principle Of Parallel Algorithm Design (cont.) Alexandre David B2-206 Principle Of Parallel Algorithm Design (cont.) Alexandre David B2-206 1 Today Characteristics of Tasks and Interactions (3.3). Mapping Techniques for Load Balancing (3.4). Methods for Containing Interaction

More information

Efficient Simulation of Critical Synchronous Dataflow Graphs

Efficient Simulation of Critical Synchronous Dataflow Graphs Efficient Simulation of Critical Synchronous Dataflow Graphs CHIA-JUI HSU, MING-YUNG KO, and SHUVRA S. BHATTACHARYYA University of Maryland and SUREN RAMASUBBU and JOSÉ LUIS PINO Agilent Technologies System-level

More information

Query Optimization of Distributed Pattern Matching

Query Optimization of Distributed Pattern Matching Query Optimization of istributed Pattern Matching Jiewen Huang, Kartik Venkatraman, aniel J. badi Yale University jiewen.huang@yale.edu, kartik.venkatraman@yale.edu, dna@cs.yale.edu bstract Greedy algorithms

More information

Hierarchical Clustering

Hierarchical Clustering Hierarchical Clustering Hierarchical Clustering Produces a set of nested clusters organized as a hierarchical tree Can be visualized as a dendrogram A tree-like diagram that records the sequences of merges

More information

Behavioral Data Mining. Lecture 18 Clustering

Behavioral Data Mining. Lecture 18 Clustering Behavioral Data Mining Lecture 18 Clustering Outline Why? Cluster quality K-means Spectral clustering Generative Models Rationale Given a set {X i } for i = 1,,n, a clustering is a partition of the X i

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Copyright 2010 Gotsman, Pauly Page 1 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies

More information

Graph Partitioning for High-Performance Scientific Simulations. Advanced Topics Spring 2008 Prof. Robert van Engelen

Graph Partitioning for High-Performance Scientific Simulations. Advanced Topics Spring 2008 Prof. Robert van Engelen Graph Partitioning for High-Performance Scientific Simulations Advanced Topics Spring 2008 Prof. Robert van Engelen Overview Challenges for irregular meshes Modeling mesh-based computations as graphs Static

More information

SOLVING LARGE CARPOOLING PROBLEMS USING GRAPH THEORETIC TOOLS

SOLVING LARGE CARPOOLING PROBLEMS USING GRAPH THEORETIC TOOLS July, 2014 1 SOLVING LARGE CARPOOLING PROBLEMS USING GRAPH THEORETIC TOOLS Irith Ben-Arroyo Hartman Datasim project - (joint work with Abed Abu dbai, Elad Cohen, Daniel Keren) University of Haifa, Israel

More information

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications in Dataflow Representations of DSP Applications Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering, and Institute for Advanced Computer Studies University of Maryland, College Park

More information

BOOLEAN MATRIX FACTORIZATIONS. with applications in data mining Pauli Miettinen

BOOLEAN MATRIX FACTORIZATIONS. with applications in data mining Pauli Miettinen BOOLEAN MATRIX FACTORIZATIONS with applications in data mining Pauli Miettinen MATRIX FACTORIZATIONS BOOLEAN MATRIX FACTORIZATIONS o THE BOOLEAN MATRIX PRODUCT As normal matrix product, but with addition

More information

Analysis of Algorithms Prof. Karen Daniels

Analysis of Algorithms Prof. Karen Daniels UMass Lowell omputer Science 91.404 nalysis of lgorithms Prof. Karen aniels Spring, 2013 hapter 22: raph lgorithms & rief Introduction to Shortest Paths [Source: ormen et al. textbook except where noted]

More information

CSE 421 Applications of DFS(?) Topological sort

CSE 421 Applications of DFS(?) Topological sort CSE 421 Applications of DFS(?) Topological sort Yin Tat Lee 1 Precedence Constraints In a directed graph, an edge (i, j) means task i must occur before task j. Applications Course prerequisite: course

More information

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed.

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed. igraphs ( 12.4) irected Graphs OR OS digraph is a graph whose edges are all directed Short for directed graph pplications one- way streets flights task scheduling irected Graphs 1 irected Graphs 2 igraph

More information

An Early Problem in Graph Theory. Clicker Question 1. Konigsberg and the River Pregel

An Early Problem in Graph Theory. Clicker Question 1. Konigsberg and the River Pregel raphs Topic " Hopefully, you've played around a bit with The Oracle of acon at Virginia and discovered how few steps are necessary to link just about anybody who has ever been in a movie to Kevin acon,

More information

INF4820. Clustering. Erik Velldal. Nov. 17, University of Oslo. Erik Velldal INF / 22

INF4820. Clustering. Erik Velldal. Nov. 17, University of Oslo. Erik Velldal INF / 22 INF4820 Clustering Erik Velldal University of Oslo Nov. 17, 2009 Erik Velldal INF4820 1 / 22 Topics for Today More on unsupervised machine learning for data-driven categorization: clustering. The task

More information

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles Mesh Simplification Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies for efficient

More information

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018 SE 332: ata Structures & Parallelism Lecture 19: Introduction to Graphs Ruth nderson utumn 2018 Today Graphs Intro & efinitions 11/19/2018 2 Graphs graph is a formalism for representing relationships among

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

Algorithm GDPPO. individuals actual population The SDF-scheduling framework

Algorithm GDPPO. individuals actual population The SDF-scheduling framework In Proc. of the IEEE Workshop on Signal Processing Systems, Boston, October 1998, c IEEE Optimized Software Synthesis for Digital Signal Processing lgorithms: n Evolutionary pproach J. Teich, E. Zitzler

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CS 5311 Lecture 19 Topological Sort Junzhou Huang, Ph.D. Department of Computer Science and ngineering CS5311 Design and Analysis of Algorithms 1 Topological Sort Want

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms S 101, Winter 2018 esign and nalysis of lgorithms Lecture 3: onnected omponents lass URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ nd of Lecture 2: s, Topological Order irected cyclic raph.g., Vertices

More information

Query Optimization. Query Optimization. Optimization considerations. Example. Interaction of algorithm choice and tree arrangement.

Query Optimization. Query Optimization. Optimization considerations. Example. Interaction of algorithm choice and tree arrangement. COS 597: Principles of Database and Information Systems Query Optimization Query Optimization Query as expression over relational algebraic operations Get evaluation (parse) tree Leaves: base relations

More information

The ILP approach to the layered graph drawing. Ago Kuusik

The ILP approach to the layered graph drawing. Ago Kuusik The ILP approach to the layered graph drawing Ago Kuusik Veskisilla Teooriapäevad 1-3.10.2004 1 Outline Introduction Hierarchical drawing & Sugiyama algorithm Linear Programming (LP) and Integer Linear

More information

Algorithm. topsort ABCD 9,(3(2AB)C)(2D) buffer cost + looped schedule GDPPO. individuals actual population. Scheduling framework

Algorithm. topsort ABCD 9,(3(2AB)C)(2D) buffer cost + looped schedule GDPPO. individuals actual population. Scheduling framework Parallel Problem Solving from Nature { PPSN V, Amsterdam, The Netherlands, September 1998, pages 885{894. cspringer. Buer memory optimization in DSP applications An Evolutionary Approach Jurgen Teich and

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Lecture 3: Sorting 1

Lecture 3: Sorting 1 Lecture 3: Sorting 1 Sorting Arranging an unordered collection of elements into monotonically increasing (or decreasing) order. S = a sequence of n elements in arbitrary order After sorting:

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

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014 epartment of omputer Science Virginia Tech lacksburg, Virginia opyright c 04 by lifford. Shaffer : Theory of lgorithms Title page : Theory of lgorithms lifford. Shaffer Spring 04 lifford. Shaffer epartment

More information

Graph Representation

Graph Representation Graph Representation Adjacency list representation of G = (V, E) An array of V lists, one for each vertex in V Each list Adj[u] contains all the vertices v such that there is an edge between u and v Adj[u]

More information

Episode 5. Scheduling and Traffic Management

Episode 5. Scheduling and Traffic Management Episode 5. Scheduling and Traffic Management Part 2 Baochun Li Department of Electrical and Computer Engineering University of Toronto Keshav Chapter 9.1, 9.2, 9.3, 9.4, 9.5.1, 13.3.4 ECE 1771: Quality

More information

Module 5 Graph Algorithms

Module 5 Graph Algorithms Module 5 Graph lgorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu 5. Graph Traversal lgorithms Depth First

More information

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE! 1. Link state flooding topology information finding the shortest paths (Dijkstra)

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE! 1. Link state flooding topology information finding the shortest paths (Dijkstra) ontents ÉOL POLYTHNIQU ÉÉRL LUSNN! 1. Link state flooding topology information finding the shortest paths (ijkstra)! 2. Hierarchical routing with areas! 3. OSP Link State Routing database modelling neighbor

More information

Algorithms Dr. Haim Levkowitz

Algorithms Dr. Haim Levkowitz 91.503 Algorithms Dr. Haim Levkowitz Fall 2007 Lecture 4 Tuesday, 25 Sep 2007 Design Patterns for Optimization Problems Greedy Algorithms 1 Greedy Algorithms 2 What is Greedy Algorithm? Similar to dynamic

More information

Computational Geometry

Computational Geometry Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel

More information

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many

More information

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY General definitions; Representations; Graph Traversals; Topological sort; Graphs definitions & representations Graph theory is a fundamental tool in sparse

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

Problem: Large Graphs

Problem: Large Graphs S : ata Structures raph lgorithms raph Search Lecture Problem: Large raphs It is expensive to find optimal paths in large graphs, using S or ijkstra s algorithm (for weighted graphs) How can we search

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174

More information

A Fast Recursive Mapping Algorithm. Department of Computer and Information Science. New Jersey Institute of Technology.

A Fast Recursive Mapping Algorithm. Department of Computer and Information Science. New Jersey Institute of Technology. A Fast Recursive Mapping Algorithm Song Chen and Mary M. Eshaghian Department of Computer and Information Science New Jersey Institute of Technology Newark, NJ 7 Abstract This paper presents a generic

More information

Scheduling Tasks Sharing Files from Distributed Repositories

Scheduling Tasks Sharing Files from Distributed Repositories from Distributed Repositories Arnaud Giersch 1, Yves Robert 2 and Frédéric Vivien 2 1 ICPS/LSIIT, University Louis Pasteur, Strasbourg, France 2 École normale supérieure de Lyon, France September 1, 2004

More information

Memory-constrained Block Processing Optimization for Synthesis of DSP Software

Memory-constrained Block Processing Optimization for Synthesis of DSP Software Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, Samos, Greece, July 2006. Memory-constrained Block Processing Optimization for Synthesis

More information

Compositionality in system design: interfaces everywhere! UC Berkeley

Compositionality in system design: interfaces everywhere! UC Berkeley Compositionality in system design: interfaces everywhere! Stavros Tripakis UC Berkeley DREAMS Seminar, Mar 2013 Computers as parts of cyber physical systems cyber-physical ~98% of the world s processors

More information

PTAS for Matroid Matching

PTAS for Matroid Matching PTAS for Matroid Matching Jon Lee 1 Maxim Sviridenko 1 Jan Vondrák 2 1 IBM Watson Research Center Yorktown Heights, NY 2 IBM Almaden Research Center San Jose, CA May 6, 2010 Jan Vondrák (IBM Almaden) PTAS

More information

Mesh Decimation. Mark Pauly

Mesh Decimation. Mark Pauly Mesh Decimation Mark Pauly Applications Oversampled 3D scan data ~150k triangles ~80k triangles Mark Pauly - ETH Zurich 280 Applications Overtessellation: E.g. iso-surface extraction Mark Pauly - ETH Zurich

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

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

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

More information

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Anan Bouakaz Pascal Fradet Alain Girault Real-Time and Embedded Technology and Applications Symposium, Vienna April 14th, 2016

More information

Spectral Clustering X I AO ZE N G + E L HA M TA BA S SI CS E CL A S S P R ESENTATION MA RCH 1 6,

Spectral Clustering X I AO ZE N G + E L HA M TA BA S SI CS E CL A S S P R ESENTATION MA RCH 1 6, Spectral Clustering XIAO ZENG + ELHAM TABASSI CSE 902 CLASS PRESENTATION MARCH 16, 2017 1 Presentation based on 1. Von Luxburg, Ulrike. "A tutorial on spectral clustering." Statistics and computing 17.4

More information