SWANS: An Inter-Disk Wear-Leveling Strategy for RAID-0 Structured SSD Arrays
Shuffle Index: Efficient and Private Access to Outsourced Data
Does RAID Improve Lifetime of SSD Arrays?
OS-level virtualization is an efficient method for server consolidation. However, the sharing of kernel services among the co-located virtualized environments (VEs) incurs performance interference between each other. Especially, interference effects within the shared I/O stack would lead to severe performance degradations on many-core platforms incorporating fast storage technologies (e.g., non-volatile memories). This article presents MultiLanes, a virtualized storage system for OS-level virtualization on many cores. MultiLanes builds an isolated I/O stack on top of a virtualized storage device for each VE to eliminate contention on kernel data structures and locks between them, thus scaling them to many cores. Moreover, the overhead of storage device virtualization is tuned to be negligible so that MultiLanes can deliver competitive performance against Linux. Apart from scalability, MultiLanes also delivers flexibility and security to all the VEs, as the virtualized storage device allows each VE to run its own guest file system. The evaluation of our prototype system built for Linux container (LXC) on a 32-core machine with both a RAM disk and a flash-based SSD demonstrates MultiLanes scales much better than Linux in micro- and macro-benchmarks, bringing significant performance improvements.
BetrFS: Write-Optimization in a Kernel File System
Improving Flash-based Disk Cache with Lazy Adaptive Replacement
Statistical Techniques to Identify Predictive Groupings in Storage System Accesses
For years the increasing popularity of flash memory has been changing storage systems. Flash-based solid state drives(SSD) are widely used as a new cache tier on top of hard disk drives(HDD) to speed up data intensive applications. However, the endurance problem of flash memory remains a concern and is getting worse with the adoption of MLC and TLC flash. In this paper, we propose a novel cache management algorithm for flash-based disk cache, named Lazy Adaptive Replacement Cache(LARC). LARC adopts the idea of selective caching to filter out seldom accessed blocks and prevent them from entering cache. This avoids cache pollution and preserves popular blocks in cache for a longer period of time, leading to higher hit rate. Meanwhile, by avoiding unnecessary cache replacements, LARC reduces the volume of data written to SSD and yields an SSD friendly access pattern. In this way, LARC improves the performance and endurance of SSD at the same time. LARC is self-tuning and low-overhead. It has been extensively evaluated by both trace-driven simulations and synthetic benchmarks on a prototype implementation. Our experiments show that LARC outperforms state-of-art algorithms for different kinds of workloads and extends SSD lifetime by up to 15.7 times.