saturn icon indicating copy to clipboard operation
saturn copied to clipboard

Lock-free data structures for multicore OCaml

Results 45 saturn issues
Sort by recently updated
recently updated
newest added

The release of Saturn 1.0 coming soon, here is a recap of what has been done and what we plan to do before it ! New features: - [x] #102...

This PR implements a MPMC queue using two stacks. This is a new lock-free queue algorithm / data structure. It uses two stacks for the tail and head of the...

This PR optimizes the Michael-Scott queue implementation. The main optimizations are avoiding false sharing and then optimization of the node representation, which effectively halves the length of the linked list...

This implements a lock-free bounded queue — blocking using [domain-local-await](https://github.com/ocaml-multicore/domain-local-await/). The data structure / algorithm is based on the Michael-Scott queue extended with length maintenance and caching of remaining capacity...

This PR optimizes the SPSC queue. See the individual commits to better understand the motivation behind the optimizations. Here is a run of the benchmarks on my M3 Max before...

This PR optimizes the work-stealing deque. The graphs on current-bench show the progress of optimizing the work-stealing deque quite nicely: ![image](https://github.com/ocaml-multicore/saturn/assets/5804945/db558fb1-c736-4f95-8b52-6a12701ed10d) Here is a run of the benchmarks on my...

See [Concurrent Size](https://github.com/ocaml-multicore/saturn/blob/document-lock-free-size-algorithm/doc/concurrent-size.md).

Following the algorithm implemented in PR #62, this PR implements a hash table with better types and numerous optimizations to the algorithm. It aims to provide a full resizable hash...

This pull request adds a simple example for the MS queue

`dscheck.0.3.0` being way faster than the previous version, we now can have more complex `dscheck` tests, and in a general way, should be less hesitant to add more tests if...

enhancement