Skip to content

xgr19/Dryad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dryad: Deploying Adaptive Trees on Programmable Switches for Networking Classification (ICNP2023)

More information about us https://xgr19.github.io

Code Architecture

-- hardware_configure
	-- create_p4_file.py (create ODT.p4 for a specific setting)
  -- template (folder for P4 code templates)
		
-- model_data
  -- first_soft_pruned_tree.json (the original trained ODT)
  -- x_test.pkl and y_test.pkl (input samples and their labels for testing a pruned ODT)

-- main.py (main function for training ODT with soft and hard pruning)
-- install_process.py (the progressive search and compiler for the OpenMesh switch)
-- prune_util.py (helpful functions to conduct pruning, and loading model/test data, etc.)

  1. run main.py, the code trains the ODT and performs soft pruning and hard pruning. The output tree model is in json format for subsequent operations.

Run progressive search & generate P4

  1. run install_process.py, the code will output the settings for a suitable ODT (table arrangement type, bit, depth) and the P4 table entries for the ODT
  2. run hardware_configure/create_p4_file.py with the settings (table arrangement type, bit, depth), the code outputs the desired ODT.p4

About

Dryad: Deploying Adaptive Trees on Programmable Switches for Networking Classification (ICNP2023)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published