Ticket #1544 (new proposed-project)

Opened 4 years ago

Last modified 4 years ago

Parallel programming benchmarking and benchmark suite

Reported by: dons Owned by:
Priority: OK Keywords: parallelism
Cc: Topic: Concurrency
Difficulty: unknown Mentor: not-accepted

Description (last modified by dejones) (diff)

GHC offers many features for muilticore, parallel programming, including a parallel runtime, a new parallel garbage collector, a suite of shared memory concurrency abstractions, and a sophisticated parallel stratgies library.

What's missing from this set is experience building parallel applications using the parallel runtime, and high level parallelism primitives.

In this project a parallelism benchmark suite, possibly ported from an existing suite, would be implemented, and used to gather experience and bug reports about the parallel programming infrastructure.

Improvements, to , say, Control.Parallel.Strategies , could result, as would a robust way of comparing parallel program performance between versions of GHC.

Interested mentors

  • Don Stewart
  • Manuel Chakravarty
  • Roman Leshchinskiy

Interested Students

  • Donnie Jones <donnie@…>

Change History

Changed 4 years ago by chak

  • description modified (diff)

I think it only makes sense to port or adapt some existing benchmarks. A great place to start would be the  Stanford Parsec benchmark suite. It includes rather complex benchmarks, but they are very realistic and aimed at multi-threaded implementations.

Changed 4 years ago by chak

  • description modified (diff)

Changed 4 years ago by chak

  • description modified (diff)

Changed 4 years ago by rl

There is also the  SPLASH-2 benchmark suite, although I'm not sure if it's still maintained.

Changed 4 years ago by rl

  • description modified (diff)

Changed 4 years ago by dejones

  • description modified (diff)
Note: See TracTickets for help on using tickets.