MininetFed: A tool for assessing client selection, aggregation, and security in Federated Learning
Eduardo M. M. Sarmento, Johann J. Schmitz Bastos, Rodolfo da Silva Villaça, Giovanni Ventorim Comarela, Vinícius F. S. Mota · 2024
Federated learning (FL) aims to decentralize the learning process of machine learning algorithms, by considering end-devices as distributed trainers, which share only their local models parameters. In this way, devices avoid data sharing and improve privacy. Besides, there are frameworks and tools to simulate and implement federated learning algorithms, most of them dismiss the heterogeneity of real scenarios. This article presents MininetFed, a container-based tool that enables the emulation of realistic federated learning environments with heterogeneous and configurable edge devices, e.g. CPU, memory, and networking. The tool provides a set of well-known algorithms for FL environments. Therefore, researchers can define data partitioning strategies, client selection policies, model aggregation functions, and models for popular datasets. MininetFed also supports client aggregation using homomorphic encryption, ensuring secure and private communication among participants. Additionally, MininetFed generates logs and graphical visualizations of key metrics for detailed analysis. Designed to be extensible and educational, MininetFed facilitates the implementation and comparison of new federated learning algorithms.