Source code of DUNE: Distributed Inference in the User Plane
Description
This repository contains the source code of DUNE.
The deployment of Machine Learning (ML) models in the user plane, enabling line-rate in-network inference, significantly reduces latency and improves the scalability of cases like traffic monitoring. Yet, integrating ML models into programmable network devices requires meeting stringent constraints in terms of memory resources and computing capabilities. Previous solutions have focused on implementing monolithic ML models within individual programmable network devices, which are limited by hardware constraints, especially while executing challenging classification use cases. In this paper, we propose DUNE, a novel framework that realizes for the first time a user plane inference that is distributed across the multiple devices that compose the programmable network. DUNE adopts fully automated approaches to (i) breaking large ML models into simpler sub-models that preserve inference accuracy while minimizing resource usage, (ii) designing the sub-models and their sequencing to enable an efficient distributed execution of joint packet- and flow-level inference. We implement DUNE using P4, deploy it in an experimental network with multiple industry-grade programmable switches, and run tests with real-world traffic measurements for two complex inference use cases. Our results demonstrate that DUNE not only reduces per-switch resource utilization with respect to legacy monolithic ML designs but also improves their inference accuracy by up to 7.5%.
Files
nds-group/DUNE-v0.25.09.zip
Files
(837.1 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:28a9d03a20be747f02a1939e63b6f271
|
837.1 kB | Preview Download |
Additional details
Related works
- Is source of
- Conference paper: 10.5281/zenodo.14718514 (DOI)
Funding
Software
- Repository URL
- https://github.com/nds-group/DUNE
- Programming language
- Python, P4
- Development Status
- Active