1. Trang chủ
  2. » Luận Văn - Báo Cáo

rotation scheduling on synchronous data flow graphs

63 214 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

ROTATION SCHEDULING ON SYNCHRONOUS DATA FLOW GRAPHS A Thesis Presented to The Graduate Faculty of The University of Akron In Partial Fulfillment of the Requirements for the Degree Master of Science Rama Krishna Pullaguntla August, 2008 ii ROTATION SCHEDULING ON SYNCHRONOUS DATA FLOW GRAPHS Rama Krishna Pullaguntla Thesis Accepted: Approved: ______________________________ _____________________________ Advisor Dean of the College Dr. Timothy W. O’Neil Dr. Ronald F. Levant ______________________________ _____________________________ Faculty Reader Dean of the Graduate School Dr. Kathy J. Lizska Dr. George R. Newkome ______________________________ _____________________________ Faculty Reader Date Dr. Timothy S. Margush ______________________________ Department Chair Dr. Wolfgang Pelz iii ABSTRACT Scheduling loops optimally is one of the important steps in parallel processing, since many applications are made up of iterative processes. There are iterative processes, which can be best described using synchronous data flow graphs (SDFGs) or multi-rate graphs. A great deal of research has been done to optimize SDFGs using techniques such as retiming. In this research, we apply a technique called rotation scheduling to reduce the execution times of SDFGs. We also present an algorithm that schedules synchronous data flow graphs based on the types of functional units and number of copies available for each functional unit. Finally, we demonstrate the contributions of our research using suitable examples. iv TABLE OF CONTENTS Page LIST OF TABLES vii LIST OF FIGURES viii LIST OF ALGORITHMS x CHAPTER I. INTRODUCTION 1 1.1 Synchronous data flow graph… 1 1.2 Rotation Scheduling… 2 1.3 Contributions and outline… 5 II. BACKGROUND… … 7 2.1 Directed graph… … 7 2.2 Data flow graph… … 8 2.3 Scheduling iterative processes… 10 2.4 Length of a schedule… 11 2.5 Clock period… … 12 2.5.1 Computation delay ratio… 13 2.5.2 Critical cycle… 14 2.6 Synchronous data flow graphs… 14 v 2.6.1 Definition… … 15 2.6.2 Topology matrix… 16 2.6.3 Basic repetition vector… 17 2.6.4 Equivalent homogeneous graph… 18 2.6.5 Consistency and Liveness of SDFG… 18 2.6.6 Iteration bound for SDFG… 20 2.7 Summary… … 22 III. IMPLEMENTATION… … 23 3.1 Retiming… … 23 3.2 Scheduling operations in a SDFG… 23 3.3 Example to demonstrate scheduling algorithm … 25 3.4 Example to Demonstrate the Down Rotate Operation… 28 3.5 Rotation Heuristics… 32 3.6 Limitations of the Heuristic Model… 33 3.7 Summary … … 34 IV. RESULTS… … 35 4.1 First example… … 35 4.2 Second example… 40 4.3 Summary… … 46 V. CONCLUSIONS AND FUTURE WORK… 48 5.1 Contributions… … 48 5.2 Rotation scheduling… 49 vi 5.3 Scheduling the synchronous data flow graph… 50 5.4 Future work… 50 REFERENCES… … 52 vii LIST OF TABLES Table Page 3.1 Schedule for the SDFG in Figure 3.1…………………… 27 3.2 Initial schedule for the SDFG in Figure 3.3…………………… 30 3.3 Schedule for SDFG after single rotation ………… 31 4.1 Initial schedule for SDFG in first example …………………… 37 4.2 Schedule for SDFG after single rotation… 38 4.3 Schedule for SDFG after second rotation… 39 4.4 Initial schedule for SDFG in second example…………………… 42 4.5 Schedule for SDFG in example 2 after single rotation… 44 4.6 Schedule for SDFG in example 2 after second rotation… 46 viii LIST OF FIGURES Figure Page 2.1 Data flow graph example 9 2.2 Directed acyclic graph… 13 2.3 Synchronous data flow graph example 15 2.4 Topology matrix 17 2.5 Inconsistent synchronous data flow graph… 18 2.6 Topology matrix of the inconsistent synchronous data flow graph… 18 2.7 Liveness of Synchronous data flow graph… 19 2.8 Equivalent homogeneous graph to demonstrate liveness… 19 2.9 Synchronous data flow graph to demonstrate Iteration bound… 21 2.10 Equivalent homogeneous graph to demonstrate Iteration bound… 21 3.1 SDFG to demonstrate scheduling algorithm… 25 3.2 SDAG for the SDFG in Figure 3.1… 26 3.3 SDFG to demonstrate down rotation… 29 3.4 Topology matrix for the SDFG in Figure 3.3… 29 3.5 Down Rotated SDFG… 31 4.1 Synchronous data flow graph for first example… 35 4.2 Topology matrix for the first example 1… 36 4.3 Synchronous directed acyclic graph of example 1… 36 ix 4.4 SDFG after one down rotation… 37 4.5 Synchronous directed acyclic graph after single rotation… 38 4.6 Synchronous data flow graph after second rotation… 39 4.7 Synchronous directed acyclic graph after second rotation… 39 4.8 Synchronous data flow graph for second example… 40 4.9 Topology matrix for the SDFG in Figure 4.8… 41 4.10 SDAG of the SDFG in Figure 4.8… 42 4.11 SDFG after single rotation… … 43 4.12 SDAG after first rotation… … 43 4.13 SDFG after second rotation… … 45 4.14 SDAG after second rotation… … 45 x LIST OF ALGORITHMS Algorithm Page 3.1 Schedule-SDFG (G) 24 3.2 Down_Rotate (G, S G , l, q) 28 3.3 Rotation_Phase (G, S G , l, η, Sopt, q) 32 3.4 Heuristic RH1 (G, η, κ) 33 [...]... graph 1.3 Contributions and Outline In this research, we present the following contributions that are related to the application of the rotation scheduling technique on synchronous data flow graphs 1 We develop a Down_Rotate () algorithm that applies the rotation scheduling technique on synchronous data flow graphs 2 We describe a new algorithm to schedule synchronous data flow graphs without converting... scheduling on synchronous data flow graphs 1.1 Synchronous Data Flow Graphs (SDFG) Synchronous data flow graphs, also called multirate graphs, are used to represent the data flow in multiprocessor applications They are similar to data flow graphs but the nodes that are represented within SDFGs are capable of producing and consuming multiple units of data The nodes of a SDFG represent functional elements... producing and consuming a single unit of data In order to address this situation, Lee in [12] has introduced the concept of synchronous data flow graphs where each node is capable of producing or consuming multiple tokens of data on every iteration The number of tokens produced or consumed by each node is predetermined 14 2.6.1 Definition Synchronous data flow graphs are an extension to data flow graphs where... the concepts of retiming, rotation scheduling, data flow graphs and synchronous data flow graphs It also describes the properties of data flow graphs such as schedule length, iteration bound, clock period, liveness, consistency, etc 2 Chapter 3 will describe the implementation of algorithms that are used to apply rotation scheduling on synchronous data flow graphs It also describes some of the heuristics... data flow graphs where each node denotes the task with probabilistic computation time As we observe, most of the existing research has emphasized optimizing homogeneous data flow graphs using methods such as retiming and rotation scheduling in combination with several other techniques In this research, we mainly focus on the application of the rotation scheduling technique on the synchronous data flow. .. vn is dependent on v1 2.2 Data Flow Graph Data flow graphs (DFGs) are an extension of directed graphs These graphs are generally used to describe the flow of data between the operations in which each operation produces and consumes a single unit of data The data flow graph G (V, E, t, d) can be represented using the following parameters: • V is a set of nodes that represent the operations • E is a set... of a data flow graph where each operation is capable of producing and consuming a single unit of data The application of the rotation scheduling technique on iterative processes was discussed in [4] where the iterative process is represented using a data flow graph This article emphasized the methodology used in the implementation of rotation scheduling It proposed new heuristics such as rotation span,... half rotation These methods help in finding all possible schedules that can be obtained from the initial setup The behavior and intricacies of synchronous data flow graphs have been clearly explained in [7] This paper describes the basic features of a synchronous data flow graphs such as consistency, liveness, etc This article also provides an algorithm to find the static schedule for a synchronous data. .. and pushing them onto the outgoing edges The delays are more evenly distributed among the data flow graph so that it decreases the longest zero delay path in the given circuit thereby reducing the clock period of the data flow graph The iteration bound remains the same even after retiming the edges 3.2 Scheduling Operations in a SDFG The scheduling of operations in a synchronous data flow graph is an... mapping synchronous data flow graphs onto processor networks 4 It is always a difficult proposition to generate an optimal schedule for the processes without knowing the computation times of the tasks involved The authors in [10] address this situation by introducing a new facet of rotation scheduling They propose two new algorithms called probabilistic retiming and probabilistic rotation scheduling . called rotation scheduling on synchronous data flow graphs. 1.1 Synchronous Data Flow Graphs (SDFG) Synchronous data flow graphs, also called multirate graphs, are used to represent the data. give detailed information on the concepts of retiming, rotation scheduling, data flow graphs and synchronous data flow graphs. It also describes the properties of data flow graphs such as schedule. algorithm that applies the rotation scheduling technique on synchronous data flow graphs. 2. We describe a new algorithm to schedule synchronous data flow graphs without converting them into their

Ngày đăng: 30/10/2014, 20:12

TỪ KHÓA LIÊN QUAN