Parametric Throughput Analysis of Synchronous Data Flow Graphs

Slides:



Advertisements
Similar presentations
Algorithm Analysis Input size Time I1 T1 I2 T2 …
Advertisements

Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Introduction to Algorithms Rabie A. Ramadan rabieramadan.org 2 Some of the sides are exported from different sources.
Fast Algorithms For Hierarchical Range Histogram Constructions
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Easy Optimization Problems, Relaxation, Local Processing for a small subset of variables.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Optimization of Pearl’s Method of Conditioning and Greedy-Like Approximation Algorithm for the Vertex Feedback Set Problem Authors: Ann Becker and Dan.
What is an Algorithm? (And how do we analyze one?)
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
CS 206 Introduction to Computer Science II 11 / 12 / 2008 Instructor: Michael Eckmann.
A Hierarchical Energy-Efficient Framework for Data Aggregation in Wireless Sensor Networks IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 55, NO. 3, MAY.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Backtracking Reading Material: Chapter 13, Sections 1, 2, 4, and 5.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
CS 206 Introduction to Computer Science II 04 / 06 / 2009 Instructor: Michael Eckmann.
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.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
Technische universiteit eindhoven Department of Electrical Engineering Electronic Systems Liveness and Boundedness of Synchronous Data Flow Graphs A.H.
Decision Procedures An Algorithmic Point of View
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 3 (Part 3): Mathematical Reasoning, Induction & Recursion  Recursive Algorithms (3.5)  Program Correctness (3.6)
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 4 (Part 3): Mathematical Reasoning, Induction.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
Analysis of Algorithms
10/14/ Algorithms1 Algorithms - Ch2 - Sorting.
Dijkstra’s Algorithm. Announcements Assignment #2 Due Tonight Exams Graded Assignment #3 Posted.
Efficient Deployment Algorithms for Prolonging Network Lifetime and Ensuring Coverage in Wireless Sensor Networks Yong-hwan Kim Korea.
Yaomin Jin Design of Experiments Morris Method.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
1Computer Sciences Department. Book: Introduction to Algorithms, by: Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Electronic:
Motion Planning in Games Mark Overmars Utrecht University.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Linear Programming Erasmus Mobility Program (24Apr2012) Pollack Mihály Engineering Faculty (PMMK) University of Pécs João Miranda
Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
2-0 Copyright © 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin “ Introduction to the Design & Analysis of Algorithms, ” 2 nd ed., Ch. 2 Theoretical.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 23 Algorithm Efficiency.
Searching Topics Sequential Search Binary Search.
Exponential time algorithms Algorithms and networks.
Fair and Efficient multihop Scheduling Algorithm for IEEE BWA Systems Daehyon Kim and Aura Ganz International Conference on Broadband Networks 2005.
Chance Constrained Robust Energy Efficiency in Cognitive Radio Networks with Channel Uncertainty Yongjun Xu and Xiaohui Zhao College of Communication Engineering,
Principles of Linear Pipelining
ICS 353: Design and Analysis of Algorithms Backtracking King Fahd University of Petroleum & Minerals Information & Computer Science Department.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Quicksort This is probably the most popular sorting algorithm. It was invented by the English Scientist C.A.R. Hoare It is popular because it works well.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
Computational Intelligence: Methods and Applications Lecture 15 Model selection and tradeoffs. Włodzisław Duch Dept. of Informatics, UMK Google: W Duch.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Computational Geometry
CMPT 438 Algorithms.
Advanced Algorithms Analysis and Design
Computation of the solutions of nonlinear polynomial systems
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
Random Testing: Theoretical Results and Practical Implications IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 2012 Andrea Arcuri, Member, IEEE, Muhammad.
Applied Discrete Mathematics Week 11: Relations
Analysis of Algorithms
Chapter 12: Query Processing
Analysis and design of algorithm
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Objective of This Course
Copyright © 2017, 2013, 2009 Pearson Education, Inc.
Chapter 11 Limitations of Algorithm Power
ICS 353: Design and Analysis of Algorithms
Presentation transcript:

Parametric Throughput Analysis of Synchronous Data Flow Graphs 黃翔

Outline Abstract Introduction Synchronous Data Flow Graphs(SDFGs) HSDFG Method State-Space Method Divide-and-Conquer Method Experiments Conclusion

Abstract(1/2) SDFGs have proved to be a very successful tool for modeling, analysis and synthesis of multimedia applications. One of the most prominent performance constrains of concurrent real-time applications is throughput. For given actor execution times , throughput can be verified by analyzing the SDFG models of such applications. Using maximum cycle mean analysis(MCM) or state space analysis.

Abstract(2/2) In design space exploration(DSE) or runtime reconfiguration, many fast throughput computations are required for varying actor execution times. We present methods to compute throughput of an SDFG where actor execution times can be parameters. We propose three different algorithm for parametric throughput analysis and showing the feasibility of the approach. The divide and conquer algorithm performs best.

Introduction(1/4) An SDFG is a graph where nodes are called actors and edges are called channels. Actors typically model application tasks. Channels model data communication and control dependencies.

Introduction(2/4) Throughput analysis is a crucial indicator of performance used both at design time(DSE) and runtime(RM). In DSE many different settings of the system are explored, which leads to many throughput calculations. At runtime, prediction of throughput is required for proper assignment of resources to applications. In both cases, throughput calculations need to be as fast as possible with very strict time and resource requirement for runtime applications.

Introduction(3/4) The execution times of actors are assumed to be fixed numbers in all of the proposed methods. Any change in the execution time leads to a re-computation of the throughput. However, calculating the throughput is expensive in many cases, and has exponential time complexity in the worst case. The worst case execution times of tasks are assigned to actors as their execution times.

Introduction(4/4) We consider parametric SDFGs, a generalization of SDFGs where can have parameters as their execution times. We study three algorithms to calculate the throughput of a parametric SDFG. HSDFG State-Space Method Divide-and-Conquer Method

SDFGs(1/4) Tasks are modeled as actors and channels represent data dependencies. The execution of an actor is referred to as a firing, the data items communicated between actors are modeled by tokens, and the amounts of tokens produced and consumed in a firing are referred to as rates. An actor a is tuple (In, Out, ) Ports of input ports (In(a)) Ports of output ports (Out(a)) representing the execution time of

SDFGs(2/4) When an actor a start its firing, it removes tokens from all In(a). The firing then continues for time and when it ends, it produces tokens on every Out(a). An SDFG with all port rates equal to one is called a Homogenous Synchronous Data Flow Graph (HSDFG).

SDFGs(3/4) The throughput Th(a) of an actor a of an SDFG is defined as the average number of firings of a per time unit in the self-timed execution. Self-timed execution : firing every actor as soon as it gets enabled. A parametric SDFG is an SDFG with at least one actor with a parameter as its execution time. The set of values that the parameters can take, is called the parameter space of the graph.

SDFGs(4/4) Existing methods of calculating throughput for SDFGs are not directly applicable to parametric SDFGs. The efficient MCM analysis algorithms which work on HSDFGs cannot be applied on parametric SDFGs. The conversion of SDFG to HSDFG can easily be adapted though. However, this conversion may lead to an exponential explosion in the size of the SDFG. Also, the state-space method cannot be directly used for parametric throughput analysis, but it can be generalized.

SDFGs(Ref.7)

HSDFG Method(1/4) The cycle mean of a cycle of an HSDFG is defined as the total execution time of the cycle over the number of token in that cycle. The example in fig.1 is already an HSDFG, so no conversion is needed. This graph has three simple cycles (a,a), (b,b) and (a,b,a) with 1,1 and 3 tokens respectively. If we assume that the execution times of a and b are given by parameters p and q, the cycle mean expressions are p, q and (p+q)/3 .

HSDFG Method(2/4) If cycle c has cycle mean expression , then its cycle mean, , for each point in the parameter space can be calculated by . Ex: Any expression that has the maximum cycle mean for some point is called a maximum cycle mean expression (mcme). Any mcme that has the maximum cycle mean value for some point for which no other mcme has the maximum value is a dominating mcme. The other cycle mean expressions, including the other mcmes, are called redundant expressions.

HSDFG Method(3/4) The throughput of an SDFG is equal to the inverse of the maximum cycle mean(MCM) of the equivalent HSDFG. Throughput analysis for a parametric SDFG can be done by finding its DCMS. Given an HSDFG, the dominating cycle mean set (DCMS) is the set of dominating mcmes. This minimum set can be obtained from the set of all expressions by removing all redundant expressions. An expression is redundant if all of its coefficients are less than or equal to those of another expression.

HSDFG Method(4/4) We see that (p + q)/3 is redundant. Algorithm This follows from the infeasible linear system.(Ref.4) Therefore, DCMS(G)= {p , q}. Algorithm

State-Space Method(1/7) State-space-based throughput calculation for SDFGs avoids the conversion to HSDFGs. The state of SDFG is a tuple associates with each channel the amount of tokens present in that channel in that state. associates with each actor a representing the remaining times of different active firings of a.

State-Space Method(2/7) In fig.1, the initial state is ((1,1,1,2),({},{})). The first vector shows the token distribution of channels, starting from self-loop channel of a and continuing counterclockwise. The second vector is the vector of multi-set of the remaining execution times of a and b. Initially, both multi-set are empty.

State-Space Method(3/7) Since the relations between parameters are not known, we can not always be sure which firing finishes first. The parametric state space of with execution times p and q for actors a and b is given in fig.2.

State-Space Method(4/7) After starting firings of a and b, changes to ({p},{q}). We split the parameter space into two exclusive parts with p<q and p>q. From the periodic phase, we can compute the throughput. The length of the period is (p-q)+q=p and during the period only one firing of actors a and b occurs. Therefore, the throughput is 1/p if p>q. The case 2p<q gets period in a few steps with throughput 1/q. All subsequent branches have the same throughput 1/q.

State-Space Method(5/7) Since our final goal is finding MCM and since MCM is continuous, we do not need to consider the case p=q as the cycle means of this part of the parameter space are covered by expressions obtained by both the cases p<q and p>q. We can conclude that, as before, DCMS( )={p , q} for the whole parameter space. To make the state space finite, we confine the state space, by considering only integer values for parameters.

State-Space Method(6/7) Algorithm

State-Space Method(7/7) If a new branch is explored, the nextState is called and the new state n is created. The search for the recurrent state only occurs in nBList. If is feasible and n is non-branching, then the algorithm checks whether the state is recurrent. If the state is recurrent, the algorithm calculates the cycle mean expressions, by calling calcCMExp. The obtained expression, which is always a dominating mcme, is stored in DCMS. If is not infeasible but contains no integer solutions, some integer solution may still exist on the border of

Divide-and-Conquer Method(1/4) This algorithm finds the mcmes of all points in the region including integer solutions on the border of . If for every corner point of an arbitrary polyhedron of the parameter space, for some mcme then for every point in that region The parameter space is composed of throughput regions. Fig.3 shows two throughput regions.

Divide-and-Conquer Method(2/4) By comparing the evaluation of for every vertex of convex polyhedron C and actual maximum cycle mean value, we can detect whether C is a subset of a single throughput region. This ideal can be used in a divide-and-conquer method if we add a partitioning strategy. Partitioning continues till all the created regions have a single mcme. All obtained mcmes together form the DCMS.

Divide-and-Conquer Method(3/4) Algorithm

Divide-and-Conquer Method(4/4) Since MCM is continuous , the mcmes of two neighboring regions are valid for all points on the border. e.g. We address this plane as the splitting plane. A randomly selected point from the parameter space has only one mcme with probability one. All the cycle mean values of all the vertices of convex region(CR) are checked for the validity of the mcme obtained for a random point in the interior of CR. In case the mcme of is not valid for a vertex , then the splitting plane obtained from mcmes of and splits CR .

Experiments (1/2) We have evaluated the execution times of our algorithms using SDFG models of 7 real applications.

Experiments (2/2) We only compared the Divide & Conquer and coverStateSpace algorithm. The reason is that the HSDFG method works on the HSDFGs, the algorithm takes generally too long. The results show that a design-time parametric throughput analysis is feasible.

Conclusion We have extended throughput analysis of SDFGs to parametric SDFGs so that actors can have parameters as their execution times. We adapted existing methods for computing throughput to parametric SDFGs and proposed a new, faster, algorithm.