Testing Compilers for Programmable Switches Through Switch Hardware Simulation

05/05/2020
by   Michael D. Wong, et al.
0

Programmable switches have emerged as powerful and flexible alternatives to fixed function forwarding devices. But because of the unique hardware constraints of network switches, the design and implementation of compilers targeting these devices is tedious and error prone. Despite the important role that compilers play in software development, there is a dearth of tools for testing compilers within the software-defined networking sphere. We present Druzhba, a programmable switch simulator used for testing compilers targeting programmable packet processing substrates. We show that we can model the low-level behavior of a switch's programmable hardware. We further show how our machine model can be used by compiler developers to target Druzhba as a compiler backend. Generated machine code programs are fed into Druzhba and tested using a fuzzing-based approach that allows compiler developers to test the correctness of their compilers. Using a program-synthesis-based compiler as a case study, we demonstrate how Druzhba has been successful in testing compiler-generated machine code using our switch pipeline instruction set.

READ FULL TEXT
research
06/01/2020

Gauntlet: Finding Bugs in Compilers for Programmable Packet Processing

Programmable packet-processing devices such as programmable switches and...
research
08/26/2022

An Open-Source P416 Compiler Backend for Reconfigurable Match-Action Table Switches

The P4 language has become the dominant choice for programming the recon...
research
01/29/2021

Isolation mechanisms for high-speed packet-processing pipelines

Data-plane programmability is now mainstream, both in the form of progra...
research
07/10/2019

HTCC: Haskell to Handel-C Compiler

Functional programming languages, such as Haskell, enable simple, concis...
research
11/21/2022

Preprint: Open Source Compiling for V1Model RMT Switch: Making Data Center Networking Innovation Accessible

Very few of the innovations in deep networking have seen data center sca...
research
10/05/2018

Compiler Testing: A Systematic Literature Analysis

Compilers are widely-used infrastructures in accelerating the software d...
research
07/24/2018

One for All, All for One: A Heterogeneous Data Plane for Flexible P4 Processing

The P4 community has recently put significant effort to increase the div...

Please sign up or login with your details

Forgot password? Click here to reset