Auteur : Luca Saiu (LIPN - P13) Titre : Scalable BIBOP garbage collection for parallel functional programs on multi-core machines Résumé : Exploiting modern multi-core processors requires task-parallel programs which are simply too hard to implement with traditional techniques; as high-level languages rely on automatic memory management subsystems, such subsystems must be made fast and scalable, tuned for today's complex memory architectures. I describe my implementation of a new parallel non-moving garbage collector for shared-memory machines, based on a variant of the BIBOP organization. Building on the experience of Boehm's work and revisiting some older ideas in the light of current hardware performance models, I propose several algorithmic improvements leading to compact data representation and measurable speedups, particularly in the context of functional programs. While discussing in detail the performance-critical sections of the implementation I provide an intuitive justification for my choices which I then corroborate with measurements: allocation-heavy benchmarks average a scalability of 7.41 on eight cores. This effort results in a particularly clean architecture based on just a few data structures, which lends itself to experimentation with alternative techniques.