Sharing Experiments with Trovi
- May 31, 2022 by
- Mark Powers
Have you ever read a research article and wished you could rerun the experiment, dig into the code or see how hardware was specifically configured? Some pieces might offer GitHub or download links as a way to view the static code that went into the experiment, but this isn’t the most effective way to reproduce and explore it. Trovi, Chameleon’s experiment repository, helps solve it by providing a repository of experiments integrated with the testbed on which they were produced so that you can execute those experiments in just one click. Trovi lowers the barrier to reproducing research by combining the reproducible artifacts and the experimental environment in which they can be reproduced.
Interested in trying it out for yourself? You can browse the repository of artifacts here, and use it as a way to find and run experiments (fun fact: Trovi means find in esperanto). After clicking “Launch”, you’ll be taken to a Jupyter notebook containing a copy of the experiment files. This interface lets you run each part of the experiment individually, step by step. In doing this, you’re reproducing an experiment exactly the way the authors did, or, you can introduce variation by changing portions of the experiment.
Launching an experiment in one click, from a previous post.
But it doesn’t stop there! Trovi can do more than just store artifacts. Our Zenodo integration makes it easy to cite your artifact in a paper or presentation? Zenodo is an open access storage repository backed by CERN, and provides DOIs for Trovi artifacts. By adding a DOI, your artifact becomes citable, for both your own use and others.
Already storing things on GitHub or tracking files via git? Trovi also has integration with git, allowing you to create an artifact from any git repository. After making changes in Jupyter, you are also free to export your data back to your git repository. You can skip this step by just creating Jupyter notebooks of your experiment with the Chameleon Jupyter interface.
And last but not least – very important for all of you who are using other experimental platforms: Trovi is designed as an open platform, meaning that anyone can integrate it with another testbed via the public API we provide. This allows any testbed or cloud to use Trovi to store artifacts and integrate with it in the same way as with Chameleon, potentially running experiments over both as we have recently done with Chameleon and commercial clouds. Trovi is also open source, allowing users to see what is going on under the hood, and get creative! We’d love to see how you could extend the service with more functionality in the future.
Interested in seeing what Trovi has to offer? There are over 30 public artifacts on Trovi right now that you can check out today! We’ve showcased some of these artifacts here and here. One of our most popular artifacts is LinnOS, which has had almost 450 views since its creation in September 2020.
No comments