Optimizing Boot Times and Enhancing Binary Compatibility for Unikernels
dc.contributor.author | Chiba, Daniel Juzer | en |
dc.contributor.committeechair | Ravindran, Binoy | en |
dc.contributor.committeemember | Min, Chang Woo | en |
dc.contributor.committeemember | Broadwater, Robert P. | en |
dc.contributor.department | Electrical and Computer Engineering | en |
dc.date.accessioned | 2019-04-09T06:00:27Z | en |
dc.date.available | 2019-04-09T06:00:27Z | en |
dc.date.issued | 2018-06-25 | en |
dc.description.abstract | Unikernels are lightweight, single-purpose virtual machines designed for the cloud. They provide enhanced security, minimal resource utilisation, fast boot times, and the ability to optimize performance for the target application. Despite their numerous advantages, unikernels face significant barriers to their widespread adoption. We identify two such obstacles as unscalable boot procedures in hypervisors and the difficulty in porting native applications to unikernel models. This work presents a solution for the first based on the popular Xen hypervisor, and demonstrates a significant performance benefit when running a large number of guest VMs. The HermiTux unikernel aims to overcome the second obstacle by providing the ability to run unmodified binaries as unikernels. This work adds to HermiTux, enabling it to retain some of the important advantages of unikernels such as fast system calls and modularity. | en |
dc.description.abstractgeneral | Cloud computing provides economic benefits to users by allowing them to pay only for the resources that they use. Traditional virtual machines, so far the mainstay of cloud computing, come with a large number of features that are unnecessary for most cloud applications. Unikernels are specialised virtual machines that are compiled with only the features required to run the target application on top of a hypervisor. They have reduced memory requirements, short boot times, fast system calls, enhanced security and greater customizability. Despite these advantages, unikernels have not gained significant traction in industry. One reason is that existing hypervisors were not designed with unikernels in mind. Specifically, we show that for the Xen hypervisor, boot times rise exponentially with the number of VMs running on the system. The small size of unikernels allows us to run a much larger number of guest VMs than was previously possible, but these rising boot times present a major bottleneck. This thesis analyses the cause of this overhead and presents a solution that leads to a 4x reduction in the overall time required to boot 500 unikernels at once. Another reason for the slow adoption of unikernels is the difficulty involved in porting legacy applications to unikernel models. The HermiTux unikernel aims to remove this effort by allowing users to run unmodified, statically compiled executables compiled for Linux. In doing so, however, we lose the ability to modularise the unikernel for the application concerned, and also reintroduce a major source of overhead from regular applications - namely system calls. This thesis presents techniques based on binary analysis and binary rewriting that enable us to regain these advantages of unikernels in HermiTux. | en |
dc.description.degree | MS | en |
dc.format.medium | ETD | en |
dc.identifier.other | vt_gsexam:16372 | en |
dc.identifier.uri | http://hdl.handle.net/10919/88865 | en |
dc.publisher | Virginia Tech | en |
dc.rights | In Copyright | en |
dc.rights.uri | http://rightsstatements.org/vocab/InC/1.0/ | en |
dc.subject | Virtualization | en |
dc.subject | Unikernel | en |
dc.subject | Hypervisor | en |
dc.title | Optimizing Boot Times and Enhancing Binary Compatibility for Unikernels | en |
dc.type | Thesis | en |
thesis.degree.discipline | Computer Engineering | en |
thesis.degree.grantor | Virginia Polytechnic Institute and State University | en |
thesis.degree.level | masters | en |
thesis.degree.name | MS | en |
Files
Original bundle
1 - 1 of 1