Flightplan
Flightplan is a toolchain for the flexible decomposition of P4 programs and their allocation to heterogeneous hardware to improve performance, reliability and utilisation of software-defined networks.
Install / Use
/learn @eniac/FlightplanREADME
Flightplan
Our project develops a tool-chain for the flexible decomposition of P4 programs and their allocation to heterogeneous hardware to improve performance, reliability and utilisation of software-defined networks.
Using the repo
Look at the Flightplan paper to better understand what the various things below do.
There are several things you can get out of this repo, <i>including tools and data for reuse</i>:
-
The Flightplan system: <br /> <img src="https://flightplan.cis.upenn.edu/outline.png" height="150"/>
- Analyser+transformer for P4 code with segment annotations, from which disaggregated programs are derived.
- The Flightplanner produces execution plans for disaggregated P4 programs.
- Examples of segment annotation usage, analysis tool invocation and output, which are fed to the planner. The planner about the disaggregated dataplane program to produce (among other things) allocations of segments to devices on the network.
- Flightplan's Full runtime for running disaggregated programs, the associated fpctl control program, and usage examples.
-
Reusable tools, infrastructure, and documentation:
- Network boosters: FEC, memcached, header compression, running on CPU or FPGA.
- Various new P4 programs, including Crosspod that invokes our network boosters.
- Examples of applying Flightplan to third-party P4 programs, e.g., basic_tunnel.
- A fairly mature simulation system and our simulated experiments. Among other things, this was used to simulate the setup shown in Fig7 in the paper.
- A fat-tree topology and configuration generator. You can see example output for k=4 and its visualisation in FDP. <br /><a href="https://drive.google.com/file/d/149YrRqJxQ6aNmO6FqlRTm5p4N_QvQ-U6/view" target="_blank"><img src="https://www.seas.upenn.edu/~nsultana/fdp.png" alt="FDP video" height="200"/></a>
- Our testbed experiment methodology, automation, and/or data. 1, 2. <br />Contact us if raw data is needed, it's big.
- The power measurement method and setup used in our testbed experiments.
Need more info?
- Visit our project site.
- Join the mailing list.
License
Related Skills
node-connect
334.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.3kCommit, push, and open a PR
