@InProceedings{threadscope-09,
   author = {Don Jones Jr. and Simon Marlow and Satnam Singh},
   title = {Parallel Performance Tuning for {H}askell},
   booktitle = {Haskell '09: Proceedings of the Second ACM SIGPLAN Symposium on Haskell},
   year = {2009},
   abstract = {Parallel Haskell programming has entered the mainstream with support
now included in GHC for multiple parallel programming models, along
with multicore execution support in the runtime.  However, tuning
programs for parallelism is still something of a black art.  Without
much in the way of feedback provided by the runtime system, it is a
matter of trial and error combined with experience to achieve good
parallel speedups.

This paper describes an early prototype of a parallel profiling system
for multicore programming with GHC.  The system comprises three parts:
fast event tracing in the runtime, a Haskell library for reading the
resulting trace files, and a number of tools built on this library for
presenting the information to the programmer.  We focus on one tool in
particular, a graphical timeline browser called ThreadScope.

The paper illustrates the use of ThreadScope through a number of case
studies, and describes some useful methodologies for parallelizing
Haskell programs.
},
   url = {http://community.haskell.org/~simonmar/papers/threadscope.pdf},
   location = {Edinburgh, Scotland},
   publisher = {ACM}
}