COWCache: effective flash caching for Copy-on-Write virtual disks

Host-side flash caching emerges as an effective solution for improving the performance of virtual machines (VMs) in cloud computing environment. However, for VMs with the commonly used Copy-on-Write (COW) virtual disks, flash caching in fact has negative impacts since it brings lots of unnecessary cache writes, hurting both the VM performance and the flash endurance. This paper presents COWCache, a COW-aware caching solution that addresses this problem by co-designing flash caching with COW-based virtual disks. First, COWCache designs a new architecture that bridges the semantic gap between flash caching and virtual disk management for realizing the VMs’ real data locality. Second, it separately manages COW metadata with fine-grained caching and journaling to improve the metadata caching efficiency. Third, it provides a novel decoupled Copy-on-Write mechanism, which decouples the amplified data requests from the critical I/O path and only admits the data with real VM locality into flash cache. COWCache also introduces a new data structure, the virtual cache map , to mitigate the memory footprint overhead for indexing the cached data in flash. Evaluations show that COWCache improves the application performance by up to 122.7% and reduces the flash cache writes by up to 78.5% compared to traditional flash caching solutions.

[1]  E. Hensbergen Dynamic Policy Disk Caching for Storage Networking , 2006 .

[2]  A. Kivity,et al.  kvm : the Linux Virtual Machine Monitor , 2007 .

[3]  Jun Wang,et al.  Recursive Updates in Copy-on-write File Systems - Modeling and Analysis , 2014, J. Comput..

[4]  Giri Narasimhan,et al.  CacheDedup: In-line Deduplication for Flash Caching , 2016, FAST.

[5]  Dutch T. Meyer,et al.  Parallax: virtual disks for virtual machines , 2008, Eurosys '08.

[6]  Dan Feng,et al.  Improving flash-based disk cache with Lazy Adaptive Replacement , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[7]  Michael P. Mesnier,et al.  Differentiated storage services , 2011, OPSR.

[8]  Jing Xu,et al.  CloudCache: On-demand Flash Cache Management for Cloud Computing , 2016, FAST.

[9]  Raju Rangaswami,et al.  Centaur: Host-Side SSD Caching for Storage Performance Control , 2015, 2015 IEEE International Conference on Autonomic Computing.

[10]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[11]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[12]  Steve Byan,et al.  Mercury: Host-side flash caching for the data center , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[13]  Chunqiang Tang,et al.  FVD: A High-Performance Virtual Machine Image Format for Cloud , 2011, USENIX Annual Technical Conference.

[14]  Jeffrey Shafer,et al.  I/O virtualization bottlenecks in cloud computing today , 2010 .

[15]  Akshat Verma,et al.  LVD: lean virtual disks , 2014, Middleware.

[16]  Wei Wang,et al.  ReconFS: a reconstructable file system on flash storage , 2014, FAST.

[17]  Fei Meng,et al.  vCacheShare: Automated Server Flash Cache Space Management in a Virtualization Environment , 2014, USENIX Annual Technical Conference.

[18]  Mahesh Patil,et al.  A Practical Implementation of Clustered Fault Tolerant Write Acceleration in a Virtualized Environment , 2015, FAST.

[19]  Ming Zhang,et al.  Understanding the Impact of Cache Locations on Storage Performance and Energy Consumption of Virtualization Systems , 2016 .

[20]  Ming Zhao,et al.  IBM Research Report Dynamic Policy Disk Caching for Storage Networking , 2006 .

[21]  Angela Demke Brown,et al.  Reliable Writeback for Client-side Flash Caches , 2014, USENIX Annual Technical Conference.

[22]  Ming Zhao,et al.  Write policies for host-side flash caches , 2013, FAST.

[23]  Youyou Lu,et al.  Extending the lifetime of flash-based storage through reducing write amplification from file systems , 2013, FAST.

[24]  Michael M. Swift,et al.  FlashTier: a lightweight, consistent and durable storage cache , 2012, EuroSys '12.

[25]  Jiri Schindler,et al.  A deduplication study for host-side caches in virtualized data center environments , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[26]  Song Jiang,et al.  Selfie: co-locating metadata and data to enable fast virtual block devices , 2015, SYSTOR.

[27]  Tal Garfinkel,et al.  Virtualization Aware File Systems: Getting Beyond the Limitations of Virtual Disks , 2006, NSDI.

[28]  Francesc Zacarias Ribot QLOOP: Linux driver to mount QCOW2 virtual disks , 2010 .

[29]  Eyal de Lara,et al.  SnowFlock: rapid virtual machine cloning for cloud computing , 2009, EuroSys '09.

[30]  Nisha Talagala,et al.  HEC: improving endurance of high performance flash-based cache devices , 2013, SYSTOR '13.

[31]  Hai Huang,et al.  Understanding performance implications of nested file systems in a virtualized environment , 2012, FAST.

[32]  Siyuan Ma,et al.  S-CAVE: Effective SSD caching to improve virtual machine storage performance , 2013, Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques.

[33]  Margo I. Seltzer,et al.  Flash Caching on the Storage Client , 2013, USENIX Annual Technical Conference.

[34]  Yubin Xia,et al.  Mitigating Sync Amplification for Copy-on-write Virtual Disk , 2016, FAST.

[35]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[36]  Hyeonsang Eom,et al.  Enhancing the I/O system for virtual machines using high performance SSDs , 2014, 2014 IEEE 33rd International Performance Computing and Communications Conference (IPCCC).