A Type System for the Automatic Distribution of Higher-order Synchronous Dataflow Programs
Gwena\"el Delaval (INRIA Grenoble Rh\^one-Alpes / LIG Laboratoire, d'Informatique de Grenoble), Alain Girault (INRIA Grenoble Rh\^one-Alpes /, LIG Laboratoire d'Informatique de Grenoble), Marc Pouzet (LRI)

TL;DR
This paper introduces a type system and primitives for automatically distributing higher-order synchronous dataflow programs across multiple processors, ensuring consistency and enabling automatic code projection.
Contribution
It extends a synchronous dataflow language with distribution primitives, formalizes distributed semantics, and develops a type system for automatic localization and distribution of program components.
Findings
Type system enables automatic localization of values.
Compiler implementation supports automatic distribution.
Ensures distribution consistency at compile time.
Abstract
We address the design of distributed systems with synchronous dataflow programming languages. As modular design entails handling both architectural and functional modularity, our first contribution is to extend an existing synchronous dataflow programming language with primitives allowing the description of a distributed architecture and the localization of some expressions onto some processors. We also present a distributed semantics to formalize the distributed execution of synchronous programs. Our second contribution is to provide a type system, in order to infer the localization of non-annotated values by means of type inference and to ensure, at compilation time, the consistency of the distribution. Our third contribution is to provide a type-directed projection operation to obtain automatically,from a centralized typed program, the local program to be executed by each computing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
