Write a Blog >>
ICFP 2016
Sun 18 - Sat 24 September 2016 Nara, Japan
Wed 21 Sep 2016 14:20 - 14:45 at Noh Theater - Session 10 Chair(s): John Reppy

This paper presents a concurrent garbage collection method
for functional programs running on a multicore processor.
It is a concurrent extension of our bitmap-marking non-moving
collector with Yuasa's snapshot-at-the-beginning strategy.
Our collector is unobtrusive in the sense of
the Doligez-Leroy-Gonthier collector;
the collector does not stop any mutator thread nor does it
force them to synchronize globally.
The only critical sections between a mutator and the collector are
the code to enqueue/dequeue a 32 kB allocation segment to/from a global
segment list and the write barrier code to push an object pointer onto
the collector's stack.
Most of these data structures can be implemented in standard
lock-free data structures.
This achieves both efficient allocation and unobtrusive collection
in a multicore system.
The proposed method has been implemented in SML#, a
full-scale Standard ML compiler supporting multiple native threads on
multicore CPUs.
Our benchmark tests show a drastically short pause time
with reasonably low overhead compared to the sequential bitmap-marking

Wed 21 Sep
Times are displayed in time zone: (GMT+09:00) Osaka, Sapporo, Tokyo change

13:30 - 14:45: Research Papers - Session 10 at Noh Theater
Chair(s): John ReppyUniversity of Chicago
icfp-2016-papers13:30 - 13:55
Ram RaghunathanCarnegie Mellon University, USA, Stefan K. MullerCarnegie Mellon University, USA, Umut A. AcarCarnegie Mellon University, Guy BlellochCarnegie Mellon University, USA
icfp-2016-papers13:55 - 14:20
Thomas GilrayUniversity of Utah, USA, Michael D. AdamsUniversity of Utah, USA, Matthew MightUniversity of Utah, USA
icfp-2016-papers14:20 - 14:45
Katsuhiro UenoTohoku University, Japan, Atsushi OhoriTohoku University, Japan