Select Page

The Goal and Motivation

The goal of BEE is to create a unified software stack to containerize HPC applications. BEE utilizes both virtual machines (VMs) and software containers to create a workflow system that establishes a uniform build and execution environment beyond the capabilities of current systems. In this environment, applications will run reliably and repeatably across heterogeneous hardware and software. Containers define the runtime that isolates all software dependency from the machine operating system. Workflows may contain multiple containers that run different operating systems, different software, and even different versions of the same software. Containers are placed in open-source virtual machine (KVM) and emulators (QEMU) so that workflows run on any machine entirely in user-space.

Overview

– Put complex HPC codes/workflows in a software container
– Run the same container on multiple platforms
– Without rebuilding—containers are composable binaries
– Without system administration—no dependencies needs to be installed
– Without root/privileged code—using virtual machines

Practice at LANL

BEE-atified Applications w/ or w/o Paraview-Catalyst
– MPAS-Ocean : Ocean system simulation.
– H3D: Export controlled Plasma Simulation.
– VPIC : Vector Particle in Cell simulation.
– CLAMR: LANL mini app.

BEE Principles

– VM+Containers is better
– VMs widely available, even on legacy systems- VMs are more secure (than unprivileged containers or OS container runtimes)
– VMs create future management opportunities (Checkpointing/restoration/migration)

Single Node Performance

Single Node Threaded Performance (Raw & VM+Docker very similar!)

Correct VM configuration matters

BEE on HPC and Cloud

 

Released BEE Resources

We are planning to release the BEE launcher (including aws-launcher, darwin-launcher and ic-launcher), BEE-vm-builder, BEE-monitor and BEE-portor in FY17.