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.

4 · <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 />

If a s<strong>to</strong>rage device does not provide its performance characteristics directly,<br />

an intermediary, separate from the s<strong>to</strong>rage manager, can often discover these and<br />

encapsulate them in<strong>to</strong> the performance hints <strong>to</strong> be passed <strong>to</strong> the s<strong>to</strong>rage manager.<br />

This intermediary, called a discovery <strong>to</strong>ol, does not affect the critical path for I/O<br />

requests going <strong>to</strong> the s<strong>to</strong>rage device. This dissertation describes one such <strong>to</strong>ol that<br />

works for modern disk drives.<br />

1.3.2 Improving efficiency across a spectrum of access patterns<br />

<strong>Application</strong> access patterns span a spectrum ranging from highly structured accesses<br />

<strong>to</strong> completely non-structured random ones. Because of their nature, random<br />

accesses can be made efficient only by qualitative changes in technology; no provision<br />

of more information between s<strong>to</strong>rage devices and applications can improve<br />

their efficiency. At the opposite end of the spectrum, complete control over access<br />

patterns (that do no change over time) allows an application <strong>to</strong> lay data out <strong>to</strong><br />

take advantage of efficient sequential accesses.<br />

The performance attributes proposed by this dissertation improve the efficiency<br />

of access patterns that fall between these two ends of the spectrum: regular access<br />

patterns that change over time due <strong>to</strong> dynamic workload changes. One example<br />

includes access patterns consisting of intermixed streams. While each stream in<br />

isolation could take advantage of efficient sequential access, a simultaneous access<br />

<strong>to</strong> multiple streams, whose number changes dynamically, results in non-sequential<br />

s<strong>to</strong>rage device accesses. Another example is a system with static (and possibly<br />

multi-dimensional) data structures where dynamic workload changes yield different<br />

access patterns. This behavior is typical for relational database systems, where<br />

different queries result in different accesses, while the data structures (relations)<br />

change very slowly relative <strong>to</strong> the changes in access patterns. The access delay<br />

boundaries and parallelism attributes aid applications in data layout and construction<br />

of more efficient access patterns compared <strong>to</strong> traditional systems that,<br />

in the absence of sufficient information provided by s<strong>to</strong>rage devices, rely on guess<br />

work and duplicate effort on both sides of the s<strong>to</strong>rage interface.<br />

1.3.3 Res<strong>to</strong>ring interface abstractions<br />

Providing explicit hints also res<strong>to</strong>res s<strong>to</strong>rage interface abstractions. These hints<br />

replace assumptions about device’s inner-workings built in<strong>to</strong> current s<strong>to</strong>rage managers,<br />

yet they preserve the unwritten contract between the s<strong>to</strong>rage device and the<br />

s<strong>to</strong>rage manager. This dissertation does not argue that this contract is not useful.<br />

It shows that, by itself, it does not allow applications <strong>to</strong> take full advantage of the

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

Saved successfully!

Ooh no, something went wrong!