Winter 2010 Presentations/VMs+Emulation

From CDOT Wiki
Revision as of 18:37, 20 April 2010 by Dgilloch (talk | contribs) (Discovery)
Jump to: navigation, search

Comments are on the Talk/Discussion page.

Title

Virtual Machines By: Daniel Gilloch (dgilloch@learn.senecac.on.ca)

Introduction

The goal was to attempt to install a hypervisor, a piece of emulation software that's used to run guest operating systems, on an already existing hongkong machine for our koji build farm and determine whether or not this would be a viable developement solution. Some issues taken into consideration:

  • Cost
  • Setup
  • Performance

Approach

Determining and comparing the cost of buying arm machines, vs utilizing already existing hardware.
Determining the process of setting up virtual machines and the setup of an arm machine.
A Performance benchmark using koji build as this is a real world example of the exact type of developement that will be done on the machines. Also taken into consideration is if other environmental effects on the machine could interfer with build times.

Process

Cost

OpenRD-Base: 149.00
OpenRD-Client: 249.00
SheevaPlug: 99.00
Q6600 Existing Machine: apprx, $700 CAD

Installation

Arm Emulation

The hypervisor that was chosen was QEMU because it supported the ARM architecture and was already available for Fedora. Although QEMU can be run directly from the command line, there are advantages to using the libvirt management layer provided by Fedora, such as automatic start of virtual machines when the system boots, the ability to disconnect and later reconnect to a virtual machine, and a graphical mangement and monitoring tool, libvirt. After installing QEMU, and libvirt the ARM root file system and an xml file that contains instructions on how to install the fedora arm operating system. There was an issue involving SELinux, in order to solve this we had to HonkKong to permissive mode. After this point The virtual machine was able to boot.





Performance
In order to benchmark the virtual machines and the openrd client the most ideal situation was to run time along with building in koji as this is the intended purpose of the machines and virtual machines. I selected a package and built it multiple times on both the virtual machine and the openrd client to ensure consistancy. The Openrd client's results were very consistant at a build time of about 17 minutes, however the virtual machine's build times were sparatic. They ranged from 25 minutes to an hour depending on the work being done.

Discovery

The ARM virtual machines are not a viable solution for our Fedora-Arm Koji Farm. The additional compilation times from the virtual machines can amount to ten times slower than that of the OpenRD client, which can really come into affect when compiling large packages which is not acceptable. The OpenRD clients were inexpensive and almost three OpenRD clients can be purchased at the cost of one of the existing machines. Another solution would be a SheevaPlug, which is generally cheaper than the OpenRD client. The SheevaPlug hardware is identical to the OpenRD, so similar performance should be expected. The SheevaPlug, however has less ports such as video or sata.

Results