Home
KC Sivaramakrishnan edited this page Dec 15, 2021
·
23 revisions
Welcome to the Multicore OCaml development wiki! The goal of Multicore OCaml is to add concurrency and shared-memory multicore parallelism to OCaml. The sidebar has links to design/implementation notes. Below is a collection of resources elsewhere on the web relating to Multicore OCaml development.
Multicore Monthlies is a monthly newsletter that describes the latest developments in the Multicore OCaml compiler, libraries, and the ecosystem.
- Retrofitting Effect Handlers onto OCaml, PLDI, June 2021: Describes the design and evaluation of a full-fledged efficient implementation of effect handlers for OCaml.
- Parallelising your OCaml code with Multicore OCaml, OCaml Workshop, August 2020: A tour on developing parallel programs with Multicore OCaml.
- Retrofitting Parallelism onto OCaml, ICFP, August 2020: Deep dive into Multicore GC design.
- Multicore OCaml memory model, PLDI, June 2018: Describes the memory model for multicore OCaml programs. This memory model is much simpler than existing language memory models such as Java or C/C++11 without sacrificing performance.
- Concurrent System Programming with Effect Handlers, TFP, February 2018: Using effect handler for writing concurrent programs that interacts with the operating system.
- Multicore OCaml, OCaml workshop, September 2014.
- Adapting the OCaml Ecosystem for Multicore OCaml, August 2021: Takes readers through changes necessary for a smooth trasition to Multicore.
- Introducing parallelism in Lwt with Multicore OCaml, October 2020: Introduction to experimental multicore Lwt primitives for offloading CPU intensive tasks.
- Effective concurrency with Algebraic Effects, May 2015: A gentle introduction to concurrency story of Multicore OCaml.
- Pearls of Algebraic Effects and Handlers, May 2015: More examples illustrating the power of algebraic effects and handlers abstraction.
- Multicore Runtime, March 2014: Initial design document for multicore OCaml. The concurrent minor collector is no longer actively developed, stop-the-world parallel minor collector is the default one.
- Experiences with Effects in OCaml, August 2021. (video)
- Parafuzz: Coverage-guided Property Fuzzing for Multicore OCaml programs, August 2021. (video)
- Adapting the OCaml Ecosystem for Multicore OCaml, August 2021. (video)
- Effective Programming in OCaml, April 2021. (video)
- Multicore OCaml -- what's coming in 2021, December 2020. (video)
- Parallelising your OCaml code with Multicore OCaml, August 2020. (video)
- Retrofitting parallelism onto OCaml, August 2020. (video)
- A deep dive into Multicore OCaml GC, June 2017.
- Reagents: Lock-free programming for the masses, August 2016. (video).
- Arrows and Reagents, March 2016.
- Concurrent & Multicore OCaml: A deep dive, January 2016.
- Effective Concurrency with Algebraic Effects, OCaml Workshop, September 2015.
- Multicore OCaml, OCaml workshop, September 2014. (video).
- Domainslib: Parallel programming library for Multicore OCaml.
- Reagents: A composable lock-free synchronization library for Multicore OCaml.
- Eio: Effects based parallel IO for Multicore OCaml.
- Lockfree: Lockfree data structures for Multicore OCaml.
- Parallel Programming tutorial: Tutorial on Multicore OCaml parallel programming with domainslib.
- CUFP Effect Handlers tutorial: A tutorial that aims to teach how to program with effect handlers in OCaml.
- effects-examples: A collection of algebraic effects and handlers examples.
- sandmark: A benchmark suite for sequential and parallel OCaml programs.
- multicore-opam: An OPAM repo for multicore OCaml specific libraries.