Membership protocol for MirageOS

Mentors: Magnus Skjegstad, Andreas Garnæs

Location: Tarides office, Paris

Membership management is an important component of distributed systems, where it is the foundation of things like distributed consensus, application layer sharding, log replication, etc. SWIM is a scalable membership protocol based on gossip principles that is already seeing adoption in industry (e.g. Consul by Hashicorp and Ringpop by Uber).

The aim of this project is to create a Mirage SWIM task that can run alongside an application task and keeps track of cluster state. The application task can then query the SWIM task about the cluster state, e.g. to issue a request to another node.

It's still early days for the implementation, though it does work in small scenarios on localhost. The initial SWIM implementation for MirageOS is available from mirage-swim

Necessary skills: Some familiarity with OCaml and an interest in distributed protocols and MirageOS/unikernels. Previous experience with networking and distributed systems is useful, but not required.

For more information and to apply, please email
← See all available internships