论文标题
NETRPC:在远程过程调用中启用网络计算
NetRPC: Enabling In-Network Computation in Remote Procedure Calls
论文作者
论文摘要
人们已经表明,在许多应用程序方案中,网络内计算(INC)显着提高了性能,包括分布式培训,MAPREDUCE,协议和网络监控。但是,现有INC编程对普通应用程序开发人员不友好,要求乏味的网络工程详细信息,例如流量控制,数据包组织,特定于芯片的编程语言和ASIC架构,并具有许多限制。我们建议使用一般INC的RPC系统NetRPC。 NETRPC为软件开发人员提供了一组熟悉且轻巧的接口,以使用传统的RPC编程模型来描述INC应用程序。 NETRPC还提出了一套通用实现,以及一组优化技术,以确保在共享INC数据平面上运行的各种Inc应用程序的效率。我们对实际测试台上不同类型的应用进行了广泛的实验。结果表明,NetRPC仅使用大约5%甚至更少的人工编写的代码行,可以实现类似于最先进的Inc解决方案的性能。
People have shown that in-network computation (INC) significantly boosts performance in many application scenarios include distributed training, MapReduce, agreement, and network monitoring. However, existing INC programming is unfriendly to the normal application developers, demanding tedious network engineering details like flow control, packet organization, chip-specific programming language, and ASIC architecture with many limitations. We propose a general INC-enabled RPC system, NetRPC. NetRPC provides a set of familiar and lightweight interfaces for software developers to describe an INC application using a traditional RPC programming model. NetRPC also proposes a general-purpose INC implementation together with a set of optimization techniques to guarantee the efficiency of various types of INC applications running on a shared INC data plane. We conduct extensive experiments on different types of applications on the real testbed. Results show that using only about 5% or even fewer human-written lines of code, NetRPC can achieve performance similar to the state-of-the-art INC solutions.