-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Queues: PCAP-based benchmarking harness #2358
base: main
Are you sure you want to change the base?
Conversation
- move this function to the test files - better seperation of testing and library
- finish up plot_pcap_sim.py - move parse_pcap.py to evaluation/ - revert most changes to queue_call.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all the great work, and for walking me through this IRL! Comments on Github are minimal because we spoke offline.
@@ -0,0 +1,10 @@ | |||
import "calyx" as c; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jku20 Akash has added a fud2 stage that runs python3
on a file. This spares us from the usual pattern of:
python3 myfile.py |
fud ...
Would you please take a look for style etc? Also we know this should have been its own PR; sorry about that!
Co-authored-by: Anshuman Mohan <[email protected]>
…ing-harness' into realistic-benchmarking-harness
Closing #2304, we can generate data files for queues directly from packet captures using
parse_pcap.py
!Changes:
parse_pcap.py
, a PCAP parser for generating data filesevaluation/
pcap_sim.py
, a harness similar toqueue_call
for iterating through commands in our data fileinsert_tuple_flow_inference
toflow_inference.py
, flow inference to be used withpcap_sim.py
generate
functions frombinheap/round_robin.py
,binheap/strict.py
, andstrict_or_rr.py
sim-pcap
sim-pcap
is True, usepcap_sim.py
instead ofqueue_call.py
calyx_py-to-calyx.rhai
tofud2/scripts/
fud2
tests to pass CIplot_pcap_sim.py
, a script for generating Gantt charts from output memoriesExample
Say you want a data file of the format used by our Testing Harness, with timing based on packets 10 through 20 of
kachow.pcap
.Simply run
This produces two outputs
kachow.data
, the data filenum_cmds
, the size of thecommands
memory inkachow.data
We can run
kachow.data
usingsim_pcap.py
on any of our round robin or strict queues:tests/
python3 <num_cmds> --sim-pcap <test_name>.py
kachow.data
and your simulator of choiceFor example, we can combining steps 2 and 3 into a single
fud2
commandwhich produces the output memories
rr_2flow_test.json
.We can visualize these memories with graphs, in the style of Formal Abstractions, by feeding them to
plot_pcap_sim.py
:This generates the Gantt chart
rr_2flow_test.png
.