Title: TaP: Tablebased prefetching for storage caches
1TaP Table-based prefetching for storage caches
- Mingju Li, Elizabeth Varki, Swapnil Bhatia
- University of New Hampshire
- Arif Merchant
- Hewlett-Packard Labs
2Main contribution of TaP
- Effective sequential stream detection
- Efficient prefetch cache size adaptation
3 Introduction
- Our interpretation of sequential prefetching
- Motivation for TaP
- What is TaP
- How TaP works
- TaPs evaluation
- Future work
4Sequential prefetching interpretation
- Three modules of a sequential prefetching
technique - Classifications of current storage sequential
prefetching techniques
5Three modules of a sequential prefetching
technique
- Sequential detection module
- Search for sequentiality in I/O workload
- Determines the effectiveness of prefetching
- Prefetching module
- Prefetching degree
- Prefetching trigger point
- Cache management module
- Cache segment (prefetch cache )
- Cached read data classification
- Cache size management
- Cache replacement policy
6Classification of sequential prefetching
techniques
- Prefetch on Miss (PoM)
- Prefetch on Hit (PoH)
- CaP Cache-based prefetching
- TaP Table-based prefetching (new)
- Always Prefetch (AP)
7Classification of sequential prefetching
techniques
8Motivation for sequential prefetching
- Powerful controller and large cache
- Principle of locality
- Low temporal locality
- Cache hierarchy
- Possible spatial locality
- Sequential data layout on disks
9Motivation for TaPsequential detection module
- Low temporal locality from higher level caching
- Low sequential locality in the workload from
multiple stream interleaving
- No knowledge about file system or applications
10Motivation for TaPsequential detection module
- Current techniques
- AP and PoM has no detection module
- PoH Has inefficient detection module
- CaP Cache-based sequential detection
- (cache pollution)
- (Suffer from short history)
11Motivation for TaPcache management module
- Most techniques mix the prefetched data with
other data in the cache - Keep prefetched data in the cache after hit
- Fixed cache segment size not efficient cache
usage
12What is TaP
- A sequential prefetching technique
- For storage read caches only
- Effective sequential detection module
- Efficient (prefetch) cache management module
- Simple to implement
13How TaP works
- Prefetch cache
- Dedicated cache portion for prefetched data
- TaP table
- Sequential detection
- Prefetch cache size adaptation
Table entry
Request address
cache full flag
14TaP table for sequential detection
- Tracks the request addresses in FIFO list
- if request i is a cache hit
- Serve i from cache, prefetch i1
- If i is a cache miss
- if i is a table hit serve i from disk,
prefetch i 1 into cache - else i is a table miss serve i from disk,
insert i 1 into table
11 (false)
86 (false)
35 (false)
12(data)
13(data)
10
11
85
34
45
12
46 (false)
workload
Prefetch cache
TaP table
15Advantage of TaP sequential detection
- More workload history is available for detection
- High useful prefetch ratio
- Fraction of prefetches that are hit
16TaP table for prefetch cache sizing
- Increasing
- Cache full, evicted request address inserted into
table - Flag in TaP table for evicted request
26 (false)
12(True)
24 (false)
12(data)
34(data)
24 (false)
12(True)
68 (false)
34(data)
35(data)
68 (false)
46 (false)
27(data)
35(data)
26
23
67
45
12
46 (false)
13(data)
workload
Prefetch cache
TaP table
17TaPs evaluation
- Simulation tool
- DiskSim a validated, accurate storage system
simulator - Sequential detection evaluation
- Prefetch cache sizing evaluation
18Sequential detection evaluation SPC2-like
workload (hit rate)
19Sequential detection evaluation SPC2-like
workload (response time)
20Sequential detection evaluation SPC2-like
workload (useful prefetch ratio)
21Sequential detection evaluationsequential
random workload (mean hit rate)
22Sequential detection evaluationsequential
random workload (response time)
23TaPs Prefetch cache sizing evaluation
- Given a small prefetch cache, TaP always gets
better performance than other algorithms compared - TaP uses smaller prefetch cache size to get the
same cache hit rate as CaP
24Cache size comparisonCaP and TaP
25Cache sizing evaluation sequential random
workload (mean hit rate)
26 Cache sizing evaluation sequential random
workload (response time)
27TaP prefetch cache size adaptation visualization
28Conclusion
- Sequential stream detection and prefetching is
important for storage only caching - Prefetched data should be treated differently
from other cached data - The TaP table is the key component of TaP for
- Effective sequential stream detection
- Efficient prefetch cache usage
29Future work
- Cache sizing
- Table sizing
- Prefetching module
- Re-reference hit
30Questions ?
Thank you!