JISE


  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]


Journal of Information Science and Engineering, Vol. 36 No. 4, pp. 895-919


 A Methodology for Improving the Performance of Paravirtual I/O Systems Based on Fast NVM Devices


MYOUNGWON OH1, HANUL SUNG1, SANGGEOL LEE2,
HYEONSANG EOM1 AND HEON Y. YEOM1
1Department of Computer Science and Engineering
Seoul National University
Seoul, 151-742 Republic of Korea

2Semiconductor Department
Memory Application Engineering Group
Samsung Electronics, 443-743 Republic of Korea
E-mail: mwoh@dcslab.snu.ac.kr; husung@dcslab.snu.ac.kr;
aiden.lee@samsung.com; hseom@cse.snu.ac.kr


Paravirtual I/O systems have been paid much attention to due to their reasonable performance levels. To increase these levels, Non-Volatile Memory (NVM) such as flash memory is considered and used as their storage media alternative to HDD. Although the storage media is fast, the performance of paravirtual I/O systems using the media is much lower than expected. The performance is lowered because the I/O process in the guest and host OSes is serialized and the OSes are run ignoring the processor affinity while the same software layers performing I/O are duplicated in the OSes. We present our methodology to employ towards optimizing the performance of NVM-based paravirtual I/O systems: the use of polling rather than interrupt, and parallel batching in order to maximize the parallelism in performing the sequence of I/O operations, and avoidance of context switches in order to consider the processor affinity. Our experiments with Kernel Virtual Machine (KVM) I/O systems using different NVM storage devices suggest that the use of the methodology can lead to enhancements in throughput by 50% to more than 80% while reducing CPU usage by up to 25% for a microbenchmark program and by up to 100% for workloads in mixed-read/write patterms.


Keywords: performance optimization, paravirtual I/O system, NVM

  Retrieve PDF document (JISE_202004_13.pdf)