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
关键词
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
相关论文
共 50 条
  • [21] Data refinement with low-level pointer operations
    Mijajlovic, I
    Yang, HS
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2005, 3780 : 19 - 36
  • [22] High-level decisions from low-level data
    Beers, SM
    SMC '97 CONFERENCE PROCEEDINGS - 1997 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS, VOLS 1-5: CONFERENCE THEME: COMPUTATIONAL CYBERNETICS AND SIMULATION, 1997, : 1948 - 1953
  • [23] Parallelized Software Offloading of Low-Level Communication with User-Level Threads
    Endo, Wataru
    Taura, Kenjiro
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING IN ASIA-PACIFIC REGION (HPC ASIA 2018), 2018, : 289 - 298
  • [24] Low-Level Flexible Architecture with Hybrid Reconfiguration for Evolvable Hardware
    Dobai, Roland
    Sekanina, Lukas
    ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2015, 8 (03)
  • [25] Development of a more flexible low-level control for MMC applications
    Park, In Kwon
    Zhang, Yi
    2020 IEEE 9TH INTERNATIONAL POWER ELECTRONICS AND MOTION CONTROL CONFERENCE (IPEMC2020-ECCE ASIA), 2020, : 2325 - 2330
  • [26] The 2002 IAEA intercomparison of software for low-level γ-ray spectrometry
    Arnold, D
    Blaauw, M
    Fazinic, S
    Kolotov, VP
    NUCLEAR INSTRUMENTS & METHODS IN PHYSICS RESEARCH SECTION A-ACCELERATORS SPECTROMETERS DETECTORS AND ASSOCIATED EQUIPMENT, 2005, 536 (1-2): : 196 - 210
  • [27] REPORTING LOW-LEVEL DATA FOR COMPUTERIZED DATA-BASES
    BROSSMAN, MW
    MCKENNA, G
    KAHN, H
    KING, D
    KLEOPFER, R
    TAYLOR, JK
    ACS SYMPOSIUM SERIES, 1988, 361 : 317 - 327
  • [28] STATISTICAL TREATMENT OF THE LOW-LEVEL COUNTING DATA IN GALLEX
    ANSELMANN, P
    HARTMANN, FX
    PROGRESS IN PARTICLE AND NUCLEAR PHYSICS, VOL 32: NEUTRINOS IN COSMOLOGY, ASTRO, PARTICLE AND NUCLEAR PHYSICS, 1994, 32 : 35 - 40
  • [30] COHERENT NOISE IN LOW-LEVEL SAMPLED DATA SYSTEMS
    TAYLOR, JH
    SHUSTER, TE
    INSTRUMENTS & CONTROL SYSTEMS, 1970, 43 (08): : 110 - &