TY - GEN
T1 - HotCocoa
T2 - 16th ACM Workshop on Hot Topics in Networks, HotNets 2017
AU - Arashloo, Mina Tahmasbi
AU - Ghobadi, Monia
AU - Rexford, Jennifer L.
AU - Walker, David P.
N1 - Publisher Copyright:
© 2017 Copyright held by the owner/author(s).
PY - 2017/11/30
Y1 - 2017/11/30
N2 - Congestion control in multi-tenant data centers is an active area of research because of its significant impact on customer experience, and, consequently, on revenue. Therefore, new algorithms and protocols are expected to emerge as the Cloud evolves. Deploying new congestion control algorithms in the end host's hypervisor allows frequent updates, but processing packets at high rates in the hypervisor and implementing the elements of a congestion control algorithm, such as traffic shapers and timestamps, in software have well-studied inaccuracies and CPU inefficiencies. In this paper, we argue for implementing the entire congestion control algorithm in programmable NICs. To do so, we identify the absence of hardware-aware programming abstractions as the most immediate challenge and solve it using a simple high-level domain specific language called HotCocoa. HotCocoa lies at a sweet spot between the ability to express a broad set of congestion control algorithms and efficient hardware implementation. It offers a set of hardware-aware COngestion COntrol Abstractions that enable operators to specify their algorithm without having to worry about low-level hardware primitives. To evaluate HotCocoa, we implement four congestion control algorithms (Reno, DCTCP, PCC, and TIMELY) and use simulations to show that HotCocoa's implementation of Reno perfectly tracks the behavior of a native implementation in C++.
AB - Congestion control in multi-tenant data centers is an active area of research because of its significant impact on customer experience, and, consequently, on revenue. Therefore, new algorithms and protocols are expected to emerge as the Cloud evolves. Deploying new congestion control algorithms in the end host's hypervisor allows frequent updates, but processing packets at high rates in the hypervisor and implementing the elements of a congestion control algorithm, such as traffic shapers and timestamps, in software have well-studied inaccuracies and CPU inefficiencies. In this paper, we argue for implementing the entire congestion control algorithm in programmable NICs. To do so, we identify the absence of hardware-aware programming abstractions as the most immediate challenge and solve it using a simple high-level domain specific language called HotCocoa. HotCocoa lies at a sweet spot between the ability to express a broad set of congestion control algorithms and efficient hardware implementation. It offers a set of hardware-aware COngestion COntrol Abstractions that enable operators to specify their algorithm without having to worry about low-level hardware primitives. To evaluate HotCocoa, we implement four congestion control algorithms (Reno, DCTCP, PCC, and TIMELY) and use simulations to show that HotCocoa's implementation of Reno perfectly tracks the behavior of a native implementation in C++.
UR - http://www.scopus.com/inward/record.url?scp=85041200366&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85041200366&partnerID=8YFLogxK
U2 - 10.1145/3152434.3152457
DO - 10.1145/3152434.3152457
M3 - Conference contribution
AN - SCOPUS:85041200366
T3 - HotNets 2017 - Proceedings of the 16th ACM Workshop on Hot Topics in Networks
SP - 108
EP - 114
BT - HotNets 2017 - Proceedings of the 16th ACM Workshop on Hot Topics in Networks
PB - Association for Computing Machinery, Inc
Y2 - 30 November 2017 through 1 December 2017
ER -