About
At the end of my third year, I want to be able to demonstrate a speedup of a guest OS running under a hypervisor by using runtime optimisation(s):
- I'm using an existing OS hypervisor, developed in the School and which runs on BeagleBoard development boards
- The guest OS is GNU/Linux
Background
The hypervisor I'll be working on is part of another student's PhD project - Danielius Kudinskas. His hypothesis is that a guest OS running under a hypervisor which does dynamic optimisations could be faster than the same OS running directly on the hardware. At the moment the hypervisor doesn't do any optimisations and furthermore, it isn't possible to run a full GNU/Linux distribution because there's no access to persistent storage.
My project will enable access to SD card storage and will create a system for applying dynamic optimisations. My target is to demonstrate at least a succesful dynamic optimisation strategy for the virtualized OS, but I don't expect to get overall speeds comparable to the OS running directly on hardware. However, the code and results will be used as a part of Dan's project.
Improving the overall speed of an ARM system even by a few percent would be desirable in at least two cases:
- Mobile systems - if a system can execute a task in less time, it means it can stay in power-saving mode for longer - saving battery life
- Server farms - recently, ARM systems are entering the server market. Faster servers means you can use fewer of them - and less servers translates to lower hardware and energy costs