一句话:提出交换机-主机协同的通用网内聚合服务 ASK,通过向量化、轻量可靠机制与热点键无关优先级加速键值流聚合。
键值流聚合在分布式系统中常见,但计算和网络开销大。本文提出通用网内聚合服务 ASK,采用可编程交换机与主机协同设计:交换机提供尽力而为聚合,主机守护进程对接应用。ASK 针对流量特征、硬件限制和网络不可靠性优化:在一次交换机流水线通过中向量化多个键值元组的聚合并提升单主机吞吐;为异步聚合设计轻量可靠性机制以保证正确性;面向键倾斜负载设计热点键无关优先级以提升交换机内存利用率。原型支持 Spark 和 BytePS,纯键值聚合任务最高加速 155 倍,大数据作业加速 3–5 倍。
Key-value stream aggregation is a common operation in distributed systems, which requires intensive computation and network resources. We propose a generic in-network aggregation service for key-value streams, ASK, to accelerate the aggregation operations in diverse distributed applications. ASK is a switch-host co-designed system, where the programmable switch provides a best-effort aggregation service, and the host runs a daemon to interact with applications. ASK makes in-depth optimization tailored to traffic characteristics, hardware restrictions, and network unreliable natures: it vectorizes multiple key-value tuples’ aggregation of one packet in one switch pipeline pass, which improves the per-host’s goodput; it develops a lightweight reliability mechanism for key-value stream’s asynchronous aggregation, which guarantees computation correctness; it designs a hot-key agnostic prioritization for key-skewed workloads, which improves the switch memory utilization. We prototype ASK and use it to support Spark and BytePS. The evaluation shows that ASK could accelerate pure key-value aggregation tasks by up to 155 times and big data jobs by 3-5 times, and be backward compatible with existing INA-empowered distributed training solutions with the same speedup.
@inproceedings{HeWLLL23,
title = {A Generic Service to Provide In-Network Aggregation for Key-Value Streams},
author = {Yongchao He and Wenfei Wu and Yanfang Le and Ming Liu and ChonLam Lao},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3575708}
}