Arrows for Parallel Computation

01/07/2018
by   Martin Braun, et al.
0

Arrows are a general interface for computation and an alternative to Monads for API design. In contrast to Monad-based parallelism, we explore the use of Arrows for specifying generalised parallelism. Specifically, we define an Arrow-based language and implement it using multiple parallel Haskells. As each parallel computation is an Arrow, such parallel Arrows (PArrows) can be readily composed and transformed as such. To allow for more sophisticated communication schemes between computation nodes in distributed systems, we utilise the concept of Futures to wrap direct communication. To show that PArrows have similar expressive power as existing parallel languages, we implement several algorithmic skeletons and four benchmarks. Benchmarks show that our framework does not induce any notable performance overhead. We conclude that Arrows have considerable potential for composing parallel programs and for producing programs that can execute on multiple parallel language implementations.

READ FULL TEXT

page 15

page 17

page 24

page 25

research
02/11/2019

A typed parallel λ-calculus for graph-based communication

We introduce λ_∥ - a simple yet powerful parallel extension of simply ty...
research
03/31/2013

Parallel Computation Is ESS

There are enormous amount of examples of Computation in nature, exemplif...
research
05/15/2023

A Direct-Style Effect Notation for Sequential and Parallel Programs

Modeling sequential and parallel composition of effectful computations h...
research
07/14/2022

Parallel Flowshop in YewPar

Parallelism may reduce the time to find exact solutions for many Operati...
research
10/03/2019

Types for Parallel Complexity in the Pi-calculus

Type systems as a way to control or analyze programs have been largely s...
research
04/23/2019

A Flexible Framework for Parallel Multi-Dimensional DFTs

Multi-dimensional discrete Fourier transforms (DFT) are typically decomp...
research
06/28/2019

Polynomial Preconditioned GMRES to Reduce Communication in Parallel Computing

Polynomial preconditioning with the GMRES minimal residual polynomial ha...

Please sign up or login with your details

Forgot password? Click here to reset