~/talk

Improving GHC Haskell NUMA Profiling

Talkat FHPNC 2021 · on Sunday, 2021-08-22· [linux-and-operating-systems]
links:none on file
slides:none on file

Experimental profiling on a 64‑core, 8‑region Togian server measures GHC 8.2 with nofib benchmarks (prsa, sum Euler data‑parallel and divide‑and‑conquer). Results show 100% local allocation for sparks and GC gen1/2 threads with good locality, but a single unpinned main thread pins nowhere and allocates heavily into one region producing a persistent hot column = region 3 of remote traffic. Extensions to numaprof record per‑thread allocations; a weighted distance×bytes access rate compares NUMA load and points to GC/static object placement as optimization opportunities.

AI-written summary · about

  1. 0:00Start
  2. 2:13Profiling Numa
  3. 6:00Memory Management in Parallel Haskell
  4. 16:24Analyzing the Data
  5. 22:42Ghc Garbage Collection
  6. 24:09Results
  7. 25:35Locality of the Objects Touched by the Garbage Collection Threads
  8. 29:18Thread Locality
  9. 32:47Could the Type System Be Leveraged To Determine that a Type Slash Array Is Used Only by the Thread That Allocates It and To Give Hints To Gc To Keep the Type Numa
  10. 34:42Does Haskell Need Its Own Metric for Comparing Numer Loads
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.