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.
翻译:P4 语言已成为编程可重新构建匹配表格的可编程开关的主要选择。 V1Model 架构是这一范式最广泛可用的实现点。 P4 财团开发的开放源代码编译器前端可以进行语法分析, 并产生一个硬件独立的演示程序, 程序使用最新的 P4 版本( 也称为 P416 ) 编写程序( 也称为 P416 ) 。 需要有一个编译器后端来将这个中间显示器映射为 V1Model 开关的硬件资源 。 然而, V1Model 编译器后端没有可用的开放源代码, 无法在 V1 模块中检查一个P 4 程序在V1 的 P4 开源程序上的真实性。 在这项工作中, P4 将一个可编译的快速源代码转换为 P4 程序。