Bibliography for GPH

@InProceedings{icfp00,
  author = 	 {{Baker-Finch}, C. and King, D.J. and Trinder, P.W.},
  title = 	 {{An Operational Semantics for Parallel Lazy Evaluation}},
  booktitle =    {{International Conference on Functional Programming (ICFP'00)}},
  address =      {Montreal, Canada, 18--20 September},
  year =         {2000},
  note =	 {To appear},
  abstractURL =  {http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/icfp00.html}
  url =          {http://www.macs.hw.ac.uk/~dsg/gph/papers/ps/icfp00.ps.gz},
  abstract =     "We present an operational semantics for \emph{parallel lazy
evaluation} that accurately models the
parallel behaviour the non-strict parallel functional language \GpH.
Parallelism is modelled synchronously, that is, single reductions are
carried out separately, then combined before proceeding onto the next
set of reductions.  Consequently the semantics has two levels, with
single-step transition rules at one level and combining rules at the
other.  Parallel threads are modelled by labelled bindings and to the
best of our knowledge this is the first semantics that models thread
states.  A set of labelled bindings corresponds to a heap and is used
to model sharing.

The semantics is set at a higher level of abstraction than an abstract
machine and is therefore more manageable for proofs about programs
rather than implementations.  At the same time,
it is low level enough to allow us to reason about programs in terms
of \emph{parallelism} (i.e., the number of processors used), as well
as \emph{work} and \emph{run-time} with different numbers of
processors.

The framework used by the semantics is flexible in that
the model can easily be adapted to express other evaluation models
such as sequential call-by-need and fully-speculative evaluation,
non-deterministic choice and others.",
}

@InProceedings{europar00,
  author = 	 {Trinder, P.W. and Loidl, H-W. and {Barry Jr.}, E. and
                  Hammond, K. and Klusik, U. and {Peyton Jones}, S.L. and
                  {Reb{\'o}n Portillo}, {\'A}.J.},
  title = 	 {{The Multi-Architecture Performance of the Parallel
                   Functional Language GPH}},
  booktitle =    {{Euro-Par 2000 --- Parallel Processing}},
  address =      {Munich, Germany, 29.8.-1.9.},
  editor =       {Bode, A. and Ludwig, T. and Wism{\"u}ller, R.},
  series =       {LNCS},
  year =         {2000},
  publisher =    {Springer-Verlag},
  note =	 {To appear}
  abstractURL =  {http://www.macs.hw.ac.uk/\~{}dsg/gph/papers/abstracts/europar00.html}
  url =          {http://www.macs.hw.ac.uk/\~{}dsg/gph/papers/ps/europar00.ps.gz},
  abstract =     "In principle, functional languages promise straightforward
architecture-independent parallelism, because of their high level
description of parallelism, dynamic management of parallelism and
deterministic semantics.  However, these language features come at the
expense of a sophisticated compiler and/or runtime-system. The problem
we address is whether such an elaborate  system can deliver
acceptable performance on a variety of parallel architectures.  In
particular we report performance measurements for the GUM
runtime-system on eight parallel architectures, including massively
parallel, distributed-memory, shared-memory and workstation networks.",
}

@Article{spe00,
  author = 	 {Hammond, K. and King, D.J. and Loidl, H-W. and
                  {Reb\'{o}n Portillo}, \'{A}.J. and Trinder, P.W.},
  title = 	 {{The HasPar Performance Evaluation Suite for {\sc GpH}:
                   a Parallel Non-Strict Functional Language}},
  journal = 	 {Software --- Practice and Experience},
  month =        feb,
  year = 	 2000,
  note =	 {Submitted for publication},
  abstract =     "The ultimate purpose of parallel computation is to improve performance by
exploiting hardware duplication.  In order to achieve this improvement,
it is essential to have a good understanding of real parallel behaviour.
This paper introduces the HasPar integrated suite of
performance evaluation tools for Glasgow Parallel Haskell (GpH), a
high-performance parallel non-strict functional language.  This suite provides a
framework for assessing and improving parallel program performance that
has been used successfully on a number of large functional programs.

The HasPar suite includes both idealised and realistic simulators
for GpH.  It also incorporates an instrumented parallel
implementation that can be used on a range of architectures including
both tightly-coupled multiprocessors and loosely-coupled networks of
workstations. An important feature of the tools is that they allow
costs to be attributed to the parallel program source
using either static or dynamic cost attribution mechanisms, as
appropriate.  The resulting performance profiles can be visualised in
a number of different ways, as illustrated in this paper.",
}

@Unpublished{arch-indep,
  author = 	 {Philip W. Trinder and Ed. {Barry Jr.} and M. Kei Davis and Kevin Hammond and Sahalu B. Junaidu and Ulrike Klusik and Hans-Wolfgang Loidl and Simon L. {Peyton Jones}},
  title = 	 {GpH: An Architecture-Independent Functional Language},
  note =         {Submitted to IEEE Transactions on Software Engineering,
special issue on Architecture-Independent Languages and Software Tools
for Parallel Processing},
  year = 	 1998,
  month = 	 jul
}

@InProceedings{Trin99,
  author = 	 {Trinder, P.W.},
  title = 	 {{Motivation for Glasgow distributed Haskell, a non-strict Functional Language}},
  booktitle =    {{Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA'99)}},
  editor =       {Ito, T. and Yuasa, T.},
  year =         {1999},
  address =      {Sendai, Japan, July 5--7},
  publisher =	 {World Scientific},
  pages =        {72--81},
  abstractURL =  {http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/pdsia00.html}
  url =          {http://www.macs.hw.ac.uk/~dsg/gph/papers/ps/pdsia00.ps.gz},
  abstract =     "Non-strict functional languages offer potential
benefits for constructing distributed systems: namely a highly-dynamic
model of distribution, a relatively high degree of distribution
transparency, and the potential to abstract over distribution-control
primitives.  We describe our motivation for implementing such a
language, a variant of Haskell, and evaluating it.  The implementation
is a fusion of existing Glasgow Haskell Compiler technologies. The
evaluation will be based on experiences implementing a distributed
interactive simulation, and comparing it with a Java version.",
}

@InProceedings{blackspots,
  author = 	 {Philip W. Trinder and Kevin Hammond and Hans-Wolfgang Loidl and Simon L. {Peyton Jones} and J. Wu},
  title = 	 {Accidents always Come in Threes: A Case Study of Data-intensive Programs in Parallel {H}askell},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 1996,
  address = 	 {Ullapool, Scotland},
  month = 	 jul
}

@InProceedings{bowings,
  author = 	 {Cordelia Hall and Hans-Wolfgang Loidl and Phil Trinder and Kevin Hammond and John O'Donnell},
  title = 	 {Refining a Parallel Algorithm For Calculating Bowings},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 1997,
  address = 	 {Ullapool, Scotland},
  month = 	 sep
}

@InProceedings{early-grip,
  author = 	 {Kevin Hammond and Simon L. {Peyton Jones}},
  title = 	 {Some Early Experiments on the {GRIP} Parallel Reducer},
  booktitle = 	 {International Workshop on the Parallel Implementation of Functional Languages},
  pages = 	 {51--72},
  year = 	 1990,
  address = 	 {Nijmegen, The Netherlands},
  month = 	 jun
}

@Article{cpe,
  author = 	 {Loidl, H-W. and Trinder, P.W. and Hammond, K. and
                  Junaidu, S.B. and Morgan, R.G. and {Peyton Jones}, S.L.},
  title = 	 {{Engineering Parallel Symbolic Programs in GPH}},
  journal = 	 {Concurrency --- Practice and Experience},
  year = 	 1999,
  volume =       {11},
  issue =        {12},
  pages =        {701--752},
  url =          {http://www.macs.hw.ac.uk/\~{}dsg/gph/papers/ps/cpe.ps.gz},
  abstract =     "We investigate the claim that functional languages offer low-cost
parallelism in the context of symbolic programs on modest parallel
architectures. In our investigation we present the first comparative study
of the construction of large applications in a parallel functional
language, in our case in Glasgow Parallel Haskell (GPH). The applications
cover a range of application areas, use several parallel programming
paradigms, and are measured on two very different parallel architectures.

On the applications level the most significant result is that we are able
to achieve modest wall-clock speedups (between factors of 2 and 10) over
the optimised sequential versions for all but one of the programs. Speedups
are obtained even for programs that were not written with the intention of
being parallelised. These gains are achieved with a relatively small
programmer-effort. One reason for the relative ease of parallelisation is
the use of evaluation strategies, a new parallel programming technique that
separates the algorithm from the coordination of parallel behaviour.

On the language level we show that the combination of lazy and parallel
evaluation is useful for achieving a high level of abstraction. In
particular we can describe top-level parallelism, and also preserve module
abstraction by describing parallelism over the data structures provided at
the module interface (``data-oriented parallelism'').  Furthermore, we find
that the determinism of the language is helpful, as is the largely-implicit
nature of parallelism in GPH."
}

@InProceedings{gph-div-conc,
  author = 	 {Hans-Wolfgang Loidl and Kevin Hammond},
  title = 	 {On the Granularity of Divide-and-Conquer Parallelism},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 1995,
  address = 	 {Ullapool, Scotland},
  month = 	 jul
}

@InProceedings{gph-eng,
  author = 	 {Hans-Wolfgang Loidl and Philip W. Trinder},
  title = 	 {Engineering Large Parallel Functional Programs},
  booktitle = 	 {Implementation of Functional Languages},
  series = 	 {LNCS},
  year = 	 1997,
  publisher =    {Springer-Verlag},
  address = 	 {St. Andrews, Scotland},
  month = 	 sep
}

@InProceedings{gph-sized,
  author = 	 {Hans-Wolfgang Loidl and Kevin Hammond},
  title = 	 {A Sized Time System for a Parallel Functional Language},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 1996,
  address = 	 {Ullapool, Scotland},
  month = 	 jul
}

@Manual{gransim,
  title = 	 {GranSim's User Guide},
  author = 	 {Hans-Wolfgang Loidl},
  organization = {Department of Computing Science, University of Glasgow},
  edition = 	 {0.03},
  year = 	 1996,
  month = 	 jul,
  URL = 	 {http://www.dcs.gla.ac.uk/fp/software/gransim/user\_toc.html}
}

@InProceedings{gransp,
  author = 	 {David J. King and Jon Hall and Phil Trinder},
  title = 	 {A strategic profiler for {G}lasgow {P}arallel {H}askell},
  booktitle = 	 {The Proceedings of the International Workshop on the Implementation of Functional Languages},
  address =      {London},
  year = 	 1998,
  month = 	 sep
}

@InProceedings{graph-pvm,
  author = 	 {Hans-Wolfgang Loidl and Kevin Hammond},
  title = 	 {GRAPH for PVM: Graph Reduction for Distributed Hardware},
  booktitle = 	 {International Workshop on the Implementation of Functional Languages},
  year = 	 1994,
  address =      {Norwich, England},
  month = 	 sep
}

@InProceedings{graphing,
  author = 	 {Hans-Wolfgang Loidl and Kevin Hammond},
  title = 	 {GRAPHing the Future},
  booktitle = 	 {International Workshop on the Implementation of Functional Languages},
  year = 	 1994,
  address =      {Norwich, England},
  month = 	 sep
}

@InProceedings{grip,
  author = 	 {Kevin Hammond},
  title = 	 {Getting a GRIP},
  booktitle = 	 {International Workshop on the Parallel Implementation of Functional Languages},
  year = 	 1993,
  address = 	 {Nijmegen, The Netherlands},
  month = 	 sep
}

@InProceedings{grip-sched,
  author = 	 {Kevin Hammond and Simon L. {Peyton Jones}},
  title = 	 {Profiling Scheduling Strategies on the GRIP Multiprocessor },
  booktitle = 	 {International. Workshop on the Parallel Implementation of Functional Languages},
  year = 	 1992,
  address = 	 {RWTH Aachen, Germany},
  month = 	 sep,
  pages = 	 {73--98}
}

@InProceedings{gum,
  author = 	 {Philip W. Trinder and Kevin Hammond and James S. Mattson and Andrew S. Partridge and Simon L. {Peyton Jones}},
  title = 	 {{GUM}: a portable implementation of {H}askell},
  booktitle = 	 {Proceedings of Programming Language Design and Implementation},
  month = 	 may,
  year = 	 1996,
  address = 	 {Philadephia, USA},
  URL =		 {http://www.dcs.gla.ac.uk/fp/authors/Philip{\_}Trin\-der/gum\-Fin\-al.ps.Z}
}

@InProceedings{gum-ifl,
  author = 	 {Philip W. Trinder and Kevin Hammond and James
S. {Mattson Jr.} and Andrew S. Partridge and Simon L. {Peyton Jones}},
  title = 	 {{GUM}: a portable implementation of {H}askell},
  booktitle = 	 {International Workshop on the Implementation of
Functional Languages},
  month = 	 sep,
  year = 	 1995,
  address = 	 {Bastad, Sweden}
}

@InProceedings{gum-packet,
  author = 	 {Hans-Wolfgang Loidl and Kevin Hammond},
  title = 	 {Making a Packet: Cost-Effective Communication for a Parallel Graph Reducer},
  booktitle = 	 {International Workshop on the Implementation of Functional Languages},
  pages =        {184--199},
  month =        sep,
  year =         1996,
  series =       {LNCS 1268},
  address =      {Bonn/Bad-Godesberg, Germany},
  publisher =    {Springer-Verlag}
}

@InProceedings{juaskell,
  author = 	 {Kevin Hammond and David Walsh-Kemmis},
  title = 	 {Juaskell: Implementing Evaluation Strategies in {J}ava},
  booktitle = 	 {Submitted to the 3rd Latin-American Conference on Functional Programming},
  year = 	 1998,
  month = 	 nov
}

@InProceedings{lazypar-sem,
  author = 	 {Jon G. Hall and Clem Baker-Finch and Phil Trinder and David J. King},
  title = 	 {Towards an operational semantics for a parallel non-strict functional language},
  booktitle = 	 {The Proceedings of the International Workshop on the Implementation of Functional Languages},
  year = 	 1998,
  month = 	 sep,
  URL =		 {http://mcs.open.ac.uk/djk26/apset/transitionsystem.ps}
}

@InProceedings{linsolv,
  author = 	 {Hans-Wolfgang Loidl},
  title = 	 {{LinSolv}: a Case Study in Strategic Parallelism},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 1997,
  address = 	 {Ullapool, Scotland},
  month = 	 sep
}

@PhdThesis{loidl-thesis,
  author = 	 {Hans-Wolfgang Loidl},
  title = 	 {Granularity in Large-Scale Parallel Functional Programming},
  school = 	 {Department of Computing Science, University of Glasgow},
  year = 	 1998,
  month = 	 mar
}

@InProceedings{lolita,
  author = {Hans-Wolfgang Loidl and Richard Morgan and Phil Trinder
and Sanjay Poria and Chris Cooper and Simon L. {Peyton Jones} and
Roberto Garigliano},
  title = 	 {Parallelising a Large Functional Program; Or: Keeping LOLITA Busy},
  booktitle = 	 {International Workshop on the Implementation of Functional Languages},
  series = 	 {LNCS},
  year = 	 1997,
  publisher =    {Springer-Verlag},
  address = 	 {St. Andrews, Scotland},
  month = 	 sep
}

@InProceedings{low-level-gph,
  author = 	 {Philip W. Trinder and Ed. {Barry Jr.} and M. Kei Davis and Kevin Hammond and Sahalu B. Junaidu and Ulrike Klusik and Hans-Wolfgang Loidl and Simon L. {Peyton Jones}},
  title = 	 {GpH: An Architecture-Independent Functional Language},
  booktitle =    {Glasgow Functional Programming Workshop},
  address =      {Pitlochry, Scotland},
  year = 	 1998,
  month = 	 sep
}

@InProceedings{naira,
  author = 	 {Sahala Junaidu and Tony Davie and Kevin Hammond},
  title = 	 {Naira: A Parallel 2 {H}askell Compiler },
  booktitle = 	 {International Workshop on the Implementation of Functional Languages},
  series = 	 {LNCS},
  year = 	 1997,
  publisher =    {Springer-Verlag},
  address = 	 {St. Andrews, Scotland},
  month = 	 sep
}

@InProceedings{par-intro,
  author = 	 {Kevin Hammond},
  title = 	 {Parallel Functional Programming: An Introduction},
  booktitle = 	 {International Symposium on Parallel Symbolic Computation},
  year = 	 1994,
  address = 	 {Hagenberg/Linz, Austria},
  month = 	 sep,
  publisher =    {World Scientific}
}

@InProceedings{par-scc,
  author = 	 {Kevin Hammond and Hans-Wolfgang Loidl and Phil Trinder},
  title = 	 {Parallel Cost Centre Profiling},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 1997,
  address = 	 {Ullapool, Scotland},
  month = 	 sep
}

@TechReport{parade,
  author = 	 {Kevin Hammond and Simon {Peyton Jones} and Phil Trinder},
  title = 	 {{PAR}allel Database Engine (Parade) -- Final Report},
  institution =  {Department of Computing Science, University of Glasgow},
  year = 	 1997,
  month = 	 dec
}

@InProceedings{spark-strats,
  author = 	 {Kevin Hammond and James S. {Mattson Jr.} and Simon L. {Peyton Jones}},
  title = 	 {Automatic Spark Strategies and Granularity for a Parallel Functional Language Reducer},
  booktitle = 	 {Conference on Algorithms and Hardware for Parallel Processing},
  series = 	 {LNCS 854},
  year = 	 1994,
  publisher =    {Springer-Verlag},
  address = 	 {Linz, Austria},
  month = 	 sep
}

@InProceedings{strategic-spmd,
  author = 	 {Kevin Hammond},
  title = 	 {Strategic {SPMD}},
  booktitle = 	 {Glasgow Workshop on Functional Programming},
  year = 	 1998,
  address = 	 {Pitlochry, Scotland},
  month = 	 sep
}

@Article{strategies,
  author = 	 {Philip W. Trinder and Kevin Hammond and Hans-Wolfgang Loidl and Simon L. {Peyton Jones}},
  title = 	 {Algorithm + {S}trategy = {P}arallelism},
  journal = 	 {Journal of Functional Programming},
  year = 	 1998,
  volume = 	 8,
  number = 	 1,
  month = 	 jan,
  pages = 	 {23--60},
  URL =          {http://www.dcs.gla.ac.uk/{\char'176}hwloidl/publications/strategies.ps.gz}
}

@InProceedings{trans-grip,
  author = 	 {G. Akerholt, Kevin Hammond, Simon L. {Peyton Jones}, Philip W. Trinder },
  title = 	 {Processing Transactions on GRIP},
  booktitle = 	 {Parallel Languages and Architectures Europe},
  year = 	 1993,
  address = 	 {Munich, Germany,},
  month = 	 jun,
}

@InProceedings{winnowing,
  author = 	 {Kevin Hammond and Hans-Wolfgang Loidl and Andrew Partridge},
  title = 	 {Visualising Granularity in Parallel Programs: A Graphical Winnowing System for {H}askell},
  booktitle = 	 {Conference on High Performance Functional Computing},
  year = 	 1995,
  address = 	 {Denver, Colorado},
  month = 	 apr,
  pages = 	 {208--221}
}


GPH Papers | GPH