1 Bertha: Tunneling Through the Network API Akshay Narayan Aurojit Panda Mohammad Alizadeh Hari Balakrishnan Arvind Krishnamurthy ScoB Shenker MIT, NYU, UW, UC Berkeley, ICSI
Recent Developments 2
New Network Infrastructure 3 New: Network devices with programmable dataplane Routers Network Middleboxes SmartNICs P4 Switches App FPGAs New: ApplicaQon funcQonality in the network
Architectural API 4 APIs encode tradiQonal end-to-end semanQcs Routers GRPC Sockets Network QUIC DPDK Middleboxes SmartNICs P4 Switches App FPGAs
5 What would an API that encoded applicaQon offload semanQcs look like?
Want: An Interface 6 Proposeded Application Interface Offloads Today Offload-Aware Application Implementation Developer (Sharded KV-Store) Offload Implementation Implementations Application Offload (P4 Sharding declares sequence of Developer Developer Implementation) offloads Platform Configured with System Offload implementation Offloads Offload Administrator and (Configure server Developer metadata for KV-store) Route Network Traffic through offloads Operator (Configure SDN Control Plane)
Offload Deployment 7 Offload deployment scenarios Server Client A-M SmartNIC P4 Switch Shard N-Z Shard
Out-of-Band CoordinaQon 8 Server Offload Switch config + SDN policy Offload developer ApplicaQon developer Network operator System administrator
9 What would an API that encoded applicaQon offload semanQcs look like? Our Answer: Chunnels + Bertha
Chunnels 10 Best-Effort Bertha End-To-End Bertha Packets Chunnel(s) hBps:/ /upload.wikimedia.org/wikipedia/commons/c/cb/Fresque_25_ans_Eurotunnel.jpg hBps:/ /en.wikipedia.org/wiki/File:Front_of_model_of_tunnel_boring_machine_at_Milepost_31.JPG
Chunnels 11 From the applicaQon’s perspecQve, in-machine and in-network offloads are the same ApplicaQon Chunnel P4 Switch Bertha
Chunnel ProperQes 12 Best-Effort End-To-End Packets Fallback: FuncQonality implementable by end-host applicaQon sohware
Chunnel ProperQes 13 Fallback: Portability ApplicaQon Relevance
Chunnel ProperQes 14 Fallback: Portability ApplicaQon relevance: Safety Encrypt HTTP/2 TCP Composable Bertha ConnecQon
Bertha Roles 15 Discovery: Figure out which Chunnel implementaQons are available (e.g., eBPF, Kernel) NegoQaQon: Decide which implementaQon to use. init() / teardown() ApplicaQon Network Chunnels Kernel, eBPF P4 Switch Bertha Discovery NegoQaQon
NegoQaQon 16 ApplicaQon “I need an encrypQon Chunnel” Encrypt Bertha Discovery NegoQaQon ConsideraQons: “I implement Developer preference encrypQon” Offload availability Network policy Kernel, eBPF SmartNIC
17 Cool ImplicaQons
Research DirecQons 18 OpQmizaQon Scheduling AutomaQc reordering/subsQtuQon of MulQplexing offloads parts of the Chunnel specificaQon between connecQons and applicaQons init() / teardown() ApplicaQon Network Chunnels Kernel, eBPF P4 Switch Bertha Discovery NegoQaQon
Chunnel OpQmizaQon 19 Encrypt HTTP/2 To use these offloads, must to traverse PCIe 3x TCP EncrypQon, TCP Chunnel ImplementaQons SmartNIC
Chunnel OpQmizaQon 20 HTTP/2 Reordering reduces Similar to opQmizaQons in Encrypt data movement Weld, TensorFlow, ONNX TCP EncrypQon, TCP Chunnel ImplementaQons SmartNIC
Client Push 21 Server Bertha P4 Switch Client NetAdvisor Chunnel
End 22 init() / teardown() ApplicaQon Network Chunnels Kernel, eBPF P4 Switch Bertha Discovery NegoQaQon Contact: akshayn@mit.edu
Recommend
More recommend