LinSolv: a Case Study in Strategic Parallelism

Hans-Wolfgang Loidl
Glasgow Functional Programming Workshop, September 1997.

This paper discusses the parallelisation and performance tuning of a typical computer algebra algorithm, LinSolv, using evaluation strategies. We present three steps in the parallelisation process starting with a naive parallel version. As this algorithm uses infinite data structures as intermediate values it is necessary to define very sophisticated strategies in order to improve parallel performance.

We also compare the strategic parallel code with pre-strategy code. This comparison shows how evaluation strategies help to localise changes needed for parallelisation. In particular, the separation between algorithmic and parallel code makes the structure of the parallelism much clearer.

@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
}

Available in: ps, ps.gz


GPH Papers | GPH