Fault-tolerant distributed system in asynchronous C++
A pre-configured docker image is available (Ubuntu 23.04, GCC-13):
$ docker build -t agrpc-env .
$ docker run -it -v ./map_reduce:/root/map_reduce --name agrpc-env agrpc-env
(inside container) $ mkdir -p /root/build && cd /root/build
(inside container) $ cmake /root/map_reduce
(inside container) $ make -j
How to use the program:
(get sequential output) $ ./sequential tests/*.txt
(run distributed MapReduce) $ ./distributed tests/*.txt
(run all unit-tests) $ ctest
Our RPC implementation is based on this awesome asynchronous gRPC C++ library: https://github.com/Tradias/asio-grpc
Read more about the origin of oathkeeper, one of the finest swords in Game of Thrones.