roberth / uu-cs-orc

Cloud orchestration project
2 stars 1 forks source link

NomadBase

(formerly TimeKeeper)

This repository contains the result of a mini-project at Universiteit Utrecht.

The goal was to familiarize ourselves with concurrency and parallellism in Haskell, by exploring 'orchestration'.

In this project, we have built a data store with subscriptions inspired by Apache ZooKeeper, that could be used to communicate information about a cluster.

The code for this part of the project can be found in the timekeeper directory. Documentation is provided in the timekeeper/src directory.

Also, in order to validate the concept and implementation, we have made an initial effort to thoroughly test a 'barrier' synchronisation algorithm built on the protocol. More information can be found in the nomadbase-algorithms readme.

We had plans to make the system robust such that it would keep functioning upon verius crashes or, when failures were to sufear, maintain a state from which the system would be able to recover upon reconnection of failing parts of the system. This was supposed to be realised with some extra measures:

Unfortunately we did not get to the robustness part and this is left for another team to implement.