Using Solid-State Drives (SSDs) for Virtual Block Devices

In a virtualized environment, the block devices on the I/O domain can be provided to guest domains by the virtual block device (VBD). As the VBD incurs low latency and no network access is involved in accessing data, VBD has been used for storing intermediate data of data-intensive applications such as MapReduce. To accelerate the performance further, SSD can be considered as a backing device of the VBD because SSD outperforms HDD by several orders of magnitude. However, the TRIM command that plays an important role in space management of SSD has not been discussed nor handled properly in the virtualized environment. In this paper, we clarify the challenges in supporting the TRIM command in the VBD configuration and propose a novel file operation, called FTRIM (file trim). The FTRIM bridges the semantic gaps among key components of VBD and makes them to be aware of the file deletion in the guest domain. As a result, the each component of VBD can utilize the space of the deleted files, and the SSD in the I/O domain can be notified by the TRIM command. Our evaluation with a prototype shows that the proposed approach achieves up to 3.47x speed-up and sustains the improved performance in the consolidated VM environment.

[1]  Evangelos Eleftheriou,et al.  Write amplification analysis in flash-based solid state drives , 2009, SYSTOR '09.

[2]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

[3]  GhemawatSanjay,et al.  The Google file system , 2003 .

[4]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[5]  Andrea C. Arpaci-Dusseau,et al.  A file is not a file: understanding the I/O behavior of Apple desktop applications , 2011, SOSP 2011.

[6]  Tal Garfinkel,et al.  The Design and Evolution of Live Storage Migration in VMware ESX , 2011, USENIX Annual Technical Conference.

[7]  Amar Phanishayee,et al.  FAWN: a fast array of wimpy nodes , 2009, SOSP '09.

[8]  Bin Fan,et al.  SILT: a memory-efficient, high-performance key-value store , 2011, SOSP.

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

[10]  Peter Desnoyers,et al.  Empirical evaluation of NAND flash memory performance , 2010, OPSR.

[11]  Gregory R. Ganger,et al.  MEMS-based Storage Devices and Standard Disk Interfaces: A Square Peg in a Round Hole? , 2004, FAST.

[12]  L. Vivier,et al.  The new ext 4 filesystem : current status and future plans , 2007 .

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

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

[15]  Jin Li,et al.  ChunkStash: Speeding Up Inline Storage Deduplication Using Flash Memory , 2010, USENIX Annual Technical Conference.

[16]  David J. Lilja,et al.  High performance solid state storage under Linux , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[17]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[18]  Kyu Ho Park,et al.  JFTL: A flash translation layer based on a journal remapping for flash memory , 2009, TOS.

[19]  Dawoon Jung,et al.  HeteroDrive : Reshaping the Storage Access Pattern of OLTP Workload Using SSD , 2009 .

[20]  Sang-Won Lee,et al.  Advances in flash memory SSD technology for enterprise database applications , 2009, SIGMOD Conference.

[21]  Guoliang Li,et al.  LazyFTL: a page-level flash translation layer optimized for NAND flash memory , 2011, SIGMOD '11.

[22]  Wei Hu,et al.  Scalability in the XFS File System , 1996, USENIX Annual Technical Conference.

[23]  Jae-Myung Kim,et al.  A case for flash memory ssd in enterprise database applications , 2008, SIGMOD Conference.

[24]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[25]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.