3 ms·
(One of the Multicore OCaml devs here) We have prototyped offloading CPU intensive computations in Lwt programs using Multicore OCaml [1]. We're currently work
by kcsrk 5y ago
(One of the Multicore OCaml devs here)
We have prototyped offloading CPU intensive computations in Lwt programs using Multicore OCaml [1]. We're currently working with Lwt maintainers to upstream it.
[1] https://sudha247.github.io/2020/10/01/lwt-multicore/ https://sudha247.github.io/2020/10/01/lwt-multicore/
- toolslive 5y agothx! Another question. Suppose you're starting from scratch, is it worth going the effects based async io route ? https://github.com/kayceesrk/ocaml-aeio https://github.com/kayceesrk/ocaml-aeio seems very interesting...
- kcsrk 5y agoYes, exactly. The reason why monadic concurrency libraries such as Lwt and Async is that the OCaml language does not support concurrency natively. If it did, we would have built something similar to the `ocaml-aeio` library. Btw there is a modern instantiation of `ocaml-aeio` called `eieio` [1] which supports Linux's io-uring. Eventually, this will be extended to support all the modern I/O stacks on different platforms, and also support performing I/O on multiple cores. [1] https://github.com/ocaml-multicore/eioio https://github.com/ocaml-multicore/eioio
- anuragsoni 5y ago> We have prototyped offloading CPU intensive computations in Lwt programs using Multicore OCaml This is very interesting! I'm wondering if you are aware of any discussions with the async maintainers about what their plans are with the multicore runtime?