Machine virtualization is undoubtedly useful, but does not come cheap. The performance cost of virtualization, for I/O intensive workloads in particular, can be heavy. Common approaches to solving the I/O virtualization overhead focus on the I/O stack, thereby missing optimization opportunities in the overall stack. We propose VAMOS, a novel software architecture for middleware, which runs middleware modules at the hypervisor level. VAMOS reduces I/O virtualization overhead by cutting down on the overall number of guest/hypervisor switches for I/O intensive workloads. Middleware code can be adapted to VAMOS at only a modest cost, by exploiting existing modular design and abstraction layers. Applying VAMOS to a database workload improved its performance by up to 32%.
['Abel Gordon', 'Muli Ben-Yehuda', 'Dennis Filimonov', 'Maor Dahan']
VAMOS: virtualization aware middleware