Joint Minimization of Code and Data for Synchronous Dataflow Programs Kaushik Ravindran EE 249 – Presentation.

Slides:



Advertisements
Similar presentations
Chapter 9 Greedy Technique. Constructs a solution to an optimization problem piece by piece through a sequence of choices that are: b feasible - b feasible.
Advertisements

Lecture 15. Graph Algorithms
Max- coloring in trees SRIRAM V.PEMMARAJU AND RAJIV RAMAN BY JAYATI JENNIFER LAW.
ECE 667 Synthesis and Verification of Digital Circuits
Comp 122, Spring 2004 Greedy Algorithms. greedy - 2 Lin / Devi Comp 122, Fall 2003 Overview  Like dynamic programming, used to solve optimization problems.
Greedy Algorithms Greed is good. (Some of the time)
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Chapter 4 The Greedy Approach. Minimum Spanning Tree A tree is an acyclic, connected, undirected graph. A spanning tree for a given graph G=, where E.
Modularity and community structure in networks
Memory-Efficient Sliding Window Progressive Meshes Pavlo Turchyn University of Jyvaskyla.
DATA STRUCTURE RECAP Yiqun Zhang University of Houston.
1 Routing and Wavelength Assignment in Wavelength Routing Networks.
Traffic Grooming in WDM Ring Networks Presented by: Eshcar Hilel.
Experiments We measured the times(s) and number of expanded nodes to previous heuristic using BFBnB. Dynamic Programming Intuition. All DAGs must have.
Advanced Data Structures
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Graduate Center/City University of New York University of Helsinki FINDING OPTIMAL BAYESIAN NETWORK STRUCTURES WITH CONSTRAINTS LEARNED FROM DATA Xiannian.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Assessment. Schedule graph may be of help for selecting the best solution Best solution corresponds to a plateau before a high jump Solutions with very.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
1 Network Coding: Theory and Practice Apirath Limmanee Jacobs University.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Synchronous Data Flow Presenter: Zohair Hyder Gang Zhou Synchronous Data Flow E. A. Lee and D. G. Messerschmitt Proc. of the IEEE, September, Joint.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Connected Components, Directed Graphs, Topological Sort COMP171.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
A scalable multilevel algorithm for community structure detection
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
A Solution for the Bandwidth Optimization Problem with 2 Stations Rahul Bijlani, Louis Deaett and Maksim Orlovich.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2009 Dataflow.
From Miles to Millimeter: On-chip Communication Networks Alessandro Pinto U.C. Berkeley
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
CS294-6 Reconfigurable Computing Day 23 November 10, 1998 Stream Processing.
The Art Gallery Problem
Pebble games for rigidity Overview. The game of pebbling was first suggested by Lagarias and Saks, as a tool for solving a particular problem in number.
Technische universiteit eindhoven Department of Electrical Engineering Electronic Systems Liveness and Boundedness of Synchronous Data Flow Graphs A.H.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Mapping Stream Programs onto Heterogeneous Multiprocessor Systems [by Barcelona Supercomputing Centre, Spain, Oct 09] S. M. Farhad Programming Language.
CS774. Markov Random Field : Theory and Application Lecture 08 Kyomin Jung KAIST Sep
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
Spring 2015 Lecture 11: Minimum Spanning Trees
Spring 2015 Mathematics in Management Science Network Problems Networks & Trees Minimum Networks Spanning Trees Minimum Spanning Trees.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Static Process Scheduling
Two Connected Dominating Set Algorithms for Wireless Sensor Networks Overview Najla Al-Nabhan* ♦ Bowu Zhang** ♦ Mznah Al-Rodhaan* ♦ Abdullah Al-Dhelaan*
COSC 3101NJ. Elder Announcements Midterms are marked Assignment 2: –Still analyzing.
2IS80 Fundamentals of Informatics Fall 2015 Lecture 7: Sorting and Directed Graphs.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Introduction to NP Instructor: Neelima Gupta 1.
Timetable Problem solving using Graph Coloring
Lecture 11 Graph Algorithms
Introduction to Algorithms
The Taxi Scheduling Problem
Mayank Bhatt, Jayasi Mehar
Haim Kaplan and Uri Zwick
The use of Neural Networks to schedule flow-shop with dynamic job arrival ‘A Multi-Neural Network Learning for lot Sizing and Sequencing on a Flow-Shop’
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Presentation transcript:

Joint Minimization of Code and Data for Synchronous Dataflow Programs Kaushik Ravindran EE 249 – Presentation

Objective Develop a methodology for chain-structured SDF graphs to minimize Code size Buffer memory Extend this into heuristic solutions for general acyclic SDF graphs

Quick Overview Dataflow networks Collection of functional actors connected over unbounded FIFO buffers Synchronous Dataflow (SDF) # of tokens produced per actor fixed Deadlock and boundedness are decidable ABC

Motivation Code size minimization Code replication each time an actor appears in schedule Amount of on-chip memory limited Single Appearance schedules – optimally compact inline representation of SDF Buffer memory optimization Choose schedule that minimizes buffer memory

Schedules and Loops Revisit Repetitions vector q G = (1, 2, 4) - Minimum number of actor firings q[source(e)] * produce(e) = q[sink(e)]*consume(e) Flat single appearance schedule (ω(1A)(2B)(4C)) (nS 1 S 2 …S k ) – ‘n’ successive firings of S 1 …S k ABC

Impact of schedule on buffer size Valid schedulesBuffer size 1.ABCBCCC50 2.A(2B(2C))40 3.A(2B)(4C)60 4.A(2BC)(2C)50 For a consistent SDF graph, there exists a fully reduced single appearance schedule occupying minimum possible buffer memory ABC

R-Schedules Recursively decompose chain-structured graph (G) into left (S L ) and right (S R ) subgraphs Set or R-schedules always contains a schedule that attains minimum buffer requirement Number of R-schedules = (1/n)(2n-2 C n-1) where n = number of actors in chain SDF

Dynamic Programming Algorithm Determine R-schedule that minimizes buffer memory requirement Minimum buffer memory requirement is cost of subgraphs and cost of split b[i,j] = min(b[i,k] + b[k+1,j] + c i,j [k]) for i <= k < j Running time O(n 3 )

Heuristic Solution Introduce split on edge where minimum amount of data is transferred Average run timeO(n * log (n)) Can apply heuristic to arbitrary acyclic SDF Partition SDF into smaller subgraphs Apply exact dynamic programming algorithm to minimum size subgraphs

Directed Acyclic SDF graphs Topological sort Ordering of vertices, such that source vertex of each edge occurs earlier than sink vertex Flat single appearance schedule corresponds to any valid topological sort Four possible topological sorts A B C D s t

Heuristic – Minimum legal cuts into Bounded Sets Extend heuristic for chain-structured graph Find cut with minimum amount of data transferred Kernighan and Lin approach Recursively partition left and right halves to obtain schedule bodies Run dynamic programming algorithm to optimize schedule

In retrospect Main objectives Minimize code size Through single appearance schedules Minimize buffer memory Through buffer optimal looped schedules Dynamic programming algorithm For well ordered SDF graphs Heuristic algorithms For general acyclic SDF graphs

Possible improvements – future work Consideration of a shared buffer approach Calculate minimum shared buffer size for looped schedules Trade-offs between code size Vs buffer size Consider a multiple appearance schedule that could optimize buffer usage Extend study to arbitrary SDF graphs