University of Cambridge > Talks.cam > Computer Laboratory Systems Research Group Seminar > Picos — Interoperable effects based concurrency for OCaml

Picos — Interoperable effects based concurrency for OCaml

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Ryan Gibb.

OCaml 5 added support both for parallelism and for programming with effects, which allows, among other things, the implementation of direct-style cooperative concurrency. Indeed, multiple effects based concurrent programming libraries have already been developed, including Affect, Domainslib, Eio, Fuseau, Miou, Moonpool, and Riot and others. All of these libraries are mutually incompatible with each other. A program written to use Domainslib’s work-stealing scheduler cannot just directly use the asynchronous I/O APIs provided by Eio, for example. The services provided by a scheduler are vital to many kinds of libraries and this incompatibility between schedulers leads to various technical, economical, and social problems.

Picos is an ongoing project to address this problem by defining an interface between effects based schedulers and concurrent abstractions. Perhaps an enlightening analogy is to say that Picos is the POSIX of effects based schedulers. Picos is designed to enable an ecosystem of interoperable elements of effects based cooperative concurrent programming models such as schedulers, mechanisms for structuring concurrency, communication and synchronization primitives, and integrations with asynchronous I/O systems.

This talk is part of the Computer Laboratory Systems Research Group Seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2024 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity