Virtualbox or vmware which is faster. VMware or VirtualBox: what to choose. Creating a virtual machine

A virtual machine is a unique type of software that allows you to run a fully functional interface of another OS (for example, Linux) in one operating system (for example, Windows) without rebooting the computer. What are the specifics of how these solutions work? Which virtual machine should I choose to perform certain tasks?

Among the most common options on the software market in the corresponding segment:

Let's study the specifics of these virtual machines in more detail and determine for which tasks each of them is best suited.

The developer of this software is Oracle.

Among the undeniable advantages of the virtual machine in question is that it is free and the source code of the solution is open. VirtualBox allows you to run “tandems” on your computer in any combination of host (main) and guest (“virtual”) operating systems for PCs from among the most common today - Windows, MacOS, Linux (in a variety of modifications).

Many IT specialists praise VirtualBox for its clear and user-friendly interface (in particular, it supports the Russian language). Starting a guest OS is very easy - with the help of a wizard that provides step by step solution corresponding task.

Using VirtualBox, you can use guest OS interfaces to access the Internet. Among others the most useful functions solutions from Oracle - creating OS snapshots, recovery points (with their help, you can return the settings of the guest operating system to stable ones in the event of operational failures).

Virtual PC

Virtual machine Virtual PC is a product of Microsoft. Unlike software created by Oracle, this decision It is not cross-platform, it only works with Windows operating systems.

VMware Workstation - for serious tasks

Its main purpose is to launch several different Windows versions on one PC.

The Virtual PC interface provides options that allow you to set priorities in the distribution of system resources between simultaneously running virtual operating systems.

VMWare Workstation

The VMWare Workstation program was created by the American company VMWare, which is one of the leaders in this segment of the software market. Supports “tandems” of Windows and Linux OS, incompatible with MacOS.

This solution is paid, its price now is about 15 thousand rubles. However, the functionality and capabilities of VMWare Workstation completely justify the price. The program can be used not only to launch a guest operating system in order to solve ordinary user tasks (such as opening a file or downloading a program - under the desired OS), but also to use it as server software or an environment for running powerful business applications.

VMWare Workstation is a solution that is convenient to work with and easy to configure. Among the notable features of this product is the presence of a virtual 3D graphics processing module. This allows you to run the most “heavy” applications and games in terms of using the corresponding resource through the guest OS.

Which virtual machine should you choose from the ones we've reviewed? Probably, for many users, one of the key criteria will be free. The presented solutions from Microsoft and Oracle correspond to it. If the user plans to work not only with Windows, but also with other operating systems, then the best option for him is VirtualBox. In turn, many IT specialists often need to run different versions of Windows simultaneously. In this case, the Virtual PC product will be indispensable.

If a user is faced with tasks that require high performance and functionality of a virtual machine, then he, in all likelihood, will have to include funds in his project budget for the purchase of a product from VMWare, which can very effectively use the functions of guest operating systems.

Installing Guest Additions

If you have already installed an operating system on a VirtualBox virtual machine, and plan to continue working with this OS, you should think about expanding the capabilities of the virtual system. You can expand the capabilities by installing a special addition to the guest OS - VirtualBox Guest Additions.

Add-ons are special drivers and programs that will ensure the best integration between the real and virtual OS, and increase the speed of the latter.

In order to install add-ons, you do not need to download anything from the Internet; these files are already present on your computer. They are located in the folder where the program itself is installed. All add-on files are packaged into one disk image called VBoxGuestAdditions.iso. You can mount this disk image yourself in virtual drive, and in turn mount this drive into a virtual OS, but this is not the easiest way. We will take a different, easier path (more on that below).

This article will look at the two most commonly installed operating systems on VirtualBox, Windows and Linux. Since Ubuntu is the most popular among Linux distributions, it will be considered.

Installing Guest Additions on Windows

For this OS, add-ons are installed extremely easily, automatically.
You need to do the following:

1) While in the Windows guest OS, find the virtual machine menu; it can be located either at the top or bottom, depending on the settings you have made.

Click on the “Devices” menu item, and select the “Install guest OS add-ons...” sub-item.

Which is better Vmware or VirtualBox?

Or use the keyboard shortcut Host + D (by default Host is right Ctrl).

2) The installer will launch, in which you will need to click Next twice, and then Install.

3) During installation, you will likely receive messages stating that the software you are installing has not been tested for compatibility with Windows.

Click the “Continue Anyway” button.

4) At the end of the installation, check the box (already checked by default) Reboot now, and click Finish.

Installing Guest Additions on Ubuntu

Here it will be a little more complicated, after all, Linux is not Windows for you :)

1) If you do not have DKMS installed on your Ubuntuy guest, install it by opening a terminal and running the following command:

sudo apt-get install dkms

After you enter this command and press Enter, you will be asked to enter your password.

Enter the password and press Enter (P.S. when entering the password, the characters you enter will not appear in the terminal, this is normal, just enter the password and press Enter).

2) In the guest OS menu, click Devices/Install guest OS additions... If you are prompted to autorun, click Cancel.

3) Go to the directory of the cd-rom that appears, usually you need to run the following command:

But for example, my cdrom was named VBOXADDITIONS_4.1.8_75467, and the cd /media/cdrom command did not work. We managed to get to the directory by running the command:

cd /media/VBOXADDITIONS_4.1.8_75467

4) Browse the contents of the directory, enter:

We need a file called VBoxLinuxAdditions.run, run it:

sudo sh ./VBoxLinuxAdditions.run

After installing the add-ons, reboot the guest OS.

If something doesn’t work out right away, it’s worth checking whether your actions are correct, since an error in just one letter means a lot.

Selecting and installing a virtual machine.

Every advanced PC user sometimes has a desire to try some other operating system, but does not dare install it on his work computer. Indeed, installing an unfamiliar OS is a very risky action. With one wrong command you can lose all the data on the disk. But today there is a way to try several operating systems on one computer at once, and, if desired, even simultaneously! This method is called - virtual machine or virtual computer.

    A virtual machine is a virtual computing environment in which a guest operating system can be run. This operating system is launched second and runs in separate window. You can also launch programs and work as usual. You can create several such windows for different operating systems. The number of virtual machines installed on one computer is limited only by the resources of the computer itself.

    A virtual machine is a program that you run from within your operating system. The program emulates a physical computer, so the virtual machine has:

As with a real machine, you can install an operating system on a virtual machine, it doesn’t matter whether it’s Windows or *nix. This way, you can test different operating systems without leaving yours.

You can easily share files between the main operating system (host) and the guest operating system (guest). This is done by simply dragging files from the client's file manager to the guest system window or vice versa. The convenience of a virtual machine for testing an automated installation is simply invaluable. Simply connect Bootable ISO image instead of a CD-ROM in the virtual machine settings, and the system installation will proceed exactly the same as on a real machine.

    Emulation - simulating the operation of one operating system through another, without loss functionality. Emulation is reproduced by hardware or software.

    Host (host system) is the operating system of the computer on which the VM is installed.

    Guest operating system is an operating system running within a VM.

    A virtual application is a fully configured application in a VM.

    Virtual Machine Monitor (VMM) is a virtual application module that solves all VM management tasks.

    VM console - GUI A virtual machine that allows you to manage basic program settings.

After wandering around the Internet, I noticed two programs that allow you to use virtualization technology at home and are most often found in reviews - VirtualBox and VMWare.

Virtualization systems existing today have much in common. In particular, each virtual machine recognizes a CD drive as well as a floppy drive. In addition, it is possible to work with virtual drives and disk images. Very useful is the ability to manually set the quantity random access memory for each of the virtual machines, a list of connected devices, etc. Such flexible settings allow you to comfortably use the guest system. A very convenient feature is the ability to pause the virtual machine at any time. This frees up necessary hardware resources for the host system.

All the differences between existing virtual machines, in fact, come down only to the list of supported ones operating systems, and cost.

ORACLE VirtualBox - a universal free virtual machine

VirtualBox- a very simple, powerful and free virtualization tool, developed thanks to the support of the famous ORACLE corporation. It is distributed free of charge, open source source code. VirtualBox allows you to install almost any modern operating system as a “guest”, be it Windows, MacOS or any of the many representatives of the Linux family. The advantage of VirtualBox is its simple and intuitive user interface. VirtualBox supports networking, so your virtual OS can easily access the Internet. The operating system snapshot feature is very useful. The virtual machine writes “restore points” to the hard drive, which you can roll back to at any time guest system in case of errors or failures.

VMware Workstation - for serious tasks

VMware Workstation is a powerful, paid, highly reliable virtualization program that supports Windows and Linux. This machine is not intended for virtualization of MacOS. Due to its high reliability and wide functionality, VMware Workstation is often used not just for testing, but even for the constant operation of virtual machines as servers, even for business applications, be it a firewall separating an organization’s network from the Internet or even a database server.

If we need just test it any program or new operating system, the best choice would be free virtual machine - ORACLE Virtual Box. It is free, supports any modern OS and is highly customizable.

If we want to expand serious virtual solution, requiring reliable, long-term operation, you should choose VMWare Workstation. Although this is a paid system, it guarantees stability for critical tasks.

Installing a virtual machine.

Of the virtual machines discussed in the previous section, it is best to use VirtualBox. Now we will look at how to install VirtualBox, and the next section will describe how to configure it.

Installing Oracle vm Virtualbox

The current version of Oracle VM VirtualBox can be downloaded from https://www.virtualbox.org/wiki/Downloads of the project, which contains links to download installation packages for Windows x86/x64, Linux, Solaris and OS X. Installation in Windows environment must be executed under a user account with administrator rights.

During the further installation of VirtualBox, a warning will be issued:

This means that when installing VirtualBox network drivers, current network connections will be reset and a temporary disconnection from the network will occur. If, for example, in parallel with the installation, data is exchanged with network drive, then it will fail with an error. If you are not working on the network, then briefly disabling the adapters will have no effect, and you should allow the installation to continue by clicking Yes. Otherwise, you need to shut down the network resources first. After the installation is complete, the main software module for the VirtualBox user - Oracle VM VirtualBox Manager (Oracle VM VirtualBox Manager) will be launched:

Installing Linux Ubuntu on an Oracle vm VirtualBox virtual machine

All actions to create virtual machines, change their settings, import and export configurations, etc. can be performed using the Oracle VM VirtualBox Manager (in Russian software - Oracle VM VirtualBox Manager) or using the utility command line VboxManage.exe. The latter has somewhat greater capabilities for setting up virtual machines, but is more difficult to use. Installing a guest OS on a virtual machine can be roughly divided into 2 stages: - Creating the required virtual machine using VirtualBox; - Boot into the environment of the created virtual machine from the system installation disk and follow the instructions of the installation wizard. Download source (media with Linux distribution) is determined by the virtual machine settings. It can be a real or virtual CD/DVD drive, floppy disk, HDD, boot disk image or the local network. The default boot order is floppy disk, CD-ROM, HDD, Net. This order can be changed in the virtual machine settings. When you launch VirtualBox for the first time, the main program window is displayed with a welcome message and the Create button activated to create a new VM:

When creating a new virtual machine, the following parameters are defined: - the name of the virtual machine. In accordance with it, a directory with virtual machine files will be created. By default, this is a subdirectory in C:\Documents and Settings\Username\VirtualBox VMs\ on Windows XP and C:\Users\User\VirtualBox VMs\ for Windows 7 and older.

The type of operating system that will be installed on the virtual machine. In this case, Linux is the OS version. In this case, Ubuntu.

Other parameters can be left as default, since they are already selected based on the hardware configuration of the real machine and in accordance with the type and version of the operating system installed on the virtual one. If necessary, the parameters can be determined based on your own preferences, for example, increasing the amount of RAM allocated to the virtual machine.

Here is an example of allocating 1024 MB of RAM to a virtual machine, instead of the recommended 512 MB. When allocating memory, you need to take into account its real size and minimum requirements guest OS. If you have difficulty selecting this item, use the values ​​recommended by the program. Improper memory allocation between the real and virtual machines can result in poor performance for both.

A virtual machine's hard disk (virtual hard disk) is a special file format in the Windows file system. A virtual disk can be created either dynamic or fixed. A dynamic disk is created not for the entire volume specified by the setting, but for part of it, and increases as needed during the operation of the virtual machine. To obtain maximum performance of the guest operating system, it is better to choose a fixed virtual hard disk, and to save disk space, it is better to choose a dynamic one.

VirtualBox allows you to use several different virtual disk data formats:

Choosing a format different from the recommended one makes sense if you plan to use a virtual machine created using VirtualBox in the environment of other virtualization software products (VMWare, MS Virtual PC, QEMU). Most of the parameters defined during the creation of a new virtual machine can, if necessary, be changed at any time.

For the created virtual machine, the Configure button becomes active, which allows you to change some of its settings, add or remove virtual devices, change their operating modes, and manage the distribution of resources of the real operating system. To get acquainted with the guest OS Ubuntu Linux The initial settings made when creating the virtual machine are quite sufficient. Therefore, you can immediately start launching the VM by clicking the Launch button. After the VM starts, a message about using Automatic Keyboard Capture is displayed on the screen.

This means that when the cursor is within the VM window, keyboard input will be performed for the virtual machine. By default, right Ctrl is used to switch keyboard input between real and virtual machine windows. The current input state is displayed in the status bar at the bottom of the virtual machine window.

The green color of the arrow means that keyboard input will be performed for the virtual machine, gray - for the real one.

To install the operating system on a virtual machine, you will need to boot from installation disk. In the VirtualBox environment, it is possible to boot not only from standard devices (CD/DVD drive, flash drive, network...) but also using a virtual drive created based on the boot disk image. Typically, Linux distributions are distributed as image files in the ISO-9660 format (files with the iso extension) and VirtualBox allows you to do without burning the image to a CD, but simply connect such a file directly to the virtual machine as a virtual drive with installed media based on the iso content -image. When you start a virtual machine for the first time, when there is no guest operating system installed yet, VirtualBox will prompt you to select a boot device

Instead of a physical drive, you can select an image file, for example ubuntu-13.04-desktop-i386.iso, which will be connected as a virtual device with the Ubuntu 13.04 installation CD/DVD. When you click the Continue button, the virtual drive will boot and the installation of the guest operating system (Ubuntu) will begin.

The process of installing a guest OS is no different from installing it on a real machine. You can select the language for the installed system (usually Russian), time zone, keyboard layout, etc. Most parameters can be left by default, including Installation type

During the installation process, you must specify the computer name, user, password and login mode:

The rest of the Ubuntu installation proceeds without any user intervention and ends with prompts to restart the computer. Compared to installing the system on real computer hardware, installing on a virtual machine is slower, which is to be expected. The degree of performance degradation mainly depends on the speed of the actual computer hardware.

When you first boot a newly installed operating system, the VirtualBox manager will automatically disable the virtual drive based on the disk image with the Ubuntu distribution, the boot will be performed from the virtual hard drive and upon completion, a login prompt will be displayed on the screen.

Virtual machines, such as Virtualbox, are used to emulate virtual hardware and run multiple operating systems on a computer. The better your CPU and the more RAM you have, the faster the virtual machines on your computer will run.
I offer a few tips that will help you save time when initially setting up virtual machines. This will be useful for working with virtual VirtualBox machines, VMware, Parallels, or any other.

Be sure to install the VirtualBox or VMware Tools guest OS add-ons

After installing a guest operating system in a virtual machine, the first thing you need to do is install the virtual machine software - "Guest OS Additions for VirtualBox" or VMware Tools for VMware." These packages include special drivers that will help your guest operating system work faster using your host machine's hardware.

Installing the package is simple - in VirtualBox, after loading the guest operating system, click the Devices menu button and select “Install Guest Additions”. If you are using VMware, select "Install VMware Tools" from the Virtual Machine menu. Follow the on-screen instructions to complete the installation - if you are using Windows as a guest operating system, it will be the same as installing any other application.

Make sure you have the most latest version Guest Additions - If you see a notification that an update is available for Guest Additions or VMware Tools, you should install it.

Creating a fixed disk size during initial setup

When creating a virtual machine, you can create two various types virtual disks. By default, the program usually suggests using dynamically allocated disks that grow along with the space occupied by the guest OS.

For example, if you create a new virtual machine with a dynamically allocated disk with a maximum size of 30 GB, it will not take up to 30 GB of hard disk space immediately. After installing the operating system and programs, the disk may only take up to 10 GB. As files are added to virtual disk, it will expand to maximum size in 30 GB.

This can be convenient - each virtual machine will not take up an unreasonably large amount of space on your hard drive. However, it is slower than creating a fixed size disk (a disk with pre-allocated space). When creating a fixed disk size, all 30 GB will be immediately used on your computer.

There is a trade-off here - a fixed disk size takes up more hard drive space, but works faster with a virtual hard disk. You will also get rid of file fragmentation - the space will be occupied by a large block instead of adding smaller chunks throughout the disk.

Exclude the virtual machine directory in your antivirus

Your antivirus may scan virtual machine files as they are accessed, reducing performance. An antivirus will not be able to detect a virus inside a virtual machine running on your guest operating system, so this scan will only be harmful.

To speed up the process, you can add your machine's virtual directory to the antivirus author's exclusion list. Once it is listed, your antivirus will ignore all files in that directory.

Allocate more memory

Virtual machines love a lot of virtual memory. Microsoft recommends 2GB of RAM for Windows 7 64-bit, and this recommendation also applies to Windows 7 x32 when running in a virtual machine. If you run large applications in a virtual machine, you can allocate more than 2 GB of RAM.

You can allocate more RAM in your virtual machine's settings dialog (the virtual machine must be shut down to do this). If your computer does not have enough memory to comfortably work with a virtual machine, you may notice a very large decrease in computer performance when using a page file on your hard drive.

Allocate more processors

If you have a computer with multiple processors or cores, you can allocate additional processors to your virtual machine from the VM settings window. A VM with a dual-core (or quad-core) processor will be more responsive.

If you are going to install an OS of the MS-Windows family and in the future, so that you can use more cores, specify 2 cores during installation so that the correct HAL is installed, after installation you can turn off the machine and install 1 core by default for everyday use. But for the future, you can always add kernels without uninstalling the OS. The Linux VM can dynamically detect any number of cores when the OS boots.

Adjust video settings

Fine-tuning your video settings and allocating more video memory will also help improve the speed of your virtual machine. For example, enabling 2D acceleration in VirtualBox improves video playback in virtual machines, enabling 3D acceleration will allow you to use some 3D applications.

By and large, you need to minimize the use of 3D, for example Windows 7, by disabling Aero.

Make sure Intel VT-x or AMD-V features are enabled

Intel VT-x and AMD-V are special processor extensions that improve virtualization speed. New Intel And AMD processors usually include these features. However, some computers do not automatically enable VT-x or AMD-V - you will have to enable this setting in your computer's BIOS.

To determine whether your Intel processor supports the Intel VT extension, use utilities that show system information. If your processor supports this feature, but the option is not available in your virtual machine, you must enable this feature in your computer's BIOS. This option is usually enabled by default in motherboards with AMD processors.

Place the virtual machine files on another drive

Disk performance can limit the speed of your virtual machine. Placing virtual machine files on a separate physical disk or not on system disk- can improve performance. Your virtual machine and system will not concurrently read and write from the same disk.

However, you should not start the virtual machine with external drive(USB) - this will be much slower.

  1. Dedicating additional processors is rarely a good idea. Use 1 CPU for desktop OS.
  2. Try not to use graphical hypervisors for server operating systems.
  3. Do not allocate more cores to running VMs than there are on your computer.

Today, virtualization is widely used in almost every part of the IT industry - from personal mobile devices to powerful computing centers, allowing you to solve a variety of problems. Virtualization can come in different forms - from virtualization and platform emulation to resource virtualization. But today we will talk about native hardware virtualization - modern processors support it using instruction sets such as Intel VT-x or AMD-V.

Native virtualization is a technology that provides computing resources abstracted from the hardware layer. If we take, for example, a segment of servers, such abstraction allows several virtual systems to run on one hardware platform, and also makes it possible to easily transfer virtual systems from one hardware server to another - for example, when it fails or is upgraded.

Before the advent of hardware support for virtualization, all the advantages of the technology offset the large losses in performance and low speed operation of the virtual machine as a whole. The popularity of virtual machines began to grow as manufacturers of hardware platforms began to take active steps to reduce virtualization costs (the appearance of hardware support, the introduction of new instructions, reducing timings when executing instructions), and processor performance became sufficient to “pull” virtual machines at an acceptable speed.

As mentioned above, one of the key factors for the normal operation of native hardware virtualization is the processor’s support for specific instruction sets. Intel introduced its VT-x instruction set in 2005, still within the framework of the Netburst architecture used in Pentium 4 processors. AMD developed its own instruction set, AMD-V, and the first processors supporting it entered the market in 2006. Some time later, both companies proposed new instruction sets: Intel EPT (Extended Page Tables) and AMD RVI (Rapid Virtualization Indexing), respectively. The essence of both sets is that the guest OS gains control over virtualized memory pages directly, bypassing the hypervisor - this reduces the load on it and slightly increases the speed of the virtual system. To forward devices directly to the guest OS Intel company developed the Intel VT-d instruction set. Intel also has other sets of instructions for virtualization: Intel VT FlexMigration, Intel VT FlexPriority, VPID, VT Real Mode, VMFUNC.

In new generations of processors, manufacturers not only offer new capabilities for virtualization instruction sets, but also reduce the timing of execution of specific instructions, which improves the performance of the virtual system as a whole. For example, in Pentium 4 processors the delay for executing VMCALL and VMRESUME instructions was close to 1500 nanoseconds, and in Core 2 Duo (Penryn) it was already less than 500 nanoseconds.

Reducing the performance gap between a real and virtual system has made virtual machines (VMs) much more profitable to use, including for solving enterprise-level tasks. The most obvious advantages are an increase in the average hardware load (several VMs evenly use the resources of the hardware platform, reducing downtime), as well as running an outdated OS that does not meet modern requirements (for example, for security), but is still necessary for the launch and operation of unique software (or for other reasons). By the way, so popular today cloud services are also based on virtualization technologies. Let us summarize the main benefits that an enterprise receives from the use of virtualization. This:

  • an increase in the average load of the physical server, and, consequently, the hardware utilization rate, which, in turn, reduces the total cost of the joint stock company;
  • ease of migration of virtual servers from one physical to another when upgrading hardware;
  • ease of restoration virtual server in case of hardware failure: it is much easier to transfer a virtual machine to another physical server than to transfer configuration and software from one physical machine to another;
  • significant simplification of the transfer of users or business processes to new OS and new software: using a VM allows you to do this in parts and without touching hardware resources; in addition, errors can be easily analyzed and corrected during the process, as well as the feasibility of implementation can be assessed on the fly;
  • support in business processes for the operation of an outdated OS, from which, for some reason, this moment time cannot be refused;
  • the ability to test certain applications on a VM, without requiring an additional physical server, etc.
  • other areas of application.

Thus, the feasibility of using virtualization today no longer raises questions. Technology provides too many advantages from the point of view of business organization, which makes us turn a blind eye even to the inevitable losses in system performance.

However, it is always useful to understand exactly what level of performance loss we are talking about between the real and virtual system. Moreover, they often strongly depend on the type of tasks and software requirements for hardware resources. In some cases this is important from the point of view of resource accounting, in others it will help determine what level of performance of a real system is necessary to achieve the desired level of performance from a virtual system. Finally, there are boundary types of problems that can be solved using both virtual and real systems - and there the issue of losses can be a decisive factor.

Testing methodology

For testing, a set of test applications was used from the usual methodology for studying the performance of website platforms from 2011, with some reservations. Firstly, all games were removed from the set, because graphics adapter with the Oracle driver has too poor performance: In most cases the games would not even start. Secondly, applications that were consistently unable to complete the test script on one of the configurations were removed - Maya, Paintshop Pro, CorelDraw. For this reason, we cannot compare the final ratings and overall performance scores of our test bench with the database of tested processors. However, comparing the results of individual tests is quite correct.

You should also take into account that the methodology uses application versions from 2011. They may not support new technologies, optimizations, or instruction sets introduced after that time. However, the presence of such support in newer versions of applications can significantly affect the performance of these applications - both in the real and in the virtual system.

Test stand

For testing, we took a system with a configuration suitable for the role of both a server and a high-performance workstation. In future materials we will test its virtualization capabilities with different host systems. Today Windows 7 is used as the host.

  • Processor: Intel Xeon E3-1245 v3
  • Motherboard: SuperMicro X10SAE
  • RAM: 4 × Kingston DDR3 ECC PC3-12800 CL11 8 GB (KVR16LE11/8)
  • Hard drive: Seagate Constellation ES.3 1 TB (ST1000NM0033)
  • Operating system: Windows 7 x64

Virtualization software

In this material, testing is carried out using Oracle VM VirtualBox.

Oracle VM VirtualBox is a free virtual machine (VM), distributed under the GNU GPL 2 license. It supports an extensive list of operating systems: Windows, OS X, Solaris and a large number of Linux distributions (Ubuntu, Debian, openSUSE, SUSE Linux Enterprise Server, Fedora, Mandriva, Oracle Linux, Red Hat Enterprise Linux, CentOS). The VM was originally developed by Innotek, which was later acquired by Sun Microsystems, and in 2010 by Oracle. The VM supports forwarding USB devices to the guest OS, provides Internet access and remote desktop connection. Guest operating systems can be either 32-bit or 64-bit. The system supports 2D and 3D hardware acceleration, as well as PAE/NX, VT-x, AMD-V, Nested Paging. Emulates a wide range of common devices: PIIX3 or ICH9 chipset, PIIX3,PIIX4, ICH6 IDE controllers, Sound Blaster 16, AC97 or Intel HD audio cards, as well as network cards PCnet PCI II (Am 79 C 970 A), PCnet - Fast III (Am 79 C 973), Intel PRO /1000 MT Desktop (82540 EM), Intel PRO /1000 T Server (82543 GC), Intel PRO /1000 MT Server (82545 EM). Supports images hard drives VDI, VMDK, VHD, allows you to create shared folders for guest and host OS, as well as save VM states.

Oracle has a more serious analogue of VM VirtualBox, Oracle VM Server for x86 and SPARC processors, based on the Xen hypervisor. That is, this is a completely different product for a different market segment. Oracle VM Server supports up to 160 threads on the physical server and up to 128 virtual CPUs in the guest OS, and a maximum amount of RAM is 4 TB, while VM VirtualBox supports only 32 virtual CPUs in the guest OS and 1 TB of RAM.

To summarize, VM VirtualBox can be characterized as a VM for home use and for use in small companies, and the ease of setup (essentially installed and everything works) does not require high qualifications system administrator(or does not require a dedicated system administrator at all due to ease of use). The Oracle VM Server product is intended for more big business- it provides greater functionality and support for more powerful servers, but also requires higher qualifications from the system administrator.

Software settings

For this testing, an Oracle VM VirtualBox VM was installed on a test bench running Windows 7 x64, on which it was deployed Windows image 7 x64 with test application package. In the following materials we will try how other host OS and virtualization software work.

The virtual machine itself is configured as follows: support for Nested Paging, VT-x, PAE/NX, 3D and 2D acceleration is enabled. For the needs of the VM, 24 GB of RAM and 256 MB of video memory are allocated.

Comparison with Intel Core 7-4770k

For comparative assessment overall performance of the test platform based on Intel Xeon E3-1245 v3, the tables also contain processor results Intel Core i7-4770K from . This allows you to roughly compare the performance level of one of the top consumer PC processors with a Xeon server processor, plus provides many other interesting comparison opportunities based on the differences in configurations. However, here you need to take into account that the parameters of the two systems are slightly different, and this affects the results. Let's tabulate the characteristics of the stands.

Intel Xeon E3-1245 v3Intel Core i7-4770K
Number of cores/threads, pcs.4/8 4/8
Base/Boost frequency, MHz3,4/3,8 3,5/3,9
L3 cache size, MB8 8
Used RAM in the test bench4 × Kingston KVR16LE11/84 × Corsair Dominator Platinum CMD16GX3M4A2666C10
Number of channels, pcs.2 2
Operating frequency, MHz1600 1333
Timings11-11-11-28 9-9-9-24
ECCYesNo
Module volume, GB8 4
Total volume, GB32 16
Graphics cardIntel P4600Palit GeForce GTX 570 1280 MB

The Core i7-4770k has an operating clock 100 MHz higher, which may give it some advantage. The situation with RAM is complicated: on the one hand, the Core i7-4770k has half the volume and a lower operating frequency, 1333 MHz versus 1600; on the other hand, the Xeon platform has higher memory timings and also uses ECC error correction.

Finally, in Core system i7-4770k external video card Palit GeForce GTX 570 1280 MB installed. IN test method As of 2011, only a few applications can utilize the resources of the graphics card, and in these applications you should expect a significant advantage from the Core i7-4770k system. Besides, external card does not compete with the processor for access to RAM, as does the integrated Intel P4600, which should also give the Core i7-4770k a certain advantage. On the other hand, the P4600 drivers should contain certain optimizations to improve the performance of professional applications. However, they probably also require optimization of the software itself, so in our testing (let me remind you, we are using application versions from 2011), these optimizations most likely will not work. But in life you will have to check each case separately, because software optimization is a very delicate process.

Configurations involved in testing

On a real system, the test package was launched in two configurations: with Intel Hyperthreading technology (hereinafter referred to as HT) disabled and enabled. This allows you to evaluate its impact on the performance of both real and virtual systems - and at the same time understand where you can use the younger Intel Xeon model of this generation, which does not have NT. The virtual machine was launched in two configurations: for 4 computing cores and for 8. As a result, we get the following configurations:

  1. Real system without HT (denoted hw wo/HT)
  2. Real system with HT (denoted hw w/HT)
  3. Virtual machine with 4 cores on a 4-core processor without HT (denoted vm 4 core wo/HT)
  4. Virtual machine with 4 cores on a 4-core processor with HT (denoted vm 4 core w/HT)
  5. Virtual machine with 8 cores on a 4-core processor with NT (denoted VM 8 core)

For convenience, let's put everything in a table.

Calculating the costs of virtualization

It is important to note that the costs of virtualization are not measured relative to the overall level, but rather in comparison of similar hardware and virtual configurations.

The amount of virtualization overhead for an 8-core VM will be calculated relative to the Intel Xeon E3-1245 v3 with HT technology enabled (Real w/HT), and for a 4-core VM - relative to the Intel Xeon E3-1245 v3 without HT (Real wo/HT). The costs of the experimental configuration of a 4-core VM on an 8-thread processor will be calculated relative to the Intel Xeon E3-1245 v3 without HT.

Also, as part of the testing, a performance rating will be introduced, where the performance of Intel Xeon E3-1245 v3 is taken as 100 points without HT.

Acceptable loss level

The most interesting question is what level of productivity loss should be considered acceptable? In theory, a level of 10-15 percent seems quite acceptable to us, given the advantages that virtualization gives to an enterprise. Especially considering that the average level of equipment utilization increases and downtime is reduced.

At the first stage, we decided to see how much performance would drop when switching to a virtual system in a synthetic test. To do this, we took the relatively simple Cinebench R15 benchmark, which, however, does a good job of determining the level of performance central processor in calculations related to three-dimensional modeling.

Real w/HTVM 8 coreRealwo/HTVM 4 core
Single Core151 132 (−13%) 151 137 (−9%)
Many Core736 668 (−9%) 557 525 (−6%)

The 4-thread configuration has lower performance, but it also has lower percentage losses - both in a single-threaded load and in a multi-threaded one. As for VM performance, despite the large losses, the 8-core configuration is still faster than the 4-core one. It can also be assumed that since the graphics adapter is emulated by the Oracle driver, the presence of any load on the graphics subsystem should significantly increase the costs for virtual systems, since it creates additional load on the processor.

Well, in general, for now we will focus on these figures - about 10% performance loss for an 8-thread configuration and about 6% for a 4-thread configuration.

Performance Research

Interactive work in 3D packages

When working interactively, some CAD applications make heavy use of the graphics card, which will seriously affect both the results and the performance difference between the real and virtual system.

CAD CreoElements

In interactive mode in CAD CreoElements, virtualization losses amount to an impressive 64%, for all configurations. Most likely, due to the fact that in a real system the resources of the video card are used, while in a virtual system the load falls on the central processor through the Oracle drivers.

It is interesting to note that the i7-4770K shows lower performance than the Xeon, even despite the use of a fairly powerful discrete graphics card. ( S.I. - Intel's promised driver optimizations in the P4600/P4700 series of professional accelerators?)

CAD CreoelementsReal w/HThw 4/8 vm 8
Gain from NT−4% −5%

HT technology negatively affects the performance of both the real system and the VM - 4% and 5% losses, respectively.

CAD SolidWorks

In SolidWorks, the picture as a whole does not change - costs go beyond all reasonable limits, showing more than 80% loss in productivity. True, in the asymmetric configuration (CPU: 4 cores, 8 threads; VM: 4 cores) the costs are noticeably lower than in the other two configurations. This may be due to the operation of background processes in the host OS: i.e., activating HT doubles the number of possible threads to 8, where 4 are allocated to the VM and 4 remain at the disposal of the host OS.

The desktop 4770K is significantly faster than the Xeon (most likely due to the fact that Solidworks is able to use the resources of the graphics card in this scenario - S. K.). In general, the huge costs are due to the fact that SolidWorks is demanding on the graphics subsystem, and, as mentioned above, a virtual graphics card only loads the processor more.

CAD SolidWorksReal w/HThw 4/8 vm 8
Gain from NT−1% −9%

Activating NT leads to a decrease in performance - for a physical server this is 1%, and for a VM - 9%. Which, in general, confirms the hypothesis about background processes - since the 8-core VM “captures” all 8 CPU threads, the host OS and the VM begin to compete for resources.

Total for the group

Virtualization costs in this group of applications are quite significant (more than 60%), and in both packages studied. At the same time, CAD CreoElements has lower costs than SolidWorks, but the latter can also use the resources of a graphics card, i.e., on a real system it can receive additional bonuses. HT technology does not bring benefits on a physical server, and on a VM it completely reduces performance in both packages. In general, very high performance losses do not allow us to recommend virtual systems for working with 3D modeling packages. However, it’s still worth looking at the final rendering.

Final rendering of 3D scenes

The speed of the final rendering of 3D scenes depends on the performance of the central processor, so here the picture should be more objective.

The first thing you should pay attention to: when final rendering 3Ds Max shows significantly lower virtualization costs than when working interactively in CAD - 14% for a 4-core VM and 26% for an 8-core VM. However, the cost level is significantly higher installed strips 6 and 10 percent.

In general, despite the rather high costs, an 8-core VM has a comparable level of performance to 4-core 4-threads Intel processors, which is quite good.

3Ds MaxReal w/HThw 4/8 vm 8
Gain from NT26% 9%

Activating HT on real hardware allows you to reduce rendering time by 26% - a very decent result! As for NT on a VM, everything is more modest here - only 9% growth. Nevertheless, there is an increase, and a noticeable one.

Lightwave

Lightwave shows excellent results: virtualization costs are at the level of 3% for a 4-core VM and 6% for an 8-core VM. As you can see, even in the same group, applications designed, in principle, for the same task, behave differently: for example, 3Ds Max shows significantly higher costs than Lightwave.

The desktop 4770K shows better performance than the Xeon E3-1245v3. It is worth noting that an 8-core VM is almost as good as a 4-core, 4-thread physical server. (It seems that Lightwave is poorly optimized, therefore it responds less to any configuration changes. The decrease in performance during virtualization, the appearance of additional resources when NT is activated... it reacts less to everything than 3DsMax - S. K.).

LightwaveReal w/HThw 4/8 vm 8
Gain from NT5% 9%

But activating HT gives only a 5% increase in speed for real hardware and, strangely, 9% for a VM.

Bottom line

For the final rendering of 3D scenes, using only the resources of the central processor, the virtualization costs are quite acceptable, especially for Lightwave, where the performance loss can be described as insignificant. Activating HT in both 3Ds Max and Lightwave improved performance on both the physical and virtual systems.

Packing and Unpacking

The combination of processor and memory plays a key role in the performance of archivers. It is also worth noting that different archivers are optimized differently, i.e. they can use processor resources differently.

7zip pack

Data compression overhead is 12% for any system.

Xeon E3-1245v3 and i7-4770K show identical results - with slightly different frequencies and different memory. Thanks to the high gain from NT activation, a virtual system with 8 cores outperforms a real one with four.

7zip packReal w/HThw 4/8 vm 8
Gain from NT25% 25%

However, the increase in compression speed from activating HT was set at 25% for both real hardware and VMs.

7zip unpack

Due to the small size of the test archive, the results of the VM and the real server are at the same level within the margin of error, so it is not possible to really estimate the costs

I wonder if 22% can be considered as some kind of “pure” VM losses?

7zip unpackReal w/HThw 4/8 vm 8
Gain from NT0% 0%

This also applies to assessing the effect of activating NT - after all, the volume of the test task from the 2011 sample is too small for a modern 4-core processor.

RAR pack

For RAR, the costs are noticeably higher, and they also increase for an 8-core VM. In general, 25% is still too much. But RAR has rather poor optimization, including for multithreading.

Activating HT leads to slowdown, but given the mediocre implementation of multithreading in WinRAR 4.0 this is not surprising.

RAR packReal w/HThw 4/8 vm 8
Gain from NT−2% −11%

Due to significant losses from HT activation, an 8-core VM turns out to be even slower than a 4-core one.

RAR unpack

Since the test archive of the Method for a modern processor is small, the execution time of the task is too short to talk about any accuracy. However, it is certain that the costs are relatively high.

As you can see, the difference in percentage is impressive, but in reality it is only a few seconds.

RAR unpackReal w/HThw 4/8 vm 8
Gain from NT0% −5%

We can also say for sure that WinRAR does not digest HT well.

Bottom line

Performance and costs in this group very much depend on the archiver, on its optimization and ability to efficiently use available processor resources. Therefore, it is difficult to give recommendations regarding use in a VM - it largely depends on the application, and not on the type of tasks. However, 7zip demonstrates that packaging overhead can be relatively low, and it is quite possible to use this archiver in virtual machines.

Audio encoding

This group combines several audio codecs that work through the dBpoweramp shell. The speed of audio encoding depends on the performance of the processor and the number of cores. This test also scales very well to more cores, since multi-threading in the application is implemented by parallel launch encoding multiple files. Since encoding using different codecs creates almost the same load on the system and, accordingly, shows similar results, we decided to combine all the results into one common table.

So, the total costs of virtualization.

Audio encoding is ideal in terms of virtualization overhead. For a 4-core VM the average cost was only 4%, and for an 8-core VM it was 6%.

Realwo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Appleresults295 283 281 386 362 386
ApplePerformance Rating100 96 95 131 123 131
FLACresults404 387 383 543 508 551
FLACPerformance Rating100 96 95 134 126 136
Monkey Audioresults299 288 282 369 348 373
Monkey AudioPerformance Rating100 96 94 123 116 125
MP3results185 178 175 243 230 249
MP3Performance Rating100 96 95 131 124 135
Nero AACresults170 163 161 229 212 234
Nero AACPerformance Rating100 96 95 135 125 138
OGG Vorbisresults128 124 123 167 159 171
Nero AACPerformance Rating100 97 96 130 124 134

As you can see, although the actual results for different codecs differ, if we take the percentages, they are surprisingly similar. The Core i7-4770k is often a little faster (apparently the higher frequency plays a role). It is also interesting to note that the results of the 4-core VM test on a system with activated HT are always slightly lower than without it. This is probably a consequence of the work of NT. But in general, a 3-5% difference in performance between a real and virtual system is a very good indicator.

Let's look separately at what activation of NT adds.

Audio encodingReal w/HThw 4/8 vm 8
Apple31% 28%
FLAC34% 31%
Monkey Audio23% 21%
MP331% 29%
Nero AAC35% 30%
OGG Vorbis30% 28%

Activating HT technology allows you to increase speed by 31% on a real server and by 28% on a virtual one. Also one of the best results. Finally, a summary table of the results.

Compilation

Compilation speed also depends not only on the frequency and performance of the kernel, but also on their number.

The performance of the server Xeon is comparable to the desktop i7. An 8-core VM is not up to par with a physical system with HT disabled.

GCCReal w/HThw 4/8 vm 8
Gain from NT24% 7%

A noticeable increase in performance occurs when NT is activated on a physical server - 24%, but on a VM, an increase in the number of cores allows performance to increase by only 7%. Although this is also not bad.

The Intel compiler shows a slightly larger performance drop during virtualization than GCC - 19% and 33% for a 4-core and 8-core VM, respectively.

Xeon performance is comparable to i7, and 8-core VM performance is comparable to Xeon wo/HT. And at the same time you can see what an impressive increase the activation of NT gives. After all, it is an Intel product, so there is nothing strange in the fact that they tried to unify it under NT. In numbers it looks like this:

You can also estimate the difference in the time it took to complete the task. This is also quite clear.

MSVCReal w/HThw 4/8 vm 8
Gain from NT29% −26%

As for NT, its activation on a real system allows you to increase the speed by as much as 29%, while in a virtual system there is approximately the same decrease in performance. It is also worth noting that an asymmetric VM configuration with 4 cores on an 8-thread processor shows lower costs than a symmetric one, but an impressive increase in costs is visible on an 8-core VM.

In general, this compiler on a VM runs at too high a performance penalty.

Total

GCC demonstrates an acceptable level of costs, ICC - more, but you can still put up with them. The Microsoft compiler runs very slowly on virtual systems. But all participants in this group demonstrate a good performance increase when NT is activated - except for MSVC in a virtual system.

Mathematical and engineering calculations

With the exception of MATLAB, this group of tests does not have multi-threaded optimizations as such.

Mathematical and engineering calculations in Maple show a completely acceptable level of costs - 11%.

An 8-core VM is slightly slower than a 4-core VM. But in general, the results of virtual systems are not bad.

Unlike the previous scenario, the 8-core VM noticeably lags behind the 4-core options. By the way, 4770k is slower here than Xeon. Well, it’s clear that everything is not very good with the activation of NT.

Moreover, all VM variants show similar performance, although the 8-core version is slightly behind.

The solid performance of the Core i7-4770k is due to the presence of an external graphics card.

SolidWorks (CPU)Real w/HThw 4/8 vm 8
Gain from NT0% −5%

On a physical server, SolidWorks does not react in any way to NT activation, but on a VM there is a reaction, but a negative one - a 5% decrease in performance.

Total

The level of costs in this group depends on the application used: the minimum for Maple, the maximum for CreoElements. In general, mathematical calculations can be recommended for virtualization with reservations.

Raster graphics

By virtue of poor optimization or for other reasons, but ACDSee's performance losses in virtual systems are enormous.

With such a difference in the execution time of test scripts, we cannot recommend this application for use on a virtual machine.

Looking at the unrealistic execution time numbers also makes me sad.

Well, here are the results of enabling Hyperthreading:

The results of virtual systems are not bad, but you should not use an 8-core configuration. What’s interesting is that the 4770K and the HT system are slightly behind the reference system, i.e. activating the HT worsens the situation.

It is more or less possible to work in a virtual system if it has 4 cores.

PhotoshopReal w/HThw 4/8 vm 8
Gain from NT1% −16%

Activating NT practically does not bring dividends on a real system, and the performance of the VM worsens by as much as 16%.

Total

It is worth mentioning that in most applications we are talking about batch processing of files. Since the processing time for one file is relatively small, a significant part of the time is spent on read/write operations, which in the case of a virtual system create additional load on the processor and lead to additional time wasted (A virtual hard disk is an image stored on a physical hard disk - and this is another intermediary directly between the application and the hardware).

As for the conclusions, almost all applications for working with raster graphics react poorly to NT activation in virtual machines, and its activation on a real system goes unnoticed. Performance on a 4-core VM depends on the application: two of the four applications have relatively low activation costs, and these applications can be used in the VM. But you shouldn’t set 8 cores in the settings - instead of increasing performance, you will get a significant deterioration in performance. In general, you will have to try image processing programs to individually evaluate performance and its drop in the VM. Level of costs when switching to virtual platform For the tested applications it seems to us a bit high.

Vector graphics

This group is single-threaded, so performance will depend only on the performance of a single core.

Illustrator

Approximately the same situation as in the previous group - more or less acceptable costs for 4-core VMs and large performance losses for 8-core VMs,

The E3-1245v3's performance is comparable to the 4770K - although the latter is slightly faster at the expense of 100 extra megahertz. As for the overall picture... A drop in percentage does not look particularly terrible, but in reality it can result in noticeable additional loss of time.

IllustratorReal w/HThw 4/8 vm 8
Gain from NT0% −12%

And the same situation with NT - no increase from activation on a real system, a noticeable drop in performance on a virtual one. However, we have already described the reason above.

Video encoding

It should be taken into account that the first three participants are full-fledged graphics packages, i.e. we are talking about interactive work and the subsequent creation of a video. While the rest of the participants are just coders.

Expression

With video encoding in Expression, things are not very good - even on 4-core systems the performance loss is about 20%, and on an 8-core system it is almost a third.

As you can see, powerful processors with NT enabled lag behind the version without it.

Well, let's see what NT gives.

Interestingly, in this package the Core i7-4770k shows noticeably better performance than on our test system.

Vegas Pro Real w/HThw 4/8 vm 8
Gain from NT0% −16%

Activating NT does not bring any dividends on a real system, but on a virtual one it shows a 16% decrease in performance.

In general, Vegas Pro seems to be significantly less optimized for working with modern processors and uses their resources inefficiently. Therefore, Premiere looks much nicer in terms of prospects for working in a virtual environment.

Well, now let's see how pure video encoders behave.

So, x264 demonstrates generally tolerable costs, and, for once, an 8-core VM is more efficient than a 4-core one.

The performance of the 8-core VM is only 9% lower than the Xeon wo/HT.

The numbers, as they say, speak for themselves.

xvidReal w/HThw 4/8 vm 8
Gain from NT−4% −34%

Alas, activation of NT only brings harm. And if on a physical server the losses are insignificant - 4%, then on a VM they reach 34%. That is, both Xvid and the VM operate inefficiently with logical cores.

Total

So, for video editors, the level of performance loss depends primarily on the editor itself, so suitability for working in a VM should be assessed individually. In our tests (and for the product versions we use), Premiere performed significantly better.

As for the encoders, although there is a difference between them, they all show pretty good results in 4-core VMs. As for using 8-core virtual machines, you can get both an increase and a serious drop in performance. Another question is that when deciding to start video transcoding on a virtual machine, you must always remember that modern processors and graphics have a wide range of optimizations for this class of tasks (as well as software), and in the Oracle Virtual Box VM the work will be carried out in program mode, i.e., both slower and with a higher processor load.

Office software

Chrome did not behave quite adequately in the test, so you should treat the results with a great deal of skepticism.

And the results from NT activation.

ChromeReal w/HThw 4/8 vm 8
Gain from NT68% −8%

This subtest should not be taken seriously in the group due to these circumstances.

MS Excel shows overhead at 15% and 21% for 4-core and 8-core VMs. In principle, the level of costs can be called high. Although in practice the user is unlikely to notice a slowdown, except in some very complex calculations. An 8-core system traditionally has higher costs.

The test task for Excel takes a lot of time, which allows you to clearly demonstrate the difference in the time it takes to complete it. As you can see, the virtual system will run it 2 minutes longer.

And separately the costs from NT:

Due to the high efficiency of HT, the 8-core VM manages to outperform a physical server based on Xeon wo/HT. Interestingly, 4770K shows a noticeably higher result. View the table with the results

VM 4 core w/HTReal w/HTVM 8 core4770K results0:44 0:49 0:49 0:44 0:51 0:43 Performance Rating100 90 90 100 86 102

Due to the short execution time of the test package, and therefore the high error, it is difficult to judge the effectiveness of NT.

Activating HT results in a 14% decrease in performance on the VM.

Total

The most important thing to keep in mind is that in most cases the performance of modern systems will be sufficient for all office tasks, most likely even with a reserve. And since the level of performance is sufficient, the user will not be interested in what the costs are.

Java

This test package is interesting because Java is essentially a virtual machine, and therefore running Java on Oracle VM VirtualBox means running a virtual machine on a virtual machine, which implies double abstraction from the hardware. That is why we should expect adequate costs - all the main performance losses occurred at the level of porting program code to Java.

The overhead for an 8-core VM was set at 8%, and for a 4-core VM at 5%.

Due to the high efficiency of HT and low costs, the 8-core VM shows 6% higher performance than Xeon wo/HT. The increase from NT on real hardware was 16%, and on VM - 12%.

JavaReal w/HThw 4/8 vm 8
Gain from NT15% 12%

Looking at the results of Java, we can assume that the virtualization of various frameworks and programs written in programming languages ​​with translation into their bytecode will not have high costs, since all the main costs are “built into” them. That is, the widespread use of pseudocode programming languages ​​is not such a bad thing, especially for virtual machines.

Playing video

This section should be considered simply as an illustration - since real systems use DXVA, i.e. hardware acceleration - accordingly, the load on the processor is minimal. Unlike the situation with a VM, where all calculations are performed programmatically. It is also not included in the final score.

Let me remind you that the value of the tables here is the processor load level. Why it is more than 100% can be read in the methodology.

MPCHC (DXVA)

This is a good illustration of the effectiveness of hardware acceleration, and it's obvious when playing video. But it is worth remembering that modern systems Approximately the same results can be achieved using other optimizations - the same Qsync for working with video, CUDA for graphic calculations, etc.

MPCHC (software)

But in software mode the difference between a physical server and a virtual one is small - 4%. In fact, the performance overhead is negligible.

VLC (DXVA)

Interestingly, in VLC the processor load for the VM is significantly lower than in MPC HC.

VLC (software)

In soft mode, there is again practically no difference between real hardware and a VM. Activating DXVA on a virtual system only results in extra work for the processor.

Multitasking environment

Overhead in a multitasking environment was 32% and 25% for the 8-core and 4-core VMs, respectively. The 4-core VM failed very badly, with costs as high as 67%. Why this happens is difficult to say (let me remind you, we are talking about a stable result over several runs).

And what happens when NT is activated

MultitaskingReal w/HThw 4/8 vm 8
Gain from NT14% 3%

NT technology in a multitasking environment bears fruit for a real system - 14% increase, but for VM everything is much worse - 3%.

Multitasking testing is a rather delicate process that is influenced by many factors. Therefore, it is difficult to draw clear conclusions with 100% certainty. For example, how can one explain the huge drop in performance of a quad-core VM when HT is activated? Any specific features of the interaction between the host OS and the VM? Or do the applications used in the test suffer greatly in performance (and we saw examples above) and collectively give the same result? By the way, if the last statement is true, then this clearly shows that the total costs of using VMs can be very high.

Finally, pay attention to the performance of the Core i7-4770k, which in this test was very far behind our test bench, although it did not allow any failures in certain tasks. What's the matter? Probably the reason for the drop in performance is a swap due to a lack of RAM, which only appears when running several “heavy” applications at the same time. However, we will not exclude other reasons.

Average score

This, of course, is the average temperature in the hospital, but still...

The arithmetic average of virtualization costs for all tests was 17% and 24% for a 4-core and 8-core VM, respectively.

The increase from NT was 12% for the physical server and 0% for the VM.

And on this positive note, let's move on to conclusions.

conclusions

In my opinion (S.K.), it’s not worth analyzing performance and productivity losses for individual groups or applications: in the software world everything is too changeable. But certain trends can be noted.

Conclusion one: Hyperthreading does not always help even on a real system - sometimes its activation leads to a slight decrease in performance. With virtual systems the situation is even more complicated: an 8-core VM is often inferior in performance to a 4-core one. That is, you can use the “4 cores + HT on a real processor” combination and an 8-core VM only for those tasks where you know for sure that the result of such a solution will be a plus and not a minus. However, here you need to remember that NT’s task was precisely to improve performance in a multitasking environment and (like the VM) to stabilize the load on the processor. Therefore, the system as a whole should always benefit from NT activation - especially the server system.

Conclusion two: the costs of switching to a virtual machine depend not on the type of tasks, but on the specific application. Moreover, the effectiveness of using a particular application in a virtual machine (VM) is apparently determined by the extent to which its algorithms “fit” the characteristics of the VM. For example, we cannot accurately determine whether the large performance drop when working with images in a VM is a consequence of the fact that this class of tasks is poorly “virtualized” in general, or a consequence of the fact that existing applications simply use outdated algorithms that are not optimized because On modern fast processors everything works well.

Moreover, I have serious suspicions that this thesis can be applied to all applications where costs are high - these applications are simply poorly optimized. That is, they use the resources of real systems inefficiently; it’s just that the high level of performance of modern processors allows you not to bother yourself with this. This thesis can be attributed to professional applications for working with 3D graphics, scientific calculations and some other individual applications.

In some groups, virtualization brings relatively small costs - the first thing that catches your eye is audio and video encoding. As a rule, we are talking about a simple and stable load related specifically to calculations. This brings us to our next conclusion.

Conclusion three: Now the main problems for virtual machines begin when the real system can use hardware optimizations. A real system has many different technologies optimizations: DXVA, OpenCL, QSync and others - which allow you to remove the load from the central processor and speed up task execution. The Virtual Box virtual system does not have such capabilities. However, the VT-d instruction set allows you to forward PCI devices into a virtual environment. For example, I (S.K.) saw a professional HP solution with Nvidia Grid 2 video adapters, the computing resources of which can be virtualized. In general, the situation depends on the virtual machine itself, devices, drivers, systems, etc. Therefore, we will definitely return to this issue.

Finally, a few words are worth saying about this thing (although we will save the main conclusions until the end of all testing). Is it worth calculating the percentage of performance loss and, based on it, deciding which tasks are subject to virtualization and which are not? For example, is a 20% drop in operating speed a lot or a little?

S.K. In my opinion, it’s not worth asking the question this way and here’s why. Deciding whether or not to use virtual systems lies in the area of ​​business organization, and not in the area of ​​technical aspects. And the benefits from a business perspective can outweigh even a 50% drop in productivity. But even if you look at individual and seemingly resource-intensive tasks, everything is not so obvious. For example, transcoding a video or calculating a three-dimensional model takes 30 minutes, and on a virtual one it takes 50. It would seem that the conclusion is obvious - using a real system is optimal! However, if the scene is considered on the user's workstation, then he cannot work during this time. And if you can dump it on the server and work on the next one (and its preparation will take more than 50 minutes, guaranteed), then overall the efficiency of work will increase. And if several scenes are also being processed on the server - even if in a row and slowly - then from a business point of view (and with proper distribution of tasks) the gain is obvious.

S. I. On the other hand, very often a server is selected for a certain level of performance in general or in certain applications, and at the same time under conditions of a very limited budget. That is, it won’t be possible to take a more powerful and more expensive option “in reserve.” Under these conditions, switching to virtual systems (and choosing high-cost software) can result in the server simply not being able to cope with high loads and the tasks assigned to it.

This concludes this study of virtual system performance with Windows OS and Oracle VM VirtualBox. In the next article we will look at how much it will change Windows performance 7 in the VM if Linux is the host OS.

Today there is a small selection of visualization platforms; in general, it is limited to two options - VMware Workstation And Oracle VirtualBox. As for alternative solutions, they are either significantly inferior in functionality, or their release has been discontinued.

VMware Workstation– a closed-source platform, distributed on a paid basis. Only its incomplete version is open source - VMware Player. At the same time, its analogue – VirtualBox – is open source software (in particular, the OSE version is open source).

Friendly interface.
Ease of use of the network interaction editor.

VM disks that can grow in volume as data accumulates. Snapshots.

Work with a variety of guest operating systems, including the ability to run Windows and Linux as guests.

Work with 64 guest platforms.
Ability to play audio from a VM on host hardware
Both VM variants support multiprocessor configurations.

Ability to copy files between the host operating system and the VM Ability to access the VM console via an RDP server.

Moving an application from a virtual machine to work area main system - it seems that it works in the latter.

The ability to exchange data between the guest and host systems, while the data is stored in the clipboard, etc.

Supports 3D graphics for games and other applications Improved drivers in the guest OS, etc.

Benefits of VirtualBox

This platform is distributed free of charge, while VMware Workstation will cost more than $200.

Support more operating systems - this VM runs on Windows, Linux, MacOs X and Solaris, while VMware Workstation supports only the first two from the list.

The presence in VB of a special “teleportation” technology, thanks to which a running VM can be moved to another host without first stopping its operation. The analogue does not have such an opportunity.

Supports a large number of disk image formats - in addition to the native .vdi, the platform works with .vdmk and .vhd. The analogue works only with one of them - .vdmk (the issue of working with images that have a different extension is solved using a separate converter that imports them).

More options when working from the command line - you can manage the virtual machine, snapshots, devices, etc. This VM has better audio support for Linux systems– while in VMware Workstation the sound is muted on the host system, in VB it can be played while the machine is running.

CPU and I/O resource consumption can be limited; the competing VM does not provide this capability.

Adjustable video memory.

Benefits of VMware Workstation

Since this VM is distributed on a paid basis, the user is always provided with support.

More advanced support for 3D graphics, the level of stability of 3D acceleration is higher than that of its competitor VB.

The ability to create snapshots at certain intervals increases the reliability of working with the VM (similar to the autosave function in MS Word).

The volume of virtual disks can be compressed in order to free up free space for the operation of other systems.

More possibilities when working with a virtual network.
Linked clones feature for VMs.
Ability to record VM operation in video format.
Integration with development and testing environments, special features for programmers 256-bit encryption to protect VMs

VMware Workstation has a number of useful features. For example, you can pause the VM, shortcuts to programs are also created in the Start menu, etc.

For those who are faced with a choice between two virtual machines, we can give the following advice: if you do not have a clear idea of ​​what exactly VMware Workstation is needed for, you can confidently choose the free VirtualBox.

Those who develop or test software are better off choosing VMware Workstation - it offers many convenient options that make everyday work easier that the competing platform does not have.