A Status Report on Research in Transparent Informed Prefetching (TIP) Presented by Hsu Hao Chen.

18
A Status Report on Research in Transparent Informed Pref etching (TIP) Presented by Hsu Hao Chen Presented by Hsu Hao Chen
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    1

Transcript of A Status Report on Research in Transparent Informed Prefetching (TIP) Presented by Hsu Hao Chen.

A Status Report on Research in Transparent Informed Prefetching (TIP)

Presented by Hsu Hao Chen

Presented by Hsu Hao Chen

Outline

• Introduction• I/O performance is lagging• No current solution fully addresses read latency• TIP to reduce latency

• Transparent Informed Prefetching (TIP)

• Implementation• Evaluation• Conclusions

Introduction (1/3)

But, cache effectiveness is declining

LFS

LFS: log-structured file systems

RAIDs cannot reduce seek and rotational latencies

Introduction (2/3)

• Disappointing performance over time• growing file sizes • they are accessed too infrequently

Introduction (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

Transparent Informed Prefetching(1/4)

• TIP• Encapsulate programmer knowledge abou

t future I/O requests in a hint

• Transfer hint to file system

• File system uses hints to transparently prefetch data and manage resources

Transparent 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

Transparent 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

Transparent Informed Prefetching(4/4)

• Users not qualified to give advice• Advice not portable, disclosure is• Disclosure allows more flexibility• Disclosure supports global optimizations

Implementation

• Implementation of two ways:• Application unmodified

• grep command

• Application modified• make command• access pattern profiler

Implementation- Application unmodifiedhcsh grep foo *

csh expands *

Read argumends

fork

exec grep

exit Prefetch file

More files?

exit

No

hcsh for hint-csh

Implementation- Application modified

make xcalc

exec make

fork

Standard make code

Prefetch file

exit More files?

exit

No

Yes

Evaluation(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.

Evaluation(2/5)

grep unmodified

hcsh for hint-csh

make modified

Evaluation(3/5)

Test Results

Evaluation(4/5)• Lessons from tests

• Independent prefetch process overhead too high

• Example: context switching, processes schedule, system call cost

• Single prefetch process => no deep prefetch queues

• Disk write scheduling often very inefficient• Sol: buffered writes

Evaluation(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

Conclusions• 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