论文标题

可重新配置的匹配表桌开关的开源P416编译器后端

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

论文作者

Robin, Debobroto Das, Khan, Javed I.

论文摘要

P4语言已成为编程基于可编程表的可编程开关的主要选择。 V1Model架构是此范式最广泛可用的实现。 P4联盟开发的开源编译器前端可以执行语法分析,并通过使用最新版本的P4(也称为P416)来得出与硬件无关的代表。需要编译器后端将此中间表示形式映射到V1Model Switch的硬件资源。但是,没有开源编译器后端可用于检查V1Model Switch上P416程序的可靠性。可用于此目的的不同硬件供应商提供的专有工具。但是,它们是封闭的源,无法提供对内部映射机制的访问。可以禁止使用新的映射算法和可重新配置的匹配表架构的创新指令集实验。此外,专有的编译器后端是昂贵的,并配备了各种不披露协议。这些因素对可编程开关相关的研究构成了严重的挑战。在这项工作中,我们为基于V1Model架构的可编程开关提供了一个开源P416编译器后端。它使用基于启发式的映射算法在V1Model Switch的硬件资源上映射P416程序。它允许开发人员快速原型不同的映射算法。它还提供了P416程序的各种资源使用统计信息,从而在多个P416方案之间进行了比较。

The P4 language has become the dominant choice for programming the reconfigurable match-action table based programmable switches. V1Model architecture is the most widely available realization of this paradigm. The open-source compiler frontend developed by the P4 consortium can execute syntax analysis and derive a hardware-independent representation of a program written using the latest version of P4 (also known as P416 ). A compiler backend is required to map this intermediate representation to the hardware resources of a V1Model switch. However, there is no open-source compiler backend available to check the realizability of a P416 program over a V1Model switch. Proprietary tools provided by different hardware vendors are available for this purpose. However, they are closed source and do not provide access to the internal mapping mechanisms. Which inhibits experimenting with new mapping algorithms and innovative instruction sets for reconfigurable match-action table architecture. Moreover, the proprietary compiler backends are costly and come with various non-disclosure agreements. These factors pose serious challenges to programmable switch-related research. In this work, we present an open-source P416 compiler backend for the V1Model architecture-based programmable switches. It uses heuristic-based mapping algorithms to map a P416 program over the hardware resources of a V1Model switch. It allows developers to rapidly prototype different mapping algorithms. It also gives various resource usage statistics of a P416 program, enabling comparison among multiple P416 schemes.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源