Ticket #1123 (closed proposed-project: wontfix)

Opened 5 years ago

Last modified 23 months ago

Multiprocessor NUMA support for GHC

Reported by: chak@… Owned by: none
Priority: OK Keywords:
Cc: Topic: misc
Difficulty: unknown Mentor: not-accepted

Description (last modified by nano) (diff)

GHC can run Haskell threads on multiple cores and CPUs, which is the the way to make use of current and future multi-core and many-core architectures with GHC. However, GHC's runtime system currently treats all available cores/CPUs equal. This often results in bad performance on NUMA (non-uniform memory achitectures), where the memory-access latency and bandwidth chracteristics vary in dependence on the CPU and (physical) memory region accessed - i.e., each CPU has its own memory that it can access faster than that of other CPUs.

The goal of this project is to increase GHC's awareness of the memory characteristics of NUMA machines by allocating physical memory pages in suitable memory areas, making GC NUMA-aware, and providing library support to allocate memory with specific CPU affinity.

We have a 8x dualcore AMD Opteron NUMA machine (i.e., overall 16 cores) to develop and test code on.

Interested Mentors

  • Manuel Chakravarty <chak@…>
  • Simon Marlow <simonmarhaskell@…>

Interested Students

Change History

Changed 5 years ago by nominolo

  • description modified (diff)

Changed 4 years ago by nano

  • priority set to not yet rated
  • description modified (diff)

Changed 4 years ago by nominolo

  • priority changed from not yet rated to OK
  • description modified (diff)

Changed 4 years ago by simonmar

  • description modified (diff)

Changed 4 years ago by nano

  • description modified (diff)

Changed 23 months ago by dons

  • status changed from new to closed
  • resolution set to wontfix

Too old.

Note: See TracTickets for help on using tickets.