Coordinating Data Parallel SAC Programs with S-Net

We propose a two-layered approach for exploiting different forms of concurrency in complex systems: we specify computational components in our functional array language SAC, which exploits data parallel properties of array processing code. The declarative stream processing language S-Net is used to orchestrate the collaborative behaviour of these components in a streaming network. We illustrate our approach by a hybrid implementation of a sudoku puzzle solver as a representative for more complex search problems.

[1]  Gert Florijn,et al.  ARIADNE and HOPLa: Flexible Coordination of Collaborative Processes , 1996, COORDINATION.

[2]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[3]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[4]  Sven-Bodo Scholz,et al.  Single Assignment C: efficient support for high-level array operations in a functional setting , 2003, Journal of Functional Programming.

[5]  Bradford L. Chamberlain,et al.  ZPL: A Machine Independent Programming Language for Parallel Computers , 2000, IEEE Trans. Software Eng..

[6]  Clemens Grelck,et al.  SAC—A Functional Array Language for Efficient Multi-threaded Execution , 2006, International Journal of Parallel Programming.

[7]  Alexander V. Shafarenko,et al.  Streaming Networks for Coordinating Data-Parallel Programs , 2006, Ershov Memorial Conference.

[8]  Clemens Grelck,et al.  S-Net: A Typed Stream Processing Language. , 2006 .

[9]  Rita Loogen,et al.  Under Consideration for Publication in J. Functional Programming Parallel Functional Programming in Eden , 2022 .

[10]  Alexander V. Shafarenko,et al.  Streaming Networks for Coordinating Data-Parallel Programs (Position Statement) , 2006, Asia-Pacific Computer Systems Architecture Conference.

[11]  Clemens Grelck Implementing the NAS benchmark MG in SAC , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[12]  David C. Cann,et al.  A Report on the Sisal Language Project , 1990, J. Parallel Distributed Comput..

[13]  Steven J. Deitz,et al.  A Comparative Study of the NAS MG Benchmark across Parallel Languages and Architectures , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[14]  Clemens Grelck,et al.  Towards an Efficient Functional Implementation of the NAS Benchmark FT , 2003, PaCT.

[15]  David C. Cann,et al.  Retire Fortran? A debate rekindled , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).