Retrofitting parallelism onto OCaml

Author:

Sivaramakrishnan KC1ORCID,Dolan Stephen2,White Leo3,Jaffer Sadiq4,Kelly Tom2,Sahoo Anmol1,Parimala Sudha1,Dhiman Atul1,Madhavapeddy Anil5

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

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3