The Case for a Flexible Low-Level Backend for Software Data Planes

被引:6
|
作者
Choi, Sean [1 ]
Long, Xiang [2 ]
Shahbaz, Muhammad [3 ]
Booth, Skip [4 ]
Keep, Andy [4 ]
Marshall, John [4 ]
Kim, Changhoon [5 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
[2] Cornell Univ, Ithaca, NY 14853 USA
[3] Princeton Univ, Princeton, NJ 08544 USA
[4] Cisco Inc, San Francisco, CA USA
[5] Barefoot Networks Inc, Santa Clara, CA USA
来源
PROCEEDINGS OF THE 2017 ASIA-PACIFIC WORKSHOP ON NETWORKING (APNET '17) | 2017年
关键词
Programmable Data Plane; Software Switch; P4; Vector Packet Processing (VPP); FD.io; PVPP;
D O I
10.1145/3106989.3107000
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Recent efforts to simplify network data plane programming focus on providing simple, high-level domain-specific languages (DSLs). In the case of software switches, data plane programs are written in these DSLs and then compiled to run on CPU-based architecture. However, the simplicity of these DSLs, along with the lack of low-level interfaces exposed by the software switch, restrict compilers from generating optimal data plane programs for CPU-based architecture. In this paper, we argue that increased exposure of low-level interfaces to a software switch would enable more effective data plane programs. To demonstrate this, we present Programmable Vector Packet Processor (PVPP), which adds programmability to the Vector Packet Processing (VPP) framework. VPP provides fine-grain access to various low-level features of a CPU-architecture and offers better performance compared to other software switches, such as Open vSwitch (OVS), that operate at a higher level of abstraction. However, there is a cost to programming directly using VPP's low-level features. The programmer must have specialized knowledge about the architecture in order to produce an efficient implementation, resulting in difficulties when optimizing the program. PVPP attempts to alleviate this cost by allowing the compilation of a program written in P4 to VPP's internal node-graph representation. Our preliminary results show that PVPP improves performance of data plane programs by around 30% compared to naive VPP implementations.
引用
收藏
页码:71 / 77
页数:7
相关论文
共 1 条
  • [1] Flexible Software-Defined Packet Processing Using Low-Area Hardware
    Zolfaghari, Hesam
    Rossi, Davide
    Cerroni, Walter
    Okuhara, Hayate
    Raffaelli, Carla
    Nurmi, Jari
    IEEE ACCESS, 2020, 8 : 98929 - 98945