Monica: Towards Scalable Distributed System Verification by Programmable Switch-Based Testing - Lin, Junjie; Yu, Jiashuo; Zhu, Longlong; Zhang, Dong; Liao, Lida; Lin, Chuan; Wu, Rongbang; Chen, Xiang; Wu, Chunming (IEEE/ACM ... International Symposium on Quality of Service (Online), 2025)
Data correctness in distributed systems is ensured by data consistency, where consistency is achieved by consensus algorithms. To safeguard data consistency, current testing tools use stress testing methods to examine consensus algorithms. However, existing tools are unable to simulate the situation under high traffic and suffer from excessive verification time. In this paper, we propose Monica, a scalable and efficient verification framework. Its key idea is to leverage the programmable switch to verify consensus algorithms. Specifically, Monica provides a set of primitives that researchers can invoke. Then, the control server recognizes the primitives and automatically configures the data plane. After that, the programmable switch collaborates with the control server to complete the verification. Experimental results show that Monica can generate traffic at the rate of Tbps level while keeping the computational and memory consumption of the programmable switch under 11.87%. Compared to existing testing tools, Monica increases the verification speed by up to 3.13 times. Further, Monica improved accuracy by 35.71% in high-traffic scenarios over other tools.