Opening Comments

Ben referred to the work at CERN developing a "general solution" for BOINC apps using VM's. Consists of an extended BOINC Wrapper (VMWrapper) and a general-purpose VMController package which provides all needed host<->guest-VM functionality. All this code is written in Python for cross-platform support, but hit problems with packaging and installing the system cross-platform, especially on Windows. But this Python "general solution" is being completed, on a timescale of a few months.

CERN is currently using a minimal-functionality VM-wrapper in C to prototype BOINC applications for LHC physics computing, with an approach requiring very few host<->guest functions. This approach profits from the use of the CernVM system, which not only provides optimal image size and update management, but also interfaces to existing LHC job scheduler systems, avoiding the use of BOINC scheduling (see CoPilot? reference).

Standardization Issues

How to standardize an API for interactions with hypervisors of different VM technologies?

Diogo's work seems nice in this respect due to his focus on future proofing (via plugins).

ACTION: Diogo to forward paper on his work and to update the BOINC Wiki site "../wiki/VmApps" accordingly.

Another alternative is to use LibVirt?, providing we can generate a Windows version...

We could really do with talking to Libvirt developers, since they may well have faced similar problems to the ones we face. How much work to replace Linux specific functions of LibVirt? with Win32 calls?

Scientist Adoption

We discussed some factors which could help scientists adopt a BOINC-VM solution, either (1) as a simpler alternative to classic BOINC application porting, or (2) as a method of running their applications in "cloud mode", on BOINC as well as on other clouds.
CERN is trying to enable both methods: (1) with the full-function VMWrapper/VMController code, and (2) via CernVM/CoPilot.

Questions discussed:

Promote Rpath-Rbuilder for automating the VM image stripping/compacting? This is the CernVM approach.

Method of image and data distribution: Bittorrent or the CernVM method (or both)? Image download and update efficiency is important.

Note that BOINC itself is installed with admin privileges, so we could theoretically install VirtualBox or other hypervisors at BOINC install time. (Preferably we attach to a VM specific project, and it notifies that a VM technology is required and optionally sets it up).

Note that such a solution requires some BOINC client updates. Automation could be problematic when we consider existing VirtualBox installs.

* David Anderson is now in communication with Oracle on the topic of bundling VirtualBox with BOINC.

Download in other formats:

Site migrated to: https://github.com/BOINC/boinc-dev-doc/wikiCopyright (c) 2014 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.