Abstract

The performance gap between CPU and storage subsystem is becoming bigger and bigger. To fill the gap, the most common methods are caching and prefetching. Prefetching can read data into cache-buffer before it is accessed, which depends on predicting data blocks to be accessed accurately. However, it is very difficult to predict next I/O requests in storage subsystem because the system will serve lots of applications simultaneously. I/O requests that come from multi-application are mixed together and the original sequent I/Os look like random I/Os, which make it more difficult to figure out the I/O mode and predict the data block to be accessed. In this paper, we designed and implemented a prefetching scheme for storage system to adapt to multi-application, named PSAM. A three-level hash table is used to help detecting sequential I/O in mixed I/O stream. Once sequential I/O substream is detected, an adaptive sequential prefetching algorithm is applied on it. Differing from most common prefetching schemes, PSAM maintains prefetching-data and hot-data in two different caches, which are designed independently for being more flexible. Applications need not inform anything to PSAM, which keeps the application interface compatible. The evaluation result shows that PSAM can improve the performance of the storage system by 30% to three times in multi-application environment.

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