GithubHelp home page GithubHelp logo

beyzabutun / henna Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akemaristide/henna

0.0 0.0 0.0 1.83 MB

Henna: Hierarchical Machine Learning Inference in Programmable Switches

Python 23.55% Jupyter Notebook 52.47% P4 23.98%

henna's Introduction

Henna: Hierarchical Machine Learning Inference in Programmable Switches

This repository contains the public version of the code for our work Henna, presented at the 1st ACM CoNEXT Workshop on Native Network Intelligence (NativeNI '22), 9 December 2022, Roma, Italy.

Henna two-stage architecture

Henna Cascaded Design

Henna is an in-switch implementation of a hierarchical classification system. The concept underpinning our solution is that of splitting a difficult classification task into easier cascaded decisions, which can then be addressed with separated and resource-efficient tree-based classifiers. We propose a design of Henna that aligns with the internal organization of the Protocol Independent Switch Architecture (PISA), and integrates state-of-the-art strategies for mapping decision trees to switch hardware. We then implement Henna into a real testbed with off-the-shelf Intel Tofino programmable switches using the P4 language.

For more details, please consult our paper: https://doi.org/10.1145/3565009.3569520

Organization of the repository

There are three folders:

  • Data: information on how to access the data
  • P4: the P4 code for Tofino
  • Python: the jupyter notebooks for training the machine learning models, and the python scripts for generating the M/A table entries from the saved trained models.

Use case

The use case considered in the paper is an IoT device identification task based on the publicly available UNSW-IOT Traces which you can find at https://iotanalytics.unsw.edu.au/iottraces.html. Fifteen days of data are used for model training and one day is used for testing.

Citation

If you make use of this code, kindly cite our paper:

@inproceedings{henna-2022,
author = {Akem, Aristide Tanyi-Jong and Bütün, Beyza and Gucciardo, Michele and Fiore, Marco},
title = {Henna: Hierarchical Machine Learning Inference in Programmable Switches},
year = {2022},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3565009.3569520},
doi = {10.1145/3565009.3569520},
booktitle = {Proceedings of the 1st Workshop on Native Network Intelligence},
numpages = {7},
location = {Roma, Italy},
series = {NativeNI '22}
}

If you need any additional information, send us an email at [email protected]

henna's People

Contributors

akemaristide avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.