A Flexible Two-Layer Buffer Caching Scheme for Shared Storage Cache

Xiaoxuan Meng, Chengxiang Si, Wenwu Na, Haroon-Ur-Rashid Khan, Lu Xiong Xu · 2009

This paper presents a flexible two-layer buffer caching scheme to improve the performance of storage cache which is used to serve multiple concurrently accessing applications with diverse access patterns. To achieve this, the proposed scheme dynamically partitions the cache among applications. At the first layer, it uses a configurable global cache allocation policy to make adaptive cache allocations in response to the evolving access patterns of competing applications. In contrast to traditional global replacement approach, the allocation policy adopted in our scheme utilizes applicationpsilas marginal utility but not cache demand for allocation, so as to minimize the total number of cache misses. At the second laver, our scheme tries to maximize the utilization of allocated cache blocks by applying each application with an appropriate local replacement algorithm based on its access pattern. We have implemented our scheme in Linux kernel 2.6.18 as a pseudo device driver and measured its performance using various real-life workloads. The experiment results show that compared with Linux page cache, the proposed scheme can reduce the overall response time by up to 2 times with an average of 50% and reduce the overall disk load by up to 31% with an average of 21%.

Read the paper · More papers on PaperTik