Brussels / 1 & 2 February 2020


Designing an ultra low-overhead multithreading runtime for Nim

Exposing fine-grained parallelism for 32+ cores hardware via message passing

While multithreading abstractions are consolidating over a couple of basic primitives around the notion of tasks and futures, under the hood implementations are vastly differing. The abstraction "details" are significant in the current era as developers now have to find parallelism opportunities for 16+ cores on consumer CPUs.

We go over the design space of task-parallel and data-parallel multithreading runtime library and present an unique, scalable approach based on message passing.


Mamy Ratsimbazafy