Advanced SearchSearch Tips
Improving Performance of I/O Virtualization Framework based on Multi-queue SSD
facebook(new window)  Pirnt(new window) E-mail(new window) Excel Download
  • Journal title : Journal of KIISE
  • Volume 43, Issue 1,  2016, pp.27-33
  • Publisher : Korean Institute of Information Scientists and Engineers
  • DOI : 10.5626/JOK.2016.43.1.27
 Title & Authors
Improving Performance of I/O Virtualization Framework based on Multi-queue SSD
Kim, Tae Yong; Kang, Dong Hyun; Eom, Young Ik;
Virtualization has become one of the most helpful techniques in computing systems, and today it is prevalent in several computing environments including desktops, data-centers, and enterprises. However, since I/O layers are implemented to be oblivious to the I/O behaviors on virtual machines (VM), there still exists an I/O scalability issue in virtualized systems. In particular, when a multi-queue solid state drive (SSD) is used as a secondary storage, each system reveals a semantic gap that degrades the overall performance of the VM. This is due to two key problems, accelerated lock contentions and the I/O parallelism issue. 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. Our approach is based on the above principle, which allocates a dedicated queue and an I/O thread for each vCPU to reduce the semantic gap. 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 155% over existing QEMU-based systems.
multi-queue;solid state drive;non-volatile memory express;virtualization;quick emulator;
 Cited by
D. Abramson, "Intel virtualization technology for directed I/O," Journal of Intel Technology Journal, Vol. 10, No. 3, pp. 179-191, 2006.

R. Mijat and A. Nightingale, "Virtualization is coming to a platform near you," ARM White Paper, 2011.

Y. Dong, X. Yang, J. Li, G. Liao, K. Tian, and H. Guan, "High performance network virtualization with SR-IOV," Journal of Parallel Distributed. Computing, Vol. 72, No. 1, pp. 1471-1480, 2012. crossref(new window)

AMD I/O virtualization technology (IOMMU) specification [Online]. Available: (downloaded 2015, Sep. 6)

KVM live migration [Online]. Available:$Kvm_Live_Migration_Forum_2007.pdf (downloaded 2015, Sep. 6)

C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, and A. Warfield, "Live migration of virtual machines," Proc. of 2nd Symposium on Networked System Design & Implementation, pp. 273-286, 2005.

R. Russell, "VIRTIO: towards a de-facto standard for virtual I/O devices," ACM SIGOPS Operating Syst. Review, Vol. 42, No. 5, pp. 95-103, 2008.

A. Kivity, Y. Kamay, D. Laor, UY. Lublin, and A. Liguori, "KVM: the linux virtual machine monitor," Proc. of Linux Symposium, pp. 225-230, 2007.

N. Har'El, A. Gordon, A. Landau, M. Ben-Yehuda, A. Traeger, and R. Ladelsky, "Efficient and scalable paravirtual I/O system," Proc. of USENIX Annual Technical Conference, pp. 231-242, 2013.

NVM Express specification 1.2 [Online]. Available: (downloaded 2015, Sep. 6)

M. Bjorling, J. Axboe, D. Nellans, and P. Bonnet, "Linux block IO: Introducing multi-queue SSD access on multi-core system," Proc. of the 6th International Systems and Storage Conference, pp.22:1-22:10, 2013.

F. Bellard, "QEMU, a fast and portable dynamic translator," Proc. of USENIX Annual Technical Conference, pp. 41-46, 2005.

J. Axboe. Fio-Fexible IO Tester [Online]. Available: (downloaded 2015, Sep. 6)

K. Huynh, A. Theurer, and S. Hajnoczi. KVM virtualized I/O performance [Online]. Available: (downloaded 2015, Sep. 6)

M. Lei. Virtio Blk multi-queue conversion [Online]. Available: (downloaded 2015, Sep. 6)

K. Eshghi and R. Micheloni, "SSD architecture and PCI Express interface," Inside Solid State Drives (SSDs), pp. 19-45, 2013.

Null block device driver [Online]. Available: _blk.txt (downloaded 2015, Sep. 6)

Perf: linux profiling with performance counters [Online]. Available: (downloaded 2015, Sep. 6)