What is virtualization?
Virtualization is a software technique that allows a computer to run a different operating system within a self-contained "virtual machine" (VM). For example, this allows a Windows computer to run Linux, with no need to install Linux separately on the hard drive, or to reboot when switching between the OSes.
Virtualization and BOINC
BOINC uses virtualization to allow scientists to develop applications on their preferred operating system (usually Linux) and then run them on volunteered Windows and Mac computers. We call these VM apps.
BOINC's virtualization support uses a system called VirtualBox, which is open-source software maintained and distributed by Oracle. For more information about VirtualBox, please see their web site at https://www.virtualbox.org/
To run VM apps, your computer must have VirtualBox installed. Starting with version 7.2.28, the recommended BOINC installer for Windows includes VirtualBox as well. You can also install VirtualBox separately.
We recommend the VirtualBox version that is included in the recommended BOINC Windows installer, since newer VirtualBox versions do not work correctly for all projects.
If you are running Windows, it is essential that you install a version of BOINC that matches your version of Windows - use 64-bit BOINC on 64-bit versions of Windows, 32-bit BOINC on 32-bit versions of Windows. Otherwise, BOINC will not be able to detect the presence of VirtualBox.
Benefits of virtualization
The use of virtualization in BOINC provides several advantages:
- It makes it easier for scientists to develop applications for BOINC, since they no longer have to build and maintain versions of their programs for Windows and Mac.
- It provides increased security for volunteers. Virtual machines provide a very strong security barrier; a program running in a virtual machine has no access to the files on the "host" operating system.
- VM apps are automatically "restartable". The contents of the VM are written to disk every few minutes, and if your computer is turned off for a while, the application can restart close to where it left off.
BOINC projects with VM apps
The following projects currently have VM apps:
Even if you're not participating in any of these projects, we encourage you to install VirtualBox; that will allow more projects to use virtualization in the future.
File size considerations
VM apps include a "VM image file", which can be large (hundreds of megabytes). This is typically downloaded only once. If your internet service provider imposes a monthly download quota, you can set your preferences to limit BOINC's downloads.
Modern CPUs have hardware support for VMs. Intel calls this VT-x (or sometimes "Intel Virtualization Technology"); AMD calls it AMD-V. These features
- Make VMs run faster
- Allow VMs to use more than one CPU core
- Allow 64-bit VMs on 64-bit CPUS.
Some computers are sold with these features disabled, but it may be possible to enable them in your BIOS settings. If you're familiar with editing BIOS settings, you can check this.