Concurrency Analysis in Dynamic Dataflow Graphs

Dynamic dataflow scheduling enables effective exploitation of concurrency while making parallel programming easier. To this end, analyzing the inherent degree of concurrency available in dataflow graphs is an important task, since it may aid compilers or programmers to assess the potential performance a program can achieve via parallel execution. However, traditional concurrency analysis techniques only work for DAGs (directed acyclic graphs), hence the need for new techniques that contemplate graphs with cycles. In this paper we present techniques to perform concurrency analysis on generic dynamic dataflow graphs, even in the presence of cycles. In a dataflow graph, nodes represent instructions and edges describe dependencies. The novelty of our approach is that we allow concurrency between different iterations of the loops. Consequently, a set of concurrent nodes may contain instructions from different loops that can be proven independent. In this work, we provide a set of theoretical tools for obtaining bounds and illustrate implementation of parallel dataflow runtime on a set of representative graphs for important classes of benchmarks to compare measured performance against derived bounds.

[1]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[2]  D. M. Hutton,et al.  The Art of Multiprocessor Programming , 2008 .

[3]  Edward D. Lazowska,et al.  Speedup Versus Efficiency in Parallel Systems , 1989, IEEE Trans. Computers.

[4]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[5]  Michele Lombardi,et al.  Scheduling Conditional Task Graphs , 2007, CP.

[6]  Manuel Tupia Anticona A GRASP algorithm to solve the problem of dependent tasks scheduling in different machines , 2006, IFIP AI.

[7]  Gurdeep S. Hura,et al.  Non-evolutionary algorithm for scheduling dependent tasks in distributed heterogeneous computing environments , 2005, J. Parallel Distributed Comput..

[8]  Vítor Santos Costa,et al.  Trebuchet: exploring TLP with dataflow virtualisation , 2011, Int. J. High Perform. Syst. Archit..

[9]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[10]  C. Greg Plaxton,et al.  Thread Scheduling for Multiprogrammed Multiprocessors , 1998, SPAA '98.

[11]  Alfred V. Aho,et al.  Principles of Compiler Design (Addison-Wesley series in computer science and information processing) , 1977 .

[12]  Timothy A. Gonsalves,et al.  Modelling and analysis of distributed software systems , 1979, SOSP '79.