17.05.2014 Views

Matching Application Access Patterns to Storage Device ...

Matching Application Access Patterns to Storage Device ...

Matching Application Access Patterns to Storage Device ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

32 · <strong>Matching</strong> <strong>Application</strong> <strong>Access</strong> <strong>Patterns</strong> <strong>to</strong> S<strong>to</strong>rage <strong>Device</strong> Characteristics<br />

by inquiry SCSI command. The batch() function corresponds <strong>to</strong> linking individual<br />

SCSI commands with the Link bit set. SCSI linking ensures that no other commands<br />

are executed in the middle of the submitted linked batch. The get ensemble()<br />

function maps <strong>to</strong> the read capacity SCSI command with the PMI bit set. According<br />

<strong>to</strong> the specification, this command returns the last LBN before a substantial<br />

delay in data transfer. The get equivalent() function can use the mode<br />

sense SCSI command <strong>to</strong> return a list of LBNs in a new mode page. However,<br />

because of the performance penalties described above, the SCSI interface should<br />

not implement these functions. Instead, the SCSI Mode Pages should only provide<br />

the information necessary for local execution of these functions.<br />

3.1.6 Making s<strong>to</strong>rage contract more explicit<br />

Exposing performance characteristics by annotating the LBN address space fits<br />

well with current system designs. It builds upon, rather than replaces, the implicit<br />

s<strong>to</strong>rage contract. Providing more explicit performance hints allows s<strong>to</strong>rage<br />

managers <strong>to</strong> make better, more informed decisions. Because of this contract, s<strong>to</strong>rage<br />

managers administer devices in fixed blocks that make allocation policies and<br />

space management easier. Extent-based file systems are one example [McVoy and<br />

Kleiman 1991; VERITAS Software Company 2000]. Other s<strong>to</strong>rage managers group<br />

individual LBNs in<strong>to</strong> larger blocks (e.g., file system blocks or database pages) <strong>to</strong><br />

be used by the API above a s<strong>to</strong>rage manager.<br />

Developing mechanisms that minimize the changes required <strong>to</strong> take advantage<br />

of the performance benefits described in the subsequent chapters is one of the<br />

goals of this research. As a consequence of this decision, these mechanisms are still<br />

based on best-effort performance. These static annotations, by themselves, do not<br />

provide any performance guarantees suitable for quality-of-service applications.<br />

However, they aid in building such applications, as demonstrated in Section 5.6.<br />

The more explicit contract between a s<strong>to</strong>rage manager and s<strong>to</strong>rage devices<br />

promoted in this dissertation does not limit the s<strong>to</strong>rage device. It is free <strong>to</strong> apply<br />

dynamic optimizations behind the s<strong>to</strong>rage interface as long as the contract stays<br />

in place. For example, it can dynamically remap logical blocks <strong>to</strong> different areas<br />

of s<strong>to</strong>rage device <strong>to</strong> better accomodate the needs of the application.<br />

3.2 Disk drive characteristics<br />

Disk drives are the most prevalent s<strong>to</strong>rage device in <strong>to</strong>day’s computer systems.<br />

Desk<strong>to</strong>ps use single disk drives while high-end s<strong>to</strong>rage systems aggregate several.<br />

Grouping disk drives in<strong>to</strong> a single logical volume enhances performance and failure<br />

protection [Patterson et al. 1988]. A logical volume is thus an abstraction of a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!