Homunculus: Auto-Generating Efficient Data-Plane ML Pipelines for Datacenter Networks (ASPLOS '23)
Homunculus Docker Image (ASPLOS '23): The provided zip (artifact-asplos23-docker.zip) file contains a Docker image with a pre-built Homunculus compiler along with all its dependencies. Users only need to (1) install Docker (and allow non-root users to spin up docker containers), (2) download the zipped Docker image provided with this archive, and (3) execute the following commands to run the accompanying experiments on three applications (anomaly detection, traffic classification, botnet detection).
1.) Load and run the Docker container:
------------------------------------------------------------------------------
docker load --input artifact-asplos23-docker.zip
docker run --rm -it -w /workdir --network host asplos-artifact-docker:latest
------------------------------------------------------------------------------
2.) Inside the Docker container, source the Python environment and run the experiments script:
------------------------------------------------------------------------------
cd artifact-asplos23/
source homunculus-venv/bin/activate
./run-artifact.sh
------------------------------------------------------------------------------
3.) Users can collect the previously generated results and print them again by running just the collection script:
------------------------------------------------------------------------------
./collect-artifact-results.sh
------------------------------------------------------------------------------
The repositories contained in this Docker image are:
1. Homunculus Artifact (ASPLOS '23): The source code and scripts for running the Homunculus compiler equipped with the Taurus backend for three different applications.
- Source Code: artifact-asplos23/
- Public Repository: https://gitlab.com/dataplane-ai/homunculus/artifact-asplos23
2. Homunculus Compiler: The source code and instructions for building the Homunculus compiler.
- Source Code: artifact-asplos23/deps/compiler/
- Public Repository: https://gitlab.com/dataplane-ai/homunculus/compiler
3. Taurus ASIC Backend: The source code and instructions for building the Taurus ASIC backend to accompany Homunculus.
- Source Code: artifact-asplos23/deps/backends/taurus-asic
- Public Repository: https://gitlab.com/dataplane-ai/homunculus/backends/taurus-asic
4. Applications and Datasets: The source code and datasets for three applications that can be compiled with Homunculus for the Taurus backend. The included applications are: anomaly detection (AD), traffic classification (TC), and botnet detection (BD).
- Source Code: artifact-asplos23/deps/applications/ and artifact-asplos23/deps/datasets
- Public Repositories: https://gitlab.com/dataplane-ai/homunculus/applications and https://gitlab.com/dataplane-ai/homunculus/datasets
Funding
RTML: Large: Continuous Adaptation for Decision Streams
Directorate for Computer & Information Science & Engineering
Find out more...Collaborative Research: CNS Core: Medium: A Stateful Switch Architecture for In-Network Compute
Directorate for Computer & Information Science & Engineering
Find out more...