TY - JOUR
T1 - Elmo
T2 - Source Routed Multicast for Public Clouds
AU - Shahbaz, Muhammad
AU - Suresh, Lalith
AU - Rexford, Jennifer
AU - Feamster, Nick
AU - Rottenstreich, Ori
AU - Hira, Mukesh
N1 - Funding Information:
Manuscript received September 24, 2019; accepted July 26, 2020; approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor A. Venkataramani. Date of publication September 22, 2020; date of current version December 16, 2020. This work was supported by NSF Awards under Grant CNS-1704077 and Grant AitF-1535948. This article was presented in part at the ACM SIG-COMM Conference, Beijing, China, August 2019. (Corresponding author: Muhammad Shahbaz.) Muhammad Shahbaz is with the Computer Science Department, Purdue University, West Lafayette, IN 47907 USA, and also with the Computer Science Department, Stanford University, Stanford, CA 94305 USA (e-mail: mshahbaz@cs.stanford.edu).
Publisher Copyright:
© 1993-2012 IEEE.
PY - 2020/12
Y1 - 2020/12
N2 - We present Elmo, a system that addresses the multicast scalability problem in multi-tenant datacenters. Modern cloud applications frequently exhibit one-to-many communication patterns and, at the same time, require sub-millisecond latencies and high throughput. IP multicast can achieve these requirements but has control- and data-plane scalability limitations that make it challenging to offer it as a service for hundreds of thousands of tenants, typical of cloud environments. Tenants, therefore, must rely on unicast-based approaches (e.g., application-layer or overlay-based) to support multicast in their applications, imposing bandwidth and end-host CPU overheads, with higher and unpredictable latencies. Elmo scales network multicast by taking advantage of emerging programmable switches and the unique characteristics of data-center networks; specifically, the hypervisor switches, symmetric topology, and short paths in a datacenter. Elmo encodes multicast group information inside packets themselves, reducing the need to store the same information in network switches. In a three-tier data-center topology with 27,000 hosts, Elmo supports a million multicast groups using an average packet-header size of 114 bytes (max. 325 bytes), requiring as few as 1,100 multicast group-table entries on average in leaf switches, and having a traffic overhead as low as 5% over ideal multicast.
AB - We present Elmo, a system that addresses the multicast scalability problem in multi-tenant datacenters. Modern cloud applications frequently exhibit one-to-many communication patterns and, at the same time, require sub-millisecond latencies and high throughput. IP multicast can achieve these requirements but has control- and data-plane scalability limitations that make it challenging to offer it as a service for hundreds of thousands of tenants, typical of cloud environments. Tenants, therefore, must rely on unicast-based approaches (e.g., application-layer or overlay-based) to support multicast in their applications, imposing bandwidth and end-host CPU overheads, with higher and unpredictable latencies. Elmo scales network multicast by taking advantage of emerging programmable switches and the unique characteristics of data-center networks; specifically, the hypervisor switches, symmetric topology, and short paths in a datacenter. Elmo encodes multicast group information inside packets themselves, reducing the need to store the same information in network switches. In a three-tier data-center topology with 27,000 hosts, Elmo supports a million multicast groups using an average packet-header size of 114 bytes (max. 325 bytes), requiring as few as 1,100 multicast group-table entries on average in leaf switches, and having a traffic overhead as low as 5% over ideal multicast.
KW - Multicast
KW - P4
KW - PISA
KW - bitmap encoding
KW - source routing
UR - http://www.scopus.com/inward/record.url?scp=85097955078&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85097955078&partnerID=8YFLogxK
U2 - 10.1109/TNET.2020.3020869
DO - 10.1109/TNET.2020.3020869
M3 - Article
AN - SCOPUS:85097955078
SN - 1063-6692
VL - 28
SP - 2587
EP - 2600
JO - IEEE/ACM Transactions on Networking
JF - IEEE/ACM Transactions on Networking
IS - 6
M1 - 9203873
ER -