Erlang implements a message-passing execution model in which concurrent processes send each other messages asynchronously. This model is inherently non-deterministic: a process can receive messages sent by any process which knows its process identifier, leading to an exponential number of possible executions based on the number messages received. Concurrent programs in nondeterministic languages are notoriously hard to prove correct and have led to well-known disasters. Furthermore, Erlang natively provides distribution and process clustering. This enables processes to asynchronously communicate between different virtual machines across the network, which increases the potential non-determinism. We propose a new execution model for Erlang, ...
The primary objective of the proposed research is to define and evaluate an architecture for a compu...
We present a work in progress report on applying deforestation to distributed, dynamic dataflow prog...
The advent of multicore architectures has bred complexity for developers. Variability in scheduling ...
We propose a new “generic” abstraction for Erlang/OTP that aids in the implementation of dataflow pr...
We investigate the distributed part of the Erlang programminglanguage, with an aim to develop robust...
Existing data-flow languages are incapable of supporting large, manageable and reliable non-determin...
We propose Lasp, a new programming model designed to simplify large-scale distributed programming. L...
A framework for data-flow distributed processing is established through the definition of a data-flo...
Distributed systems are difficult to reason about and program because of fundamental uncertainty in ...
The term "dataflow" generally encompasses three distinct aspects of computation - a data-driven mode...
Dataflow is presented as an alternative to the von Neumann model as the basis for computer system de...
International audienceTuning applications for multicore systems involve subtle concurrency concepts ...
We introduce in this paper new communication and synchronization constructs which allow deterministi...
Our goal is to devise a computer comprising large numbers of cooperating processors (LSI). In doing ...
In a dataflow program, an instruction is enabled whenever all of its operands have been produced; at...
The primary objective of the proposed research is to define and evaluate an architecture for a compu...
We present a work in progress report on applying deforestation to distributed, dynamic dataflow prog...
The advent of multicore architectures has bred complexity for developers. Variability in scheduling ...
We propose a new “generic” abstraction for Erlang/OTP that aids in the implementation of dataflow pr...
We investigate the distributed part of the Erlang programminglanguage, with an aim to develop robust...
Existing data-flow languages are incapable of supporting large, manageable and reliable non-determin...
We propose Lasp, a new programming model designed to simplify large-scale distributed programming. L...
A framework for data-flow distributed processing is established through the definition of a data-flo...
Distributed systems are difficult to reason about and program because of fundamental uncertainty in ...
The term "dataflow" generally encompasses three distinct aspects of computation - a data-driven mode...
Dataflow is presented as an alternative to the von Neumann model as the basis for computer system de...
International audienceTuning applications for multicore systems involve subtle concurrency concepts ...
We introduce in this paper new communication and synchronization constructs which allow deterministi...
Our goal is to devise a computer comprising large numbers of cooperating processors (LSI). In doing ...
In a dataflow program, an instruction is enabled whenever all of its operands have been produced; at...
The primary objective of the proposed research is to define and evaluate an architecture for a compu...
We present a work in progress report on applying deforestation to distributed, dynamic dataflow prog...
The advent of multicore architectures has bred complexity for developers. Variability in scheduling ...