[dm-devel] [LSF/MM TOPIC][ATTEND] Plumbing I/O Cache / Tiered Storage Hints

Dan Williams dan.j.williams at intel.com
Tue Jan 28 22:57:01 UTC 2014


In addition to disk drives with internally tiered-storage (solid-state
+ magnetic media) the kernel has also grown native I/O-caching /
tiered-storage implementations in bcache and dm-cache.

Currently, all these solutions depend on heuristics to determine what
tier the data referenced in an I/O belongs.  However, the presence of
hinting proposals from SCSI [1], ATA [2], and bcache [3] indicate that
these devices (hardware or virtual) want to consume explicit hints
indicating the value of caching data in a higher performing tier.

At LSF I want to discuss options and opportunities for plumbing cache
hints from userspace, through the I/O stack to devices.  My colleague,
Jason Akers, is also interested in this discussion as he is
investigating how to exploit these hints from userspace.  I
participated in the LSF 2012 discussion of this topic, see that it was
raised again at LSF 2013, and note that we have not settled on an
enabling path.  What's new for this year is an effort to set aside,
for now, the deeper complexities of the device specification proposals
and focus on a minimal set of hints that can be specified per-process
(ionice) and maybe per-file (fadvise).

My suspicion is that AIO attributes is useful for applications that
want access to the full range of access hints exposed by a device.
However, for the general buffered-I/O / tiered-storage case, a small
set of hints achieves the bulk of the value.

I am also interested in:
Volatile ranges
SMR Enabling
Integrity passthrough

--
Dan

[1] T10 LBA Access Hints
[2] T13 Hybrid Information Feature
[3] AIO Attributes: http://marc.info/?l=linux-aio&m=136580574523674&w=2




More information about the dm-devel mailing list