This repository contains all the scripts, source code, and data used for our NSDI 2020 paper on "Firecracker: Lightweight Virtualization for Serverless Applications".
The ./prep
directory contains scripts and other tools required to
run the tests. Most tests uses minimal OS images build with
linuxkit
. It also contains a slightly modified version of
firecracker and builds a new, statically linked binary for qemu.
The following should build everything:
cd ./prep
make
Binaries (and BIOS) are placed into ./bin
and kernel and root
filesystem images are placed into ./img
.
A working docker
and go
installation is required for building, but
not for running the tests and you should be able to copy the ./bin
and ./img
directories to a target system to run tests there without
these pre-requisites.
This assumes you are running on a Ubuntu system.
Install some host side utilities
sudo apt update
sudo apt install -y \
iperf3 \
jq \
hwloc-nox
numactl \
There are a bunch of scripts in ./scripts
. They assume you are in the ./scripts
directory when you run them.
cd ./scripts
./run-all.sh ../data/test
configures the host system and runs most of the tests. Test results are stored in the directory provided.