Federated learning is a distributed machine learning approach where local weight parameters trained by clients locally are aggregated as global parameters by a server. The global parameters can be trained without uploading privacy-sensitive raw data owned by clients to the server. The aggregation on the server is simply done by averaging the local weight parameters, so it is an I/O intensive task where a network processing accounts for a large portion compared to the computation. The network processing workload further increases as the number of clients increases. To mitigate the network processing workload, in this paper, the federated learning server is offloaded to NVIDIA BlueField-2 DPU which is a smart NIC (Network Interface Card) that has eight processing cores. Dedicated processing cores are assigned by DPDK (Data Plane Development Kit) for receiving the local weight parameters and sending the global parameters. The aggregation task is parallelized by exploiting multiple cores available on the DPU. To further improve the performance, an approximated design that eliminates an exclusive access control between the computation threads is also implemented. Evaluation results show that the proposed DPDK-based federated learning server on the DPU with the approximation accelerates the execution time by 1.39 times with a negligible accuracy loss compared with a baseline server on the host CPU.
翻译:联邦学习是一种分布式机器学习方法,其中由客户端本地训练的局部权重参数由服务器聚合为全局参数。全局参数可以在不将客户端拥有的隐私敏感原始数据上传至服务器的情况下进行训练。服务器上的聚合操作简单地对局部权重参数取平均,因此这是一个I/O密集型任务,其中网络处理占比较大,远超计算部分。随着客户端数量的增加,网络处理负载会进一步增大。为减轻网络处理负载,本文将联邦学习服务器卸载至NVIDIA BlueField-2 DPU上,这是一种拥有八个处理核心的智能网卡。专用处理核心由DPDK分配,用于接收局部权重参数并发送全局参数。通过利用DPU上的多个核心,聚合任务被并行化处理。为进一步提升性能,本文还实现了一种近似设计方案,消除了计算线程之间的独占访问控制。评估结果表明,与主机CPU上的基线服务器相比,基于DPDK的联邦学习服务器在DPU上采用近似方法后,执行时间加速了1.39倍,而精度损失可忽略不计。