arrow
Return

Morpheus: A Run Time Compiler and Optimizer for Software Data Planes

delete2024-06-01
delete1
PRE
AI
S
Sebastiano Miano *
A
Alireza Sanaee
F
Fulvio Risso
G
Gábor Rétvári
G
Gianni Antichi
DOI:10.1109/TNET.2023.3346286delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
State-of-the-art approaches to design, develop and optimize software packet-processing programs are based on static compilation: the compiler's input is a description of the forwarding plane semantics and the output is a binary that can accommodate any control plane configuration or input traffic. In this paper, we demonstrate that tracking control plane actions and packet-level traffic dynamics at run time opens up new opportunities for code specialization. We present, a system working alongside static compilers that continuously optimizes the targeted networking code. We introduce a number of new techniques, from static code analysis to adaptive code instrumentation, and we implement a toolbox of domain specific optimizations that are not restricted to a specific data plane framework or programming language. We apply to several systems, from eBPF and DPDK programs including Katran, Meta's production-grade load balancer to container orchestration solutions such a Kubernets. We compare to state-of-the-art optimization frameworks and show that it can bring up to 2x throughput improvement, while halving the 99th percentile latency.
Keywords:
Codes
Optimization
Software
Instruments
Firewalls (computing)
Containers
Traffic control
Data plane compilation
LLVM
eBPF
XDP
DPDK

Journal

I
IEEE-ACM Transactions on Networking
IF:
3.6
Papers:
4.4K
Citations:
9.5K

Organization

P
Polytechnic University of Milan
Scholars:
2.0W
Papers: 1.8W
Citations: 24
P
Polytechnic University of Turin
Scholars:
1.3W
Papers: 1.3W
Citations: 1.3W
Q
Queen Mary University London
Scholars:
2.0W
Papers: 1.5W
Citations: 327
U
university of london
Scholars:
21.5W
Papers: 19.7W
Citations: 305
researcher View more organizations