by Naval Postgraduate School, Available from National Technical Information Service in Monterey, Calif, Springfield, Va .
Written in English
Efficient data-flow implementation requires fast run-time mechanisms to detect and dispatch schedulable tasks. However, the inherent non-determinism in data-flow executions and the requirement of fast, and therefore, simple run- time mechanisms necessitate compile-time support to improve performance. In particular, for data-flow execution of applications, such as signal processing which are characterized by periodically received data, compile-time support can be used to control the run-time behavior to improve the predictability and efficiency. In this report, a compile-time technique that supports a simple run- time mechanism to improve throughput and predictability for a task-level data- flow programming model is described. This technique, called the revolving cylinder analysis, restructures the application, described by a task-level data- flow graph. The restructuring is based on wrapping the projected data-flow execution trace on the curved surface of a cylinder whose area depends upon the number of processors and the sum of the task execution times. The behavior of the restructured graph is shown to be more predictable under the same run-time mechanism than that of the old graph. Results on the performance improvement for two typical signal processing applications, viz., a correlator and a fast Fourier Transform, are presented. The potential of this approach in determining the optimal granularity for an application is also described. Compile-time, Data-flow, Graph Restructuring, Real-time, Run-time, Scheduling, Signal Processing, Throughput, Task-level.
|Statement||Shridhar B. Shukla, Brian Little, Amr Zaky|
|Contributions||Little, Brian S., Zaky, Amr, Naval Postgraduate School (U.S.). Dept. of Electrical and Computer Engineering|
|The Physical Object|
|Pagination||i, 27 p. :|
|Number of Pages||27|
In this report, a compile-time technique that supports a simple run- time mechanism to improve throughput and predictability for a task-level data- flow programming model is described. This technique, called the revolving cylinder analysis, restructures the application, described by a task-level data- . Real-time Execution Control of Task-level Data-flow Graphs Using A Compile-time Approach' by Shridhar Shukla and Brian Little2 Code EC/Sh, Dept. of Elect. & Computer Engineering Naval Postgraduate School Monterey, CA Tel: () Fax: () E-mail: shukla,•".mnil and Amr Zaky Code CS/: Shridhar B Shukla, Brain Little, Amr Zaky. Reference: Real-Time Execution Control of Task-Level Data-Flow Graphs Using a Compile-Time Approach Strategies for predictability in real-time data-flow architectures Citing conference paper. real-time control system. While a buffer will underflow immediately, decreasing the execution rate would promote the suspending of data flow. 3. The Model of Data Flow The real-time control system based on a data flow Following the development of hardware and real-time operating system, the implementation of real-time.
A program described as a synchronous data flow graph can be mapped onto parallel processors at compile time (statically), so the run time overhead usually associated With data flow implementations. A Compile-Time Technique for Contorlling Real-Time Execution of Task-Level Data-Flow Graphs. Control of Task-Level Data-Flow Graphs Using a Compile-Time Approach compile-time . Data Flow Graph (DFG) A modem communications system – Each box is a single function or sub systems – The activity of each block in the chain depends on the input of the previous block – Data driven Each functional block may have to wait until it receives a "certain amount" of information before it begins processing Some place to output. • Dynamically: Can have infinitely many possible execution paths • Data flow analysis abstraction: –For each point in the program: combines information of all the instances of the same program point. • Example of a data flow question: –Which definition defines the value used in statement “b = a”? CS Intro to Data Flow 7 M. Lam.
Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program.A program's control flow graph (CFG) is used to determine those parts of a program to which a particular value assigned to a variable might propagate. The information gathered is often used by compilers when optimizing a program. Compile-time decisions are based on known profiles available for each actor at compile time. The profile of an actor is the information necessary for scheduling, such as the execution time and the. This article has discussed our approach and provided an example regarding execution so that it may be easy to extract data and control flow of programs tically, this article has shown how to extract source code and provide information of data and control graph using a simple example. Page 1 Task Graph Name: Task Graph Note: The Task Graph pattern is a concurrent execution pattern and should not be confused with the Arbitrary Static Task Graph architectural pattern (1) which addresses the overall organization of the program. Problem: Many computational problems can be broken down into a collection of independent operations.