A multi-tenant key-value store into which untrusted extensions can be pushed down at run-time
To run Sandstorm on CloudLab, do the following
- Instantiate an experiment using the
splinter-cluster
profile under thesandstorm
project (you will need to join the project first). When asked, allocate two machines for the experiment. - Once the experiment has begun, clone this repository on both the allocated machines.
- Next, run
scripts/setup.py --full
from the root directory on both machines. This script installs Rust, DPDK. It saves the PCI and MAC addresses of the bound NIC to a file callednic_info
. Run -source $HOME/.cargo/env
once the script is done. - Create a toml file (
db/server.toml
) for the server on one machine, and a toml file (splinter/client.toml
) for the client on the other machine. There are example files underdb
. - Update the toml files with the correct MAC and PCI addresses (generated during Step 3).
- To run the server, run
make
, followed bysudo scripts/run-server
from the root directory. - To run the ycsb client, run
make
, followed bysudo scripts/run-ycsb
from the root directory.