当前位置: X-MOL 学术ACM SIGCOMM Comput. Commun. Rev. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
P4RROT: Generating P4 Code for the Application Layer
ACM SIGCOMM Computer Communication Review ( IF 2.8 ) Pub Date : 2023-04-20 , DOI: https://dl.acm.org/doi/10.1145/3594255.3594258
Csaba Györgyi, Sándor Laki, Stefan Schmid

Throughput and latency critical applications could often benefit of performing computations close to the client. To enable this, distributed computing paradigms such as edge computing have recently emerged. However, with the advent of programmable data planes, computations cannot only be performed by servers but they can be offloaded to network switches. Languages like P4 enable to flexibly reprogram the entire packet processing pipeline. Though these devices promise high throughput and ultra-low response times, implementing application-layer tasks in the data plane programming language P4 is still challenging for an application developer who is not familiar with networking domain. In this paper, we first identify and examine obstacles and pain points one can experience when offloading server-based computations to the network. Then we present P4rrot, a code generator (in form of a library) which allows to overcome these limitations by providing a user-friendly API to describe computations to be offloaded. After discussing the design choices behind P4rrot, we introduce our proof-of-concept implementation for two P4 targets: Netronome SmartNIC and BMv2. To demonstrate the applicability of P4rrot, we investigate case studies in the context of publish-subscribe sensor data processing and real-time data streaming, supporting, in particular, MQTT-SN and MoldUDP packets.



中文翻译:

P4RROT:为应用层生成P4代码

吞吐量和延迟关键应用程序通常可以受益于在客户端附近执行计算。为了实现这一点,最近出现了分布式计算范例,例如边缘计算。然而,随着可编程数据平面的出现,计算不仅可以由服务器执行,还可以卸载到网络交换机。像 P4 这样的语言可以灵活地重新编程整个数据包处理管道。尽管这些设备承诺高吞吐量和超低响应时间,但对于不熟悉网络领域的应用程序开发人员来说,以数据平面编程语言 P4 实现应用层任务仍然具有挑战性。在本文中,我们首先确定并检查将基于服务器的计算卸载到网络时可能遇到的障碍和痛点。然后我们介绍 P4rrot,一个代码生成器(以库的形式),它通过提供一个用户友好的 API 来描述要卸载的计算来克服这些限制。在讨论了 P4rrot 背后的设计选择之后,我们介绍了我们针对两个 P4 目标的概念验证实现:Netronome SmartNIC 和 BMv2。为了证明 P4rrot 的适用性,我们调查了发布-订阅传感器数据处理和实时数据流的案例研究,特别是支持 MQTT-SN 和 MoldUDP 数据包。

更新日期:2023-04-21
down
wechat
bug