Towards Practical and Usable In-network Classification
Di Zhu, Jianxi Chen, Hyojoon Kim
TL;DR
ACORN tackles the practicality gap in in-network ML by automating the end-to-end deployment of Python ML models on distributed, programmable data planes. It introduces a layer-based representation for tree-based models and a streamlined SVM deployment, enabling large feature support and runtime programmability across multiple switches via an ILP-driven optimizer. The system demonstrates substantial feature capacity and latency benefits, achieving 65-90% faster per-request serving with negligible network overhead while supporting runtime updates without reloading devices. The authors provide a complete implementation (controller, translator, optimizer, and data-plane programs) and publicly release these artifacts, underscoring ACORN's potential for real-world deployment in programmable networks.
Abstract
In-network machine learning enables real-time classification directly on network hardware, offering consistently low inference latency. However, current solutions are limited by strict hardware constraints, scarce on-device resources, and poor usability, making them impractical for ML developers and cloud operators. To this end, we propose ACORN, an end-to-end system that automates the distributed deployment of practical machine learning models across the network. ACORN provides a fully automated pipeline that loads and deploys Python ML models on network devices using an optimized deployment plan from an ILP planner. To support larger models under hardware constraints and allow runtime programmability, ACORN adopts a novel data plane representation for Decision Tree, Random Forest, and Support Vector Machine models. We implement ACORN prototype in P4 and run it on real programmable hardware. Our evaluation shows ACORN can deploy classification ML models with 2-4x more features than state-of-the-art solutions, while imposing negligible overhead on network performance and traffic. We will make our data plane program, model translator, optimizer, and all related scripts publicly available.
