Membership protocol for Mirage unikernel clusters based on SWIM
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This repo is the beginnings of an implementation of the SWIM protocol for Mirage. The goal is to provide a scalable membership protocol for clusters of unikernels.

The intention is that unikernels in a cluster run the the Swim task alongside their actual task. The application task can then query Swim about the state of the cluster, e.g. to issue a request to another node.


So far, this has only been tested on OSX running only the Swim task (no application task). Run the following to start a node locally:

env NET=direct DHCP=true mirage configure --unix
sudo ./mir-swim

(sudo is required to access vmnet)

You can then run the following in another shell to join the cluster:

sudo ./mir-swim --join_ip=[the ip assigned to the previous node]

You should see debug information in the console.