Lock-free Programming for the Masses

Progress with multicore is moving forward nicely, and along with submitting PRs for native code support KC has introduced reagents: a composable, lock-free concurrency library for expressing fine-grained parallel programs on multicore OCaml. See the full blog post here.

This implementation provides a collection of composable, concurrent data and synchronisation structures such as stacks, queues, countdown latches, reader-writer locks, condition variables, exchangers and atomic counters. The implementation requires further optimisation to remove allocations in the fast path, and fine-tuning the reagents core, but this provides a great opportunity to build a standard library for fine-grained parallelism for multicore OCaml, incorporating the latest developments in lock-free data structures.

Related Posts