Distributed Memory Programming on Many-Cores A Case Study Using Eden Divide-&-Conquer Skeletons
Jost Berthold, Mischa Dieterle, Oleg Lobachev, Rita Loogen · 2009
Eden is a parallel extension of the lazy functional language Haskell providing dynamic process creation and automatic data exchange. As a Haskell extension, Eden takes a high-level approach to parallel programming and thereby simplifies parallel program development. The current implementation is tailored to networks of workstations. Recent work has shown that this implementation shows surprisingly competitive performance on many-core machines, compared to dedicated shared-memory implementations of parallel Haskell. In the paper we describe a case study with different Eden divide-and-conquer skeletons. We analyse their performance comparing example applications implemented using these Eden skeletons against parallel Haskell implementations using shared memory on many-core machines.