Context-Aware I/O: Exploiting Application Context in the Storage Stack
The authors propose the concept of Context-Aware I/O (CAIO), a generic mechanism that enables lower layers of the storage stack such as the disk, to track application-data and application-I/O relationships. In CAIO, higher-level application context is propagated along with every I/O operation, in an end-to-end fashion, across the storage stack. By decoupling the generation of such contexts at the higher layers from how they are used by the lower layers, CAIO provides a simple, yet effective mechanism to encode and propagate application semantics to the storage stack. In addition to conveying information about the logical task on behalf of which an I/O is executed, context also acts a vehicle for tracking application-specific semantics at any layer of the storage stack.