HackerPapers

arXiv:1105.2554cs.PL

Garbage Collection for Multicore NUMA Machines

Sven Auhagen, Lars Bergstrom, Matthew Fluet, John Reppy

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

Modern high-end machines feature multiple processor packages, each of which contains multiple independent cores and integrated memory controllers connected directly to dedicated physical RAM. These packages are connected via a shared bus, creating a system with a heterogeneous memory hierarchy. Since this shared bus has less bandwidth than the sum of the links to memory, aggregate memory bandwidth is higher when parallel threads all access memory local to their processor package than when they access memory attached to a remote package. This bandwidth limitation has traditionally limited the scalability of modern functional language implementations, which seldom scale well past 8 cores, even on small benchmarks. This work presents a garbage collector integrated with our strict, parallel functional language implementation, Manticore, and shows that it scales effectively on both a 48-core AMD Opteron machine and a 32-core Intel Xeon machine.

arXiv comments
To appear in Memory Systems Performance and Correctness 2011 (MSPC11)
Journal reference
DOI
Subjects
cs.PLProgramming Languages

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Dec 2011 to Dec 2011.

Comments linking this paper, per year.

Discussed in comments1 thread

    • It's still not trivial even with massive parallelism. Performance is easily killed if you: 1) Completely saturate the memory interconnect between the processors and RAM chips 2) If your parallel collector threads are touching the same memory that your worker threads are, you're…

      larsbergView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.