Corpus ID: 235446796

Dynamic Recompilation of Software Network Services with Morpheus

  title={Dynamic Recompilation of Software Network Services with Morpheus},
  author={S. Miano and Alireza Sanaee and F. Risso and G'abor R'etv'ari and G. Antichi},
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 Morpheus, a system… Expand
Synthesizing safe and efficient kernel extensions for packet processing
K2 is presented, a program-synthesis-based compiler that automatically optimizes BPF bytecode with formal correctness and safety guarantees and produces code with 6--26% reduced size, 1.36%--55.03% lower average packet-processing latency, and 0--4.75% higher throughput relative to the best clang-compiled program, across benchmarks drawn from Cilium, Facebook, and the Linux kernel. Expand


Dynamic Compilation and Optimization of Packet Processing Programs
Data plane compilation is a transformation from a high-level description of the intended packet processing functionality to the underlying data plane architecture. Compilation in this setting isExpand
PVPP: A Programmable Vector Packet Processor
The evaluation shows that PVPP can efficiently exploit the various features of the underlying architecture e.g., execution modes, memory types, and the batch I/O, resulting in the increased performance of the same data plane program. Expand
The Case for a Flexible Low-Level Backend for Software Data Planes
This paper argues that increased exposure of low-level interfaces to a software switch would enable more effective data plane programs and presents Programmable Vector Packet Processor (PVPP), which adds programmability to theVector Packet Processing (VPP) framework. Expand
Dynamo: a transparent dynamic optimization system
We describe the design and implementation of Dynamo, a software dynamic optimization system that is capable of transparently improving the performance of a native instruction stream as it executes onExpand
P5: Policy-driven optimization of P4 pipeline
Policy-driven optimization of P4 Pipeline is proposed, a system that exploits knowledge of application deployments embedded in a high-level policy abstraction to detect features that are used by applications in a mutually-exclusive way and thereby remove inter-feature dependencies between the tables implementing these features in a network switch. Expand
Dataplane Specialization for High-performance OpenFlow Software Switching
This paper introduces ESwitch, a novel switch architecture that uses on-the-fly template-based code generation to compile any OpenFlow pipeline into efficient machine code, which can then be readily used as fast path. Expand
A Preliminary Performance Model for Optimizing Software Packet Processing Pipelines
A preliminary performance model can be used by a compiler, to reason about the expected performance of a packet-processing workload for different code configurations, and can thus be used to optimize the generated code accordingly. Expand
A Framework for eBPF-Based Network Functions in an Era of Microservices
Polycube is presented, a software framework whose main goal is to bring the power of NFV to in-kernel packet processing applications, enabling a level of flexibility and customization that was unthinkable before. Expand
Header Space Analysis: Static Checking for Networks
The goal is to automatically find an important class of failures, regardless of the protocols running, for both operational and experimental networks, with a general and protocol-agnostic framework, called Header Space Analysis (HSA). Expand
Performance Contracts for Software Network Functions
BOLT is described, a technique and tool for computing such performance contracts for the entire software stack of NFs written in C, including the core NF logic, DPDK packet processing framework, and NIC driver. Expand