Title: A Status Report on Research in Transparent Informed Prefetching (TIP)
1A Status Report on Research in Transparent
Informed Prefetching (TIP)
- Presented by Hsu Hao Chen
Presented by Hsu Hao Chen
2Outline
- Introduction
- I/O performance is lagging
- No current solution fully addresses read latency
- TIP to reduce latency
- Transparent Informed Prefetching (TIP)
- Implementation
- Evaluation
- Conclusions
3Introduction (1/3)
LFS
But, cache effectiveness is declining
LFS log-structured file systems RAIDs cannot
reduce seek and rotational latencies
4Introduction (2/3)
- Disappointing performance over time
- growing file sizes
- they are accessed too infrequently
5Introduction (3/3)
- Prefetching based on application level
information is a feasible and effective strategy
for reducing file access read latency - TIP reduces application execution time in two
ways - By exposing concurrency in the I/O workload
- Overlap I/O with computation or user think time
- Optimize I/O accesses over the larger number of
outstanding requests - With knowledge of future I/O requests, TIP and
make informed cache management decisions that
lower cache miss rates
6Transparent Informed Prefetching(1/4)
- TIP
- Encapsulate programmer knowledge about future I/O
requests in a hint - Transfer hint to file system
- File system uses hints to transparently prefetch
data and manage resources
7Transparent Informed Prefetching(2/4)
- Obtaining Hints
- Early knowledge of serial file access
- Access patterns part of code algorithm
- large matrix supercomputing read by row, read by
column - Hints generated by programmer, compiler,
profiler
8Transparent Informed Prefetching(3/4)
- Hints generated by compiler (too complex)
SpecHint tool is implemented in 16,000 lines of c
C code SpecHint object files, 4000 lines of
assembly code Data from Automatic I/O Hint
Gereration Through Speculative Execution
9Transparent Informed Prefetching(4/4)
- Users not qualified to give advice
- Advice not portable, disclosure is
- Disclosure allows more flexibility
- Disclosure supports global optimizations
10Implementation
- Implementation of two ways
- Application unmodified
- grep command
- Application modified
- make command
- access pattern profiler
11Implementation- Application unmodified
hcsh for hint-csh
No
12Implementation- Application modified
13Evaluation(1/5)
- Application example
- grep foo 58 files, 1MB
- make xcalc compile link X window calculator
- The local disk tests were conducted on a Sun
Sparcstation 2 running Mach/BSD Unix 4.3. - The remote tests were run on two Decstation
5000/200 also running Mach.
14Evaluation(2/5)
make modified
grep unmodified hcsh for hint-csh
15Evaluation(3/5)
Test Results
16Evaluation(4/5)
- Lessons from tests
- Independent prefetch process overhead too high
- Example context switching, processes schedule,
system call cost - Single prefetch process gt no deep prefetch
queues - Disk write scheduling often very inefficient
- Sol buffered writes
17Evaluation(5/5)
- Lessons from tests
- Coda ioctl allowed too much prefetching
- thread starvation
- need low-priority prefetching
- premature cache flushing (prefetch data problem)
- need to track consumption
18Conclusions
- TIP offers a powerful mechanism for overcoming
the I/O crisis - Hints that disclose, not advise, provide the best
information and are consistent - Applicable to local disk and network file servers
- Highlights the importance of combining
prefetching with buffer management