Information Technology Reference
In-Depth Information
Figure 9. Sequential accesses over NFS can be out of order when reaching the readahead routine
locally disordered reads
Its call convention and sequential detection logics
can help a readahead sequence to start and go on
in the face of random disturbances:
Startup . It's easy to start an initial readahead
window. It will be opened as soon as two consecu-
tive cache misses occur. Since semi-sequential
reads are mostly consecutive, it happens very
quickly.
Continuation . It's guaranteed that one reada-
head window will lead to another in the absence
of cache hits. So a readahead sequence won't be
interrupted by some wild random reads. A PG_
readahead tag will be set for each new readahead
window. It will be hit by a subsequent read and
unconditionally trigger the next readahead. It does
not matter if that read is a non-consecutive one.
Access patterns in real world workloads can de-
viate from the sequential model in many ways.
One common case is the reordered NFS reads.
The pages may not be served at NFS server in
the same order they are requested by a client
side application. They may get reordered in the
process of being sent out, arriving at the server,
and finally hitting the readahead logic. Figure
9 shows a trace of NFS reads observed by the
readahead logic.
The in-depth discussion for such complex kind
of workload is beyond the scope of this topic.
However the readahead framework does offer
clean and basic support for semi-sequential reads.
Figure 10. Comparison of the readahead performances under random disturbs
Search WWH ::




Custom Search