Hi Travis,
Hmm I have not used traffic_gen myself so am not sure of its intended use case.
I suggest looking at gem5/src/cpu/testers/garnet_synthetic_traffic/ .. this is 
how we manually define which cpus send packets and how big they are (how big 
they are depends on vnet they are injected in).
The wiki has more details: 
http://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/

I also have a couple of local patches (might not apply cleanly as they were 
built for an older version of garnet but you can take a look at the code that 
needs to be added) to generate a network traffic trace (say from full system 
simulations) and feed them to garnet standalone.
https://synergy.ece.gatech.edu/tools/garnet/

Best,
Tushar
On May 26, 2021, 10:21 PM -0400, Travis Dai <daitr...@student.otago.ac.nz>, 
wrote:
Dear all users,

I have been working on how to generate traffic by using TrafficGen.py and 
related files in gem5/src/cpu/testers/traffic_gen these days but without 
success.

I have tried to run TrafficGen.py by command “python TrafficGen.py” but 
receiving error “ImportError: No module named m5.params”. I also tried compile 
traffic_gen.cc by command “g++ traffic_gen.cc -o traffic_gen” but fail again 
with message “traffic_gen.cc:37:10: fatal error: 
cpu/testers/traffic_gen/traffic_gen.hh: No such file or directory
   37 | #include "cpu/testers/traffic_gen/traffic_gen.hh"”. Then I change the 
relative path to absolute path of header but the dependency of other files 
trigger other errors again, such as “traffic_gen/base.hh:45:10: fatal error: 
base/statistics.hh: No such file or directory    45 | #include 
"base/statistics.hh"”.

Then, I switch to read  gem5 description for Tracing and traffic generation in 
http://www.m5sim.org/General_Memory_System#Tracing_and_traffic_generation and  
http://pages.cs.wisc.edu/~swilson/gem5-docs/classTrafficGen.html#a53b678d216bdfcf5097c0f0436c16e30.
 The former website says traffic generator is controlled by a text-based 
configuration file, as can be seen in 
tests/quick/se/70.tgen/tgen-simple-mem.cfg .
But when I go to the directory gem5/tests, there is no such kind of file. The 
latter website tells functions of related code but it seems outdated.

My expectation is that using TrafficGen.py manually define which cpus send 
packets, how big they are, and which cpus receives packets and generate 
traffic. Then feed them to Garnet standalone debug mode to test network 
performance.

Does anyone know how to solve this problem or give me some pointers/tutorials. 
I appreciate it very much!

Best wishes,
Travis



_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to