Litcius/Paper detail

Gallium

Kaiyuan Zhang, Danyang Zhuo, Arvind Krishnamurthy

202048 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceCompilerOperating systemSoftwareEmbedded systemLatency (audio)TelecommunicationsSoftware-Defined Networks and 5GSoftware System Performance and ReliabilityParallel Computing and Optimization Techniques
Gallium | Litcius