Assessing and Improving Garbage Collection Performance in the Julia Programming Language

With the increasing popularity of the Julia programming language for memory-intensive applications, garbage collection (GC) is becoming a performance bottleneck, with reports of poor GC performance ranging from differential equation solvers to large database benchmarks. There have been several GC...

Full description

Bibliographic Details
Main Author: Netto, Diogo Correia
Other Authors: Edelman, Alan
Format: Thesis
Published: Massachusetts Institute of Technology 2023
Online Access:https://hdl.handle.net/1721.1/150154
Description
Summary:With the increasing popularity of the Julia programming language for memory-intensive applications, garbage collection (GC) is becoming a performance bottleneck, with reports of poor GC performance ranging from differential equation solvers to large database benchmarks. There have been several GC optimizations (such as the implementation of a generational collector) targeting the Julia GC over the last decade, but none of them was in the direction of a multithreaded GC. This thesis assesses GC performance in the Julia programming language and implements optimizations focusing on parallelizing automatic memory management routines.