Making the virtual machine run faster
How good is our virtual machine and how can we make it run faster. Let's find out. Here is what we have.
Hardware
MacBook Intel Core 2 Duo. 2.0 GHz with 2Gb of memory.
Host software
Mac OS X 10.4.10 and the virtual machine VMware Fusion RC1 (build 50460) with the lastest VMware tools installed.
Virtual machine software
Ubuntu Linux 7.04 (i386 32 bit)
Virtual machine setup
512/1024 Mb of memory. One or two virtual CPU(s).
How to speed up execution
- Paravirtualization
- Adding more memory
- Using two CPUs
- Using a 64 bit OS and 64 bit computer (Intel Core 2 Duo)
Paravirtualization
A hypervisor provides the virtualization abstraction of the underlying computer system. In full virtualization, a guest operating system runs unmodified on a hypervisor. However, improved performance and efficiency is achieved by having the guest operating system communicate with the hypervisor. By allowing the guest operating system to indicate its intent to the hypervisor, each can cooperate to obtain better performance when running in a virtual machine. This type of communication is referred to as paravirtualization.
Enabling paravirtualization
Add the following line vmi.present = TRUE to the file .vmx found inside the vmware bundle for the virtual machine.

Applications
We will use the following Xilinx FPGA tools in our benchmark.
The netlist generation tool runs the Xilinx tool XST to synthesis a complete FPGA design. The bitstream generation tool does the place and route of the whole design and generates the bitstream to configure the FPGA. Both tools are very compute intensive, using more than 90% of the processor time.
Execution times [s]
Options / Task
| Netlist Generation
| Bitstream Generation
|
Paravirtualization : off Memory : 512 Mb
| 582 | 260 |
Paravirtualization : on Memory : 512 Mb
| 556 | 245 |
Paravirtualization : on Memory : 1024 Mb
| 540 | 235 |
Paravirtualization : on Memory : 1024 Mb CPU : 2
| 531 | 231 |
Execution times are mesured with an external clock. Mean values from five runs.
Adding more memory
I have bought two modules with 1Gb each and installed them in my MacBook. I have given 1Gb of memory to the VMware virtual machine. Will it make a difference. We will see.
Using Ubuntu Linux 64 bit version
Will it be possible to use a 64 bit Linux OS. Let's find out. Here are the memory requirements specified by Xilinx. It seems like they support 64 bit RedHat Linux.
Using two virtual processors

