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 using the VirtualBox version that is included in the recommended BOINC Windows installer; newer VirtualBox versions may not work correctly for some projects.
If you are running Windows, you must use 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 don't 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.
Hardware acceleration
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.