Improving performance by bridging the semantic gap between multi-queue SSD and I/O virtualization framework
- 1 May 2015
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE) in 2015 31st Symposium on Mass Storage Systems and Technologies (MSST)
Abstract
Virtualization has become one of the most helpful techniques, and today it is prevalent in several computing environments including desktops, data-centers, and enterprises. However, an I/O scalability issue in virtualized environments still needs to be addressed because I/O layers are implemented to be oblivious to the I/O behaviors on virtual machines (VM). In particular, when a multi-queue solid state drive (SSD) is used as a secondary storage, each VM reveals semantic gap that degrades the overall performance of the VM by up to 74%. This is due to two key problems. First, the multi-queue SSD accelerates the possibility of lock contentions. Second, even though both the host machine and the multi-queue SSD provide multiple I/O queues for I/O parallelism, existing Virtio-Blk-Data-Plane supports only one I/O queue by an I/O thread for submitting all I/O requests. In this paper, we propose a novel approach, including the design of virtual CPU (vCPU)-dedicated queues and I/O threads, which efficiently distributes the lock contentions and addresses the parallelism issue of Virtio-Blk-Data-Plane in virtualized environments. We design our approach based on the above principle, which allocates a dedicated queue and an I/O thread for each vCPU to reduce the semantic gap. We also implement our approach based on Linux 3.17, and modify both the Virtio-Blk frontend driver of guest OS and the Virtio-Blk backend driver of Quick Emulator (QEMU) 2.1.2. Our experimental results with various I/O traces clearly show that our design improves the I/O operations per second (IOPS) in virtualized environments by up to 167% over existing QEMU.Keywords
This publication has 8 references indexed in Scilit:
- Enhancing the I/O system for virtual machines using high performance SSDsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Linux block IOPublished by Association for Computing Machinery (ACM) ,2013
- High performance network virtualization with SR-IOVJournal of Parallel and Distributed Computing, 2012
- SSD Architecture and PCI Express InterfacePublished by Springer Science and Business Media LLC ,2012
- Towards exitless and efficient paravirtual I/OPublished by Association for Computing Machinery (ACM) ,2012
- virtioACM SIGOPS Operating Systems Review, 2008
- A comparison of software and hardware techniques for x86 virtualizationPublished by Association for Computing Machinery (ACM) ,2006
- IntelŴVirtualization Technology for Directed I/OIntel Technology Journal, 2006