/ukharon

uKharon: A Membership Service for Microsecond Applications

Primary LanguageC++Creative Commons Attribution 4.0 InternationalCC-BY-4.0

alt text

A Membership Service for Microsecond Applications

Check out our ATC paper for more details!

Build Requirements

  • conan package manager

    pip3 install --user "conan>=1.47.0"

    make sure to set the default ABI to C++11 with:

    conan profile new default --detect  # Generates default profile detecting GCC and sets old ABI
    conan profile update settings.compiler.libcxx=libstdc++11 default  # Sets libcxx to C++11 ABI
  • cmake v3.9.x

  • ninja

  • gawk

  • libibverbs-dev

  • libmemcached-dev

  • Other non-essential dependencies are given in the Dockerfile.

Build

Run from within the root:

./build.py

this will create all conan packages and build the executables.

Note: If gcc is available, it is used as the default compiler. In a system with clang only, then clang becomes the default compiler. In any case, you can check the available compilers/compiler versions by calling ./build.py --help.

Note: If your compiler is newer than gcc-11 or clang-12, you need to add profiles and edit the supported versions list.

Docker

You can manually build the Dockerfile under the root of this repo.

docker build -t ukharon .

Usage

Follow the instructions on the artifacts repository!

License

Shield: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0