BOINC/VIRTUALBOX INTEGRATION ROM WALTON [email protected] OVERVIEW • 3 years of development effort so far. • Many changes to the BOINC API and client. • Deployed on: •

Download Report

Transcript BOINC/VIRTUALBOX INTEGRATION ROM WALTON [email protected] OVERVIEW • 3 years of development effort so far. • Many changes to the BOINC API and client. • Deployed on: •

BOINC/VIRTUALBOX
INTEGRATION
ROM WALTON
[email protected]
OVERVIEW
• 3 years of development effort so far.
• Many changes to the BOINC API and client.
• Deployed on:
• Test4Theory/vLHC@Home, Atlas@Home, Beauty@Home,
RNAWorld, Climate@Home
• Special Thanks:
Ben Segal, Daniel Lombraña González, Christian Beer,
Wenjing Wu, Jorden van der Elst, Lammert van der Veen,
and Jacob Klein.
PROS OF VIRTUALIZATION
• Automatic check-pointing
• Develop application for a single platform
(Run natively on Linux, through VMs on Windows and
MAC OS)
• Stronger sandbox for application execution
(Can run untrusted code from unknown scientists if VM’s
network functionality is disabled)
• Fine grained CPU, Disk, and Memory utilization controls
CONS OF VIRTUALIZATION
• VirtualBox is still evolving
(Sometimes leads to version incompatibilities)
• VM execution overhead
• GPUs are not yet virtualized
PROCESS WORKFLOW
BOINC
VirtualBox
VboxWrapper
VboxManage
VboxSvc
VboxHeadless
VboxWrapper
VboxManage
VboxHeadless
VboxWrapper
VboxManage
VboxHeadless
DIRECTORY STRUCTURE
C:\...\Slots\0:
├───boinc_bec7b324a4a
│
├───Logs
│
└───Snapshots
└───shared
Contents of C:\...\Slots\0:
vboxwrapper
init_data.xml
vbox_job.xml
vm_image.vdi
…
Contents of C:\...\Slots\0\shared:
<application executable>
<application inputs>
<application outputs>
…
AUTOMATIC CHECKPOINTING
• Checkpoints are VM Snapshots (disk and memory)
• Checkpoints are created at regular intervals
• 5 minutes (default)
• Project defined checkpoint interval (overrides default)
• Volunteer minimum checkpoint preferences (overrides project)
• Checkpoints are disk intensive if projects write to a bunch
of files
NETWORKING
• Avoid if possible, certainly do not punch wholes in
volunteers firewalls via UPNP
• Bridged mode is supported (off by default)
• Port forwarding is supported (off by default)
• Console access is supported (off by default)
• via Remote Desktop
UNIVERSAL APPLICATIONS
• VM configured to run Linux worker application through a
shared directory
• Build/Test/Validate one application, runs on:
• Windows
• Mac
• Linux
UNTRUSTED APPLICATION
• VM configured to run any number of applications
• Networking support should be disabled
• Strongest sandbox solution we offer
QUESTIONS AND ANSWERS
• BOINC Website:
http://boinc.berkeley.edu/
• BOINC Development Mailing List:
[email protected]
• BOINC Projects Mailing List:
[email protected]
• VirtualBox Applications:
http://boinc.berkeley.edu/trac/wiki/VboxApps
• Application Versions:
http://boinc.berkeley.edu/trac/wiki/AppVersionNew
• Plan Classes:
http://boinc.berkeley.edu/trac/wiki/PlanClassFunc
Any Questions?