Information Technology Reference
In-Depth Information
entire disk working set. Second, the performance
potential of firmware-level readahead is further
constrained by the thin disk interface, which sig-
nificantly limits the communication between the
disk and operating systems. For example, since
the disk firmware is unaware of the status of the
buffer cache (main memory), data blocks would
be unnecessarily prefetched into the disk buffer
even when they are already resident in buffer cache
(main memory). Without sophisticated policies,
prefetching at disk firmware is far from sufficient
to exploit the disk performance potential.
replace the existing prefetching policies, at file
level or firmware level. Instead, DiskSeen can
be well complementary to the existing prefetch-
ing schemes and correct some inappropriate
prefetching decisions. In our experiments, the
prototype of DiskSeen shows that substantial
performance improvement can be achieved by
applying such a disk-level prefetching in existing
storage systems.
tracKing diSK acceSSeS
a disk-level prefetch
policy - diskSeen
In order to conduct prefetching at disk level, two
questions must be answered first, (1) what infor-
mation about disk accesses is needed by the disk-
level prefetch policy, and (2) how to efficiently
manage the huge amount of history information
with small overhead.
In this chapter, we present a disk-level prefetch-
ing scheme, called DiskSeen , to address the
aforesaid limitations of existing prefetch policies.
In DiskSeen, current and historical information
of disk data blocks is used to achieve efficient
and effective prefetching. Working in OS kernel,
DiskSeen monitors the accesses to disk blocks
and observes the access pattern directly on the
disk level. By analyzing the disk blocks' access
history, DiskSeen is able to quickly identify the
relationship between data blocks being accessed
and accurately predicts the disk blocks to be ac-
cessed in the future.
Compared to the file-level prefetching, Disk-
Seen can effectively exploit prefetching oppor-
tunities that cannot be leveraged by the file-level
prefetching. For example, DiskSeen can prefetch
data blocks across boundaries of files, if these
data blocks are continuously located on the hard
disk. Moreover, the file system metadata blocks,
which are transparent to file-level prefetchers,
can be prefetched as well. Compared to prefetch-
ing in disk firmware, DiskSeen has much richer
knowledge about the status and history of data
blocks being accessed during a long history, thus
more sophisticated prefetch policy can be con-
ducted with a long-term view. It is worth pointing
out here that, the purpose of DiskSeen is not to
disk layout information
Effective disk-level prefetching relies on detailed
information about disk layout. Generally speaking,
the more specific the information available for a
particular disk, the more accurate an estimate a
disk-aware policy can make about access costs.
For example, if we know that the requested blocks
span a track boundary, we would predict that
the request would incur a track crossing penalty
(Schindler, Griffin, Lumb, & Ganger, 2002).
Unfortunately, such detailed knowledge about
physical disk geometry is often not disclosed by
disk manufacturers. Extracting such information
about disk is challenging (Schindler and Ganger,
2000) and often works with certain types of disk
drives (such as SCSI disks) only.
In practice, hard disk firmware usually ex-
poses the logical disk geometry as an array of
logic blocks, which are labeled by logical block
numbers (LBNs). This is a generic interface to
communicate between disk drives and operating
systems. Although the LBN does not disclose
precise disk-specific information, it can be used
Search WWH ::




Custom Search