GpH -- Glasgow Parallel Haskell
Activity Report May 2004
Report by: Phil Trinder
The Team
Phil Trinder, Kevin Hammond, Hans-Wolfgang Loidl, Abyd Al Zain, Jost Berthold, Xiao Yan Deng, Murray Gross, Steffen Priebe, Andre Rauber du Bois, Leonid Timochouk, Yang Yang.
Status
A complete, GHC-based implementation of the parallel Haskell extension GpH and of evaluation strategies is available.
Extensions of the runtime-system and language to improve performance and support new platforms are under development.
System Evaluation and Enhancement
The first 3 items are linked by a British Council/DAAD project.
-
We have ported GUM to computational GRIDs, replacing the current PVM
communications layer with MPICH-G2. Measurements show that standard
GUM gives good performance on a single cluster and on multiple
clusters with low-latency interconnect. However standard GUM gives
poor performance on multiple clusters connected with high-latency
interconnect and we are developing GRIDGum - an implementation with
specific adaption techniques for this shared, heterogeneous and
hierarchical architecture.
- We are designing a generic
parallel runtime environment encompassing both the Eden Eden and GpH runtime environments
- We are investigating cost models for distributed computations designing an integrated runtime environment for both Eden and GpH.
- In separate work GpH is being used as a vehicle for investigating scheduling on the GRID.
- We are teaching parallelism to undergraduates using GpH at Heriot-Watt and Phillips Universitat Marburg.
GpH Applications
- GpH is being used to parallelise the GAP mathematical library in EPSRC
project (GR/R91298).
Implementations
The GUM implementation of GpH is available in two development branches.
- The stable branch (GUM-4.06, based on GHC-4.06) is available for RedHat-based Linux machines: binary snapshot (see installation instructions).
The stable branch is available from the GHC CVS repository via tag
gum-4-06
.
-
The unstable branch (GUM-5.02, based on GHC-5.02) is currently being tested
on a Beowulf cluster. The unstable branch is available from the GHC CVS repository
via tag
gum-5-02-3
.
Our main hardware platform are Intel-based Beowulf clusters. Work on ports to other
architectures is also moving on (and available on request):
- A port to a Sun-Solaris shared-memory machine exists but currently
suffers from performance problems.
- A port to a Mosix cluster has been built in the Metis project at Brooklyn College, with a first version available on request from Murray Gross.
3.3.2.1 Further reading:
GpH Home Page