Homework: VMM Benchmarking

Create a VM and install a Linux guest operating system on it. You have to measure the performance of your VM on the following benchmarks.

We will provide you with two physical machines with Ubuntu Linux installed on them and connected through Gigabit ethernet. You should use these machines for benchmarking. Because these machines have to be shared among many students, we will assign time-slots to each student to perform his/her benchmarking experiments. You must fully test your code on your local machines before running them on the test infrastructure, to avoid wasting time.

You should present a bar chart of this type: sample graph. You should report performance relative to that on the native host. For each experiment, perform 10 trials and plot the minimum time among those 10 trials. Report performance for VMware and KVM. Choose different virtual devices and benchmark again. For example, use e1000, ne2000, etc. on KVM for network card. Similarly try different network devices on VMware. Similarly, use different storage adapters (IDE, SCSI) and different virtual disk formats (raw, qcow2, etc.) and report performance for each. For VMware, test performance using the two different virtualization modes, namely binary-translation (software-only) and hardware-assisted. Note that only 32-bit guests work with binary translation.

We highly recommend that you use Makefiles and automated scripts to automate your result generation. This will make it very easy for you to obtain results for other variants, once have written scripts to obtain results for one variant. We provide you with some sample scripts and Makefile here: Use qemu-img (available with Qemu distribution) to convert disk image between formats raw, qcow2, vmdk, etc. Also, experiment with different network configurations (e.g., tunnelled, NAT, bridged, etc.).

Clarifications

  1. Issue with forkbomb
  2. DVFS and rdtsc
  3. QEMU Network configuration for Apache/memcached
  4. SCSI Disks

Submission Instructions

Neatly present your findings (performance data) using appropriate graphs and tables in a report. Also include brief explanations on why you think the performance for different variants is the way it is. Email your report to Aashish (your TA). You can find Ashish's contact on the Administrivia page.

Submitted Reports