Position Paper: Validity of the Static Dataflow Approach for Exascale Computing Challenges

Instead of adhering to the common wisdom that endorses multi-threading, shared memory, and imperative programming as the only dominant models for efficient future architecture design, in this paper we argue that static dataflow is still a valid alternative model to guide the design of exascale machines. We explain our position showing how it is possible to directly map dataflow graphs onto a dataflow processor chip created with thousands of dataflow actor cores. This thanks to a demand-data driven approach to the co-design process that combines functional programming style with a dataflow model. This approach offers a valid solution to effectively and efficiently design, organize, and program dataflow machines.

[1]  Samuel H. Fuller,et al.  Computing Performance: Game Over or Next Level? , 2011, Computer.

[2]  ANTONIO CARLOS FERNANDES,et al.  The ChipCflow Project to Accelerate Algorithms using a Dataflow Graph in a Reconfigurable System , 2012 .

[3]  Rishi Khan,et al.  Towards a codelet-based runtime for exascale computing: position paper , 2012, EXADAPT '12.

[4]  Robin Milner Control Flow and Data Flow: Concepts of Distributed Programming , 1987 .

[5]  J. B. Dennis Data flow computation , 1986 .

[6]  Lorenzo Verdoscia,et al.  A High-Level Dataflow System , 1998, Computing.

[7]  Ali R. Hurson,et al.  Dataflow architectures and multithreading , 1994, Computer.

[8]  Roberto Giorgi TERAFLUX: exploiting dataflow parallelism in teradevices , 2012, CF '12.

[9]  Richard P. Hopkins,et al.  Data-Driven and Demand-Driven Computer Architecture , 1982, CSUR.

[10]  P. Husbands,et al.  Parallel Programming Languages , 1998 .

[11]  Bruce Jacob,et al.  Project : TERAFLUX-Exploiting dataflow parallelism in Teradevice Computing , 2011 .

[12]  John Wawrzynek,et al.  Rethinking FPGA Computing with a Many-Core Approach , 2010 .

[13]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[14]  Edward A. Lee The problem with threads , 2006, Computer.

[15]  Karthikeyan Sankaralingam,et al.  Dark Silicon and the End of Multicore Scaling , 2012, IEEE Micro.

[16]  L. Verdoscia,et al.  CODACS prototype: CHIARA language and its compiler , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

[17]  T. Abdelrahman,et al.  A Coarse-Grain FPGA Overlay for Executing Data Flow Graphs , 2012 .

[18]  Marko C. J. D. van Eekelen,et al.  Functional Programming and Parallel Graph Rewriting , 1993 .

[19]  Ryuzo Hasegawa,et al.  Dataflow computing and eager and lazy evaluations , 1984, New Generation Computing.