figshare
Browse

Homunculus: Auto-Generating Efficient Data-Plane ML Pipelines for Datacenter Networks (ASPLOS '23)

software
posted on 2023-02-11, 11:35 authored by Tushar SwamyTushar Swamy, Annus ZulfiqarAnnus Zulfiqar, Muhammad ShahbazMuhammad Shahbaz, Luigi Nardi, Kunle Olukotun

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...

History

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC