Abstract
Virtualization is widely used in modern computer systems ranging from personal computers to cloud servers as it provides various heterogeneous platforms at low cost. However, due to its nested software structure in host and guest machines that are difficult to harmonize, it is challenging to manage resources efficiently in virtualized systems. In this article, we anatomize the overhead of virtualization associated with file system journaling and discover the excessively frequent commits that take place in virtualized systems. This is because the host triggers commit on every write request from all guest machines. This also generates unnecessary write traffic to storage. To remedy these problems, we propose the VM-separated commit, and implement it on QEMU-KVM and Ext4. Specifically, we devise a data structure that manages modified file blocks from each guest as a separate list and split the running transaction list into two sub-transactions based on this data structure upon a commit request from a guest. Measurement studies with Filebench and IOzone benchmarks show that the proposed policy improves the I/O throughput by 19.5% on average and up to 64.2% over existing systems. It also reduces the variability in performance.
Original language | English |
---|---|
Article number | 9291369 |
Pages (from-to) | 223756-223764 |
Number of pages | 9 |
Journal | IEEE Access |
Volume | 8 |
DOIs | |
State | Published - 2020 |
Bibliographical note
Publisher Copyright:© 2013 IEEE.
Keywords
- Journaling
- buffer cache
- commit
- file system
- virtualization
- virtualized system