Communication Effects for Message-based Concurrency

We describe a new framework for explicity concurrency that uses an effect system to describe the communication behavior of expressions in a typed polymorphic programming language. Concurrency occurs between processes connected by channels on which messages are transmitted. Communication operations a...

Full description

Bibliographic Details
Main Authors: Jouvelot, Pierre, Gifford, David K.
Published: 2023
Online Access:https://hdl.handle.net/1721.1/149145
_version_ 1826215188590755840
author Jouvelot, Pierre
Gifford, David K.
author_facet Jouvelot, Pierre
Gifford, David K.
author_sort Jouvelot, Pierre
collection MIT
description We describe a new framework for explicity concurrency that uses an effect system to describe the communication behavior of expressions in a typed polymorphic programming language. Concurrency occurs between processes connected by channels on which messages are transmitted. Communication operations are characterized by two communication effect constructors, out and in, depending on whether a message has been sent or received. Synchronization is only allowed by message passing along shared channels; communication via mutation of global variables is staticially prohibited by our communication effect system, thus restricting the amount of non-determinancy in user programs. Unobservable communication effects can be masked by the effect system. We show that this system is powerful enough to express many other parallel paradigms, like systolic arrays or pipes, in a typed framework. The programmer can thus express concurrency in a rather flexible way while preserving the correctness of implicit detection of parallelism and optimization by the compiler. This new concurrency framework has been implemented in the FX-87 programming language.
first_indexed 2024-09-23T16:18:17Z
id mit-1721.1/149145
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T16:18:17Z
publishDate 2023
record_format dspace
spelling mit-1721.1/1491452023-03-30T03:06:05Z Communication Effects for Message-based Concurrency Jouvelot, Pierre Gifford, David K. We describe a new framework for explicity concurrency that uses an effect system to describe the communication behavior of expressions in a typed polymorphic programming language. Concurrency occurs between processes connected by channels on which messages are transmitted. Communication operations are characterized by two communication effect constructors, out and in, depending on whether a message has been sent or received. Synchronization is only allowed by message passing along shared channels; communication via mutation of global variables is staticially prohibited by our communication effect system, thus restricting the amount of non-determinancy in user programs. Unobservable communication effects can be masked by the effect system. We show that this system is powerful enough to express many other parallel paradigms, like systolic arrays or pipes, in a typed framework. The programmer can thus express concurrency in a rather flexible way while preserving the correctness of implicit detection of parallelism and optimization by the compiler. This new concurrency framework has been implemented in the FX-87 programming language. 2023-03-29T14:32:27Z 2023-03-29T14:32:27Z 1989-02 https://hdl.handle.net/1721.1/149145 20136011 MIT-LCS-TM-386 application/pdf
spellingShingle Jouvelot, Pierre
Gifford, David K.
Communication Effects for Message-based Concurrency
title Communication Effects for Message-based Concurrency
title_full Communication Effects for Message-based Concurrency
title_fullStr Communication Effects for Message-based Concurrency
title_full_unstemmed Communication Effects for Message-based Concurrency
title_short Communication Effects for Message-based Concurrency
title_sort communication effects for message based concurrency
url https://hdl.handle.net/1721.1/149145
work_keys_str_mv AT jouvelotpierre communicationeffectsformessagebasedconcurrency
AT gifforddavidk communicationeffectsformessagebasedconcurrency