Skip to main content

Gallium: Automated Software Middlebox Offloading to Programmable Switches

Publication ,  Conference
Zhang, K; Zhuo, D; Krishnamurthy, A
Published in: SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication
July 30, 2020

Researchers have shown that offloading software middleboxes (e.g., NAT, firewall, load balancer) to programmable switches can yield orders-of-magnitude performance gains. However, it requires manually selecting the middle-box components to offload and rewriting the offloaded code in P4, a domain-specific language for programmable switches. We design and implement Gallium, a compiler that transforms an input software middlebox into two parts-a P4 program that runs on a programmable switch and an x86 non-offloaded program that runs on a regular middlebox server. Gallium ensures that (1) the combined effect of the P4 program and the non-offloaded program is functionally equivalent to the input middlebox program, (2) the P4 program respects the resource constraints in the programmable switch, and (3) the run-to-completion semantics are met under concurrent execution. Our evaluations show that Gallium saves 21-79% of processing cycles and reduces latency by about 31% across various software middleboxes.

Duke Scholars

Published In

SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication

DOI

Publication Date

July 30, 2020

Start / End Page

283 / 295
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Zhang, K., Zhuo, D., & Krishnamurthy, A. (2020). Gallium: Automated Software Middlebox Offloading to Programmable Switches. In SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication (pp. 283–295). https://doi.org/10.1145/3387514.3405869
Zhang, K., D. Zhuo, and A. Krishnamurthy. “Gallium: Automated Software Middlebox Offloading to Programmable Switches.” In SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication, 283–95, 2020. https://doi.org/10.1145/3387514.3405869.
Zhang K, Zhuo D, Krishnamurthy A. Gallium: Automated Software Middlebox Offloading to Programmable Switches. In: SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication. 2020. p. 283–95.
Zhang, K., et al. “Gallium: Automated Software Middlebox Offloading to Programmable Switches.” SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication, 2020, pp. 283–95. Scopus, doi:10.1145/3387514.3405869.
Zhang K, Zhuo D, Krishnamurthy A. Gallium: Automated Software Middlebox Offloading to Programmable Switches. SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication. 2020. p. 283–295.

Published In

SIGCOMM 2020 - Proceedings of the 2020 Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication

DOI

Publication Date

July 30, 2020

Start / End Page

283 / 295