This repo contains the experiments for the Faabric paper.
When following any instructions in this repository, it is recommended to have two open terminals:
- One on the
experiment-base
repo with the virtual environment activated (source ./bin/workon.sh
). From now onward, we will refer to this shell by its venv name:faasm-exp-base
. - One with this repo and the virtual environment activated
(
source ./bin/workon.sh
). From now onward, we will refer to this shell by its venv name:faasm-exp-faabric
.
The former is used to provision/deprovision K8s clusters on Azure (with AKS),
and also to access low-level monitoring tools (we recommend k9s
).
The latter is used to deploy Faabric clusters, run the experiments, and plot the results.
Microbenchmarks:
- Polybench - experiment to measure the baseline overhead of using WebAssembly to execute the PolyBench/C kernels.
- Kernels (MPI) - microbenchmark of Faabric's MPI implementation using a subset of the ParRes Kernels
- Kernels (OpenMP) - microbenchmark of Faabric's OpenMP implementation using a subset of the ParRes Kernels.
- LULESH - experiment using Granny to run a one-off explicit shock dynamic simulation with LLNL's LULESH.
- LAMMPS - experiment using Faabric to run a one-off molecule simulation using LAMMPS
- Migration - microbenchmark showcasing the benefits of migrating an MPI application to improve locality.
- [Elastic] - TODO
Macrobenchmarks:
- Makespan - experiment using Faabric to run a trace of scientific applications over a shared cluster of VMs. Comes in three flavours:
- [MPI Migration for Locality] - TODO
- [OpenMP Elastic Scaling to improve utilisation] - TODO
- [MPI + OpenMP Migration to reduce VM working set] - TODO