TY - GEN
T1 - IOFlow
T2 - 24th ACM Symposium on Operating Systems Principles, SOSP 2013
AU - Thereska, Eno
AU - Ballani, Hitesh
AU - O'Shea, Greg
AU - Karagiannis, Thomas
AU - Rowstron, Antony
AU - Talpey, Tom
AU - Black, Richard
AU - Zhu, Timothy
PY - 2013
Y1 - 2013
N2 - In data centers, the IO path to storage is long and complex. It comprises many layers or "stages" with opaque interfaces between them. This makes it hard to enforce end-to-end policies that dictate a storage IO flow's performance (e.g., guarantee a tenant's IO bandwidth) and routing (e.g., route an untrusted VM's traffic through a sanitization middlebox). These policies require IO differentiation along the flow path and global visibility at the control plane. We design IOFlow, an architecture that uses a logically centralized control plane to enable high-level flow policies. IOFlow adds a queuing abstraction at data-plane stages and exposes this to the controller. The controller can then translate policies into queuing rules at individual stages. It can also choose among multiple stages for policy enforcement. We have built the queue and control functionality at two key OS stages - the storage drivers in the hypervisor and the storage server. IOFlow does not require application or VM changes, a key strength for deployability. We have deployed a prototype across a small testbed with a 40 Gbps network and storage devices. We have built control applications that enable a broad class of multi-point flow policies that are hard to achieve today.
AB - In data centers, the IO path to storage is long and complex. It comprises many layers or "stages" with opaque interfaces between them. This makes it hard to enforce end-to-end policies that dictate a storage IO flow's performance (e.g., guarantee a tenant's IO bandwidth) and routing (e.g., route an untrusted VM's traffic through a sanitization middlebox). These policies require IO differentiation along the flow path and global visibility at the control plane. We design IOFlow, an architecture that uses a logically centralized control plane to enable high-level flow policies. IOFlow adds a queuing abstraction at data-plane stages and exposes this to the controller. The controller can then translate policies into queuing rules at individual stages. It can also choose among multiple stages for policy enforcement. We have built the queue and control functionality at two key OS stages - the storage drivers in the hypervisor and the storage server. IOFlow does not require application or VM changes, a key strength for deployability. We have deployed a prototype across a small testbed with a 40 Gbps network and storage devices. We have built control applications that enable a broad class of multi-point flow policies that are hard to achieve today.
UR - http://www.scopus.com/inward/record.url?scp=84889639165&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84889639165&partnerID=8YFLogxK
U2 - 10.1145/2517349.2522723
DO - 10.1145/2517349.2522723
M3 - Conference contribution
AN - SCOPUS:84889639165
SN - 9781450323888
T3 - SOSP 2013 - Proceedings of the 24th ACM Symposium on Operating Systems Principles
SP - 182
EP - 196
BT - SOSP 2013 - Proceedings of the 24th ACM Symposium on Operating Systems Principles
Y2 - 3 November 2013 through 6 November 2013
ER -