Picos â Interoperable effects based concurrency for OCaml
- đ¤ Speaker: Vesa Karvonen, Tarides
- đ Date & Time: Thursday 20 June 2024, 15:00 - 16:00
- đ Venue: FW26 and https://meet.jit.si/cambridge-cl-srg-seminar
Abstract
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.
Series This talk is part of the Computer Laboratory Systems Research Group Seminar series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge Centre for Data-Driven Discovery (C2D3)
- Cambridge talks
- Chris Davis' list
- CL's SRG seminar
- Computer Laboratory Systems Research Group Seminar
- Department of Computer Science and Technology talks and seminars
- FW26 and https://meet.jit.si/cambridge-cl-srg-seminar
- Interested Talks
- ndk22's list
- ob366-ai4er
- rp587
- School of Technology
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Thursday 20 June 2024, 15:00-16:00