Skip to content

faasm/experiment-faabric

Repository files navigation

Faabric Experiments

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.

Experiments in this repository

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