Umbrella Software Environment Specification

Umbrella is a tool for specifying and materializing comprehensive execution environments, from the hardware all the way up to software and data. A user simply invokes Umbrella with the desired task, and Umbrella parses the specification, determines the minimum mechanism necessary to run the task, downloads missing dependencies, and executes the application through the available minimal mechanism, which may be direct execution, a system container (Parrot, Docker, chroot), a local virtual machine (i.e., VMware), or submission to a cloud environment (i.e., Amazon EC2) or grid environment (i.e., HTCondor).

An Umbrella specification includes six sections: hardware , kernel , os , software , data , and environ. By specifying the dependencies of an application clearly and materializing the execution environment during runtime automatically, the application becomes portable and reproducible.

Umbrella involves multiple sandboxing and virtualization techniques, however, the key idea of Umbrella is to construct a sandbox for an application during runtime by mounting all the os, software, and data dependencies into a virtual root filesystem without copying them. The usage of mounting mechanism allows multiple sandboxes share the same dependencies concurrently.

Related Publications

  1. Facilitating the Reproducibility of Scientific Workflows with Execution Environment Specifications
    Haiyan Meng and Douglas Thain
    In The 17th International Conference on Computational Science (ICCS), 2017
    doi: 10.1016/j.procs.2017.05.116
  2. Conducting Reproducible Research with Umbrella: Tracking, Creating, and Preserving Execution Environments
    Haiyan Meng, Douglas Thain, Alexander Vyushkov, Matthias Wolf, and Anna Woodard
    In IEEE Conference on e-Science, 2016
    doi: 10.1109/eScience.2016.7870889
  3. Techniques for Preserving Scientific Software Executions: Preserve the Mess or Encourage Cleanliness?
    Douglas Thain, Peter Ivie, and Haiyan Meng
    In 12th International Conference on Digital Preservation (iPres), 2015
    doi: 10.7274/R0CZ353M
  4. Umbrella: A Portable Environment Creator for Reproducible Computing on Clusters, Clouds, and Grids
    Haiyan Meng and Douglas Thain
    In Workshop on Virtualization Technologies in Distributed Computing (VTDC) at HPDC, 2015
    doi: 10.1145/2755979.2755982