PacketMill presented at ASPLOS, now mostly merged ! #334
tbarbette
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Alireza presented PacketMill, a major improvement to FastClick this Monday at ASPLOS 21. We now merged most of it into the mainline FastClick branch. I took the occasion to rename the master branch to "main", following the recent trends on wordings more respectful to diversity.
You can read the paper at https://dl.acm.org/doi/10.1145/3445814.3446724 and watch his video at https://play.kth.se/media/PacketMillA+Toward+Per-Core+100-Gbps+Networking/0_7rvtusfo :p
We made a wrapper that will try to apply all optimizations at once. Instead of running "userlevel/click", you can run "userlevel/packetmill". The wrapper will take your configuration, pass it through the various tools and then execute the new optimized binary. There are still a few corner cases to handle, and you still must handle XCHG by yourself (change From/ToDPDKDevice by their XCHG equivalent and compile the XCHG enabled version of DPDK). But it's a good start that provided a boost in performance for free. Also you need to compile with clang to enable the IR optimization passes (obviously!).
To get most of the constant embedding pass, you should verify your elements respect the naming convention in configure() functions and define a default value when possible. Eg. use read_or_set(X,_variable, default_value). Note that for the people using the reconfigure facility, _variable will not be set until complete() or execute() work. If there's any issue, please ask us!
Beta Was this translation helpful? Give feedback.
All reactions