Skip to content

docc-lab/pythia

Repository files navigation

Pythia rust project

About & License

This is the opensourced code base of DOCC Lab at Tufts University and Peac Lab at Boston University's full paper VAIF on SoCC21 (pervious short paper Pythia on SoCC19)

VAIF is the final name in paper, but we used old name, Pythia, in code base.

This repo is under BSD 2-clause license.

Code base

  • This repo contains the parts of Pythia written in Rust, including pythia controller and pythia server in the pythia_server folder.
  • Currently, Pythia can work in OpenStack, HDFS (extra setup needed, not included here) enviornment etc.
  • We also opensource Pytyhia instrumentation agent for OpenStack enviornment. Please refer to the repos list at the botoom.

Installation instructions

One may compile & install Pythia code base using Rust tools, but it's not recommended. Instead, we recommend to use the following two methods.

  • Create an CloudLab experiment with Pythia & experiment enviornment(OpenStack) installed automatically

  • Pull a Docker container that contains Pythia

    • WiP

Usage

In CloudLab, using pythia with Openstack

Please follow this user guide for

  • How to create an experiment with shared profile
  • How to setup initial search space for Pythia
  • How to execute Pythia
  • How to injection problem to OpenStack
  • How to use Pythia to analyze injected problems
  • How to do troubleshooting

In docker image

No user guide for docker image for now since it's already compiled and it requires OpenStack enviornment to run experiment.

  • But we might add some in the future.

Getting Documentation of Pythia code base

(If you plan to contribute, and needs documentation)

After pulling the code, use cargo doc --open --document-private-items. Documentation there includes how to install, documentation on the codebase, etc.

The pythia_server folder contains an independent rust project, whose documentation should be built separately, in the same way.

Pythia repositories

Forks of openstack projects