Traditionally, switches only provide forwarding services and have no credits on computation in distributed computing frameworks. The emerging programmable switches make in-network computing (INC) possible, i.e., offloading some computation to the switch data plane. While some proposals have attempted to offload computation onto special hardwares (e.g., NetFPGA), many practical issues have not been addressed. Therefore, we propose P4COM - a user-friendly, memory-efficient, and fault-tolerant framework realizing in-network computation (e.g., MapReduce) with programmable switches. P4COM consists of three modules. First, P4COM automatically translates application logic to switch data plane programs with a lightweight interpreter. Second, P4COM adopts a memory management policy to efficiently utilize the limited switch on-chip memory. Third, P4COM provides a cutting-payload mechanism to handle packet losses. We have built a P4COM prototype with a Barefoot Tofino switch and multiple commodity servers. Through a combination of testbed experiments and large-scale simulations, we show that P4COM is able to achieve line-rate processing at 10Gbps links, and can increase the data shuffling throughput by 2-5 times for the MapReduce-style applications.
翻译:在传统上,开关只提供转发服务,在分布式计算框架中计算时没有分数分数。新出现的可编程开关使网络内计算成为可能,即将一些计算卸载到开关数据平面上。有些提议试图将计算卸载到特殊硬件上(例如,NetFPGA),但许多实际问题尚未解决。因此,我们提议P4COM——一个方便用户、记忆高效和容错的网络计算框架(例如,MapReduce),由可编程开关组成。P4COM由三个模块组成。首先,P4COM自动翻译应用逻辑,用轻量级翻译器转换数据平面程序。第二,P4COM采用记忆管理政策,有效利用有限开关在芯存储上,第三,P4COM提供处理包损失的开销机制。我们建造了一台P4COM原型,带有可编程托菲诺开关和多种商品服务器。通过测试实验式实验和大规模模拟相结合,我们显示P4COM能够通过10-5链链路进行在线处理。