Avocado is secure distributed in-memory key-value store. It leverages SGX to provide trust in an untrusted setting. You can find more details in our USENIX ATC'21 paper.
You can build the non-secure version by doing the following
git submodule update --init --recursive
mkdir build
cd build
cmake ..
cmake --build . --parallel
You can build the secure version with the scone images. However, you might be required to patch the folly library with the provided patch. You should also set the SCONE flag in cmake
cmake .. -DSCONE=ON
We used a internal development version of scone to run Avocado. We have not tested it with the publicly available version.
The build process will generate a benchmark application build/src/server
which you can use to run the benchmark, see the --help
flag for information.