Introducing Precip - a new tool for experiment management on FutureGrid

Precip is a new flexible experiment management API for running experiments on infrastructure clouds. Precip was developed for use on FutureGrid cloud platforms such as Eucalyptus (>=3.2), Nimbus, OpenStack, and commercial clouds such as Amazon EC2. The API enables users to easily provision virtual machines and run scripts and transfer data to/from sets of VMs identified by tags. The goal of the API is to provide a simple interface for writing repeatable experiments in Python.

The main feature of Precip is the ability to create repeatable, dynamic experiments programmatically. In Precip you can easily write code to start the deployment, add/remove VMs, run experiments, reconfigure, and shutdown cloud instances. The ability to express an experiment in code is also useful for experiments which have a time axis, or need to reconfigure the setup in response to events. A common use case is to remove or restart an instance at a particular time. Another is to grow the number of clients or servers over time.

Precip tracks instances based on user and system supplied tags. The tags allow for group manipulation such as transferring files or running commands on a subset of VMs. The API does not require any special VM images or tools to be installed on those images. It can use any basic Linux image that supports SSH. Pre-configured images can be used if the experiment requires it, or the experiment API can be used to run bootstrap scripts on the images to install/configure required software.

Precip has been installed on the India and Sierra FutureGrid resources. Use the module precip/0.1 to get Precip into your environment. Documentation is available in the FutureGrid Manual: http://archive.futuregrid.org/manual/precip

We are soliciting feedback on this tool and are happy to help people get started. For any questions about Precip, please send an email to help@futuregrid.org.


Event Type: 
Other