Abstract

The smart city services usually use the journaling file system to interact with the underlying storage device. If a server incurs a crash event, the file system with journaling function can be rebooted quickly to a clean state. Due to its compaction and sequentiality, the journal area in a native environment is almost write-performance harmless, although the writing data is required to be persisted twice, one is on the journal area and the other is on the file system. Unfortunately, within a virtualized environment the journaling performance is degraded greatly since multiple guest operating systems form the scattered journaling areas on a shared disk device. It violates the original design intention of the journaling file system, eventually produces the random disk I/O and hurts the write performance. In this paper we propose VJournaling, which is built around the split block driver, to improve the above performance issue. VJournaling is divided into two modules: journaling front-end (JF) and back-end (JB). JF is located in a virtual machine (VM), redirecting the virtual journaling disk I/O to the hypervisor layer. Instead, JB in the hypervisor is responsible for receiving the scattered VM journaling I/Os and then gathering them into a relatively sequential physical block device. We implement VJournaling in Xen hypervisor. The extensive experiments are conducted to verify the effectiveness of VJournaling. The results show that up to 150% performance benefit can be reaped in the case of multiple VMs issuing the concurrent write-intensive flows. Meanwhile, the consistency of a file system is still maintained.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call