Affiliation:
1. IIT Madras, India
2. OCaml Labs, UK
3. Jane Street, UK
4. Opsian, UK / OCaml Labs, UK
5. University of Cambridge, UK / OCaml Labs, UK
Abstract
OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming. This paper describes the design, a full-fledged implementation and evaluation of a mostly-concurrent garbage collector (GC) for the multicore extension of the OCaml programming language. Given that we propose to add parallelism to a widely used programming language with millions of lines of existing code, we face the challenge of maintaining backwards compatibility--not just in terms of the language features but also the performance of single-threaded code running with the new GC. To this end, the paper presents a series of novel techniques and demonstrates that the new GC strikes a balance between performance and feature backwards compatibility for sequential programs and scales admirably on modern multicore processors.
Funder
Darwin College, University of Cambridge
Jane Street
Royal Commission for the Exhibition of 1851
Tezos Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference46 articles.
1. Optimizations in a private nursery-based garbage collector
2. Andrew W Appel. 1990. A runtime system. Lisp and Symbolic Computation 3 4 ( 1990 ) 343-380. Andrew W Appel. 1990. A runtime system. Lisp and Symbolic Computation 3 4 ( 1990 ) 343-380.
3. Garbage collection for multicore NUMA machines
4. Sivaramakrishnan Krishnamoorthy Chandrasekaran Daan Leijen Matija Pretnar and Tom Schrijvers. 2018. Algebraic Efect Handlers go Mainstream (Dagstuhl Seminar 18172). Dagstuhl Reports 8 4 ( 2018 ) 104-125. https://doi.org/10.4230/ DagRep.8.4. 104 10.4230/DagRep.8.4.104 Sivaramakrishnan Krishnamoorthy Chandrasekaran Daan Leijen Matija Pretnar and Tom Schrijvers. 2018. Algebraic Efect Handlers go Mainstream (Dagstuhl Seminar 18172). Dagstuhl Reports 8 4 ( 2018 ) 104-125. https://doi.org/10.4230/ DagRep.8.4. 104 10.4230/DagRep.8.4.104
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Multi-threaded OpenSmalltalk VM: Choosing a Strategy for Parallelization;Companion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming;2024-03-11
2. Language-Agnostic Static Deadlock Detection for Futures;Proceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming;2024-02-20
3. Explicit Effects and Effect Constraints in ReML;Proceedings of the ACM on Programming Languages;2024-01-05
4. Pipelines and Beyond: Graph Types for ADTs with Futures;Proceedings of the ACM on Programming Languages;2024-01-05
5. Active Objects Based on Algebraic Effects;Lecture Notes in Computer Science;2024