Parallelising a Large Functional Program; Or: Keeping LOLITA Busy

Hans-Wolfgang Loidl, Richard Morgan, Phil Trinder, Sanjay Poria, Chris Cooper, Simon L. Peyton Jones, and Roberto Garigliano
International Workshop on the Implementation of Functional Languages 1997, LNCS, St. Andrews, Scotland, UK, Sep 10-12, 1997.

In this paper we report on the ongoing parallelisation of Lolita, a natural language engineering system. Although Lolita currently exhibits only modest parallelism, we believe that it is the largest parallel functional program ever, comprising more than 47,000 lines of Haskell. Lolita has the following interesting features common to real world applications of lazy languages:

Our expectations in parallelising the program were to achieve moderate speedups with small changes in the code. To date speedups of up to 2.4 have been achieved for Lolita running under a realistic simulation of our 4 processor shared-memory target machine. Most notably, the parallelism is achieved with a very small number of changes to, and without requiring an understanding of most of the application. On the Sun SPARCserver target machine wall-clock speedup is currently limited by physical memory availability.
  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

Available in: ps, ps.gz

GPH Papers | GPH