  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.
