Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 1.35 KB

README.md

File metadata and controls

51 lines (36 loc) · 1.35 KB

Firecracker benchmarking code

This repository contains all the scripts, source code, and data used for our NSDI 2020 paper on "Firecracker: Lightweight Virtualization for Serverless Applications".

Build the pre-requisites

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.

Prepare the host

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 \

Running the tests

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.