A strategic profiler for Glasgow Parallel Haskell

David J. King, Jon Hall, and Phil Trinder

Execution profiling is a crucial part of engineering large parallel functional programs. This paper presents the design, implementation, and use of a new execution time profiler for Glasgow Parallel Haskell GpH--a well established parallel derivative of Haskell. Parallelism is introduced in GpH by using evaluation strategies, which provide a clean way of co-ordinating parallel threads without destroying a program's original structure. The new profiler attributes the cost of evaluating parallel threads to the strategies that created them. A unique feature of the strategic profiler is that the call-graph of evaluation strategies is maintained, allowing the programmer to discover the sequence of (perhaps nested) strategies that were used to create any given thread. The strategic profiler is demonstrated on several examples, and compared with other profilers.

  author = 	 {David J. King and Jon Hall and Phil Trinder},
  title = 	 {A strategic profiler for Glasgow Parallel Haskell},
  booktitle = 	 {The Proceedings of the International Workshop on the Implementation of Functional Languages (IFL'98)},
  address =      {London},
  year = 	 1998,
  month = 	 sep

Available in: ps, ps.gz

GPH Papers | GPH