sst-elements icon indicating copy to clipboard operation
sst-elements copied to clipboard

Trac: #390 TrafficGen in merlin skips some packets.

Open nmhamster opened this issue 9 years ago • 1 comments

Configured merlin traffic gen to create random packet sizes in the range [200, 201]. Also configured traffic gen to generate 500 packets. I would expect the send_bit_count to be 200.5 create_issues.sh create_issues.sh~ create_issues_orig.sh csv csvprocessor.c report_12_4.csv run_core_issues_final.sh run_create_issues.sh run_create_issues.sh~ run_create_issues_orig.sh run_create_milestones.sh run_create_milestones.sh~ run_elements_issues_final.sh run_workbench_issues_final.sh 500 = 100250 with some variations across the generators (I have 27). But it is not the case. 26 of the generators report a bit_count of 100,000, and one (no 20) even reports a bit_count of 99,800 (that should not be).

I first thought that this was due to statistical fluctuation. And then set the generator for 1000 packets. Here I still have 26 generators generating 200,000 bits, and no 20 generating 199,800 (which is not 2x99,800...) And for 100 packets all generate 20,000 but no 20 generating 19800.

Looking closer at no 20, with 3 packets -->600 4 packets --> 800 5 packets --> STILL 800 !

So one packet is not sent or something is missing here...

For the uniform sampling of the range, I figured out that rangeMin and rangeMax should be understood as [MIN, MAX[ (i.e. MAX not comprised in the interval). With a range [200, 202[ I indeed obtain 200.5 in average except for no 20, for more than 4 packets...

this is my script: sst.merlin._params[flit_size] = 16B sst.merlin._params[link_bw] = 4.0GBs sst.merlin._params[xbar_bw] = 4.0GBs sst.merlin._params[input_latency] = 10.0ns sst.merlin._params[output_latency] = 10.0ns sst.merlin._params[input_buf_size] = 16.0KB sst.merlin._params[output_buf_size] = 16.0KB sst.merlin._params[link_lat] = 16ns

sst.merlin._params[num_dims]=3 sst.merlin._params[torus:shape]=3x3x3 sst.merlin._params[torus:width]=1x1x1 sst.merlin._params[torus:local_ports]=1 topo = topoTorus() topo.prepParams()

sst.merlin._params[PacketDest:pattern] = Uniform sst.merlin._params[PacketSize:pattern] = Uniform sst.merlin._params[PacketSize:RangeMin] = 200.0 sst.merlin._params[PacketSize:RangeMax] = 201.0 # Required by pymerlin but will be overriden sst.merlin._params[packet_size] = 0KB sst.merlin._params[PacketDelay:pattern] = Uniform sst.merlin._params[PacketDelay:RangeMin] = 200.0 sst.merlin._params[PacketDelay:RangeMax] = 300.0 # Required by pymerlin but will be overriden sst.merlin._params[message_rate] = 1GHz sst.merlin._params[packets_to_send] = 6 endPoint = TrafficGenEndPoint() endPoint.prepParams()

topo.setEndPoint(endPoint) topo.build()

nmhamster avatar Oct 08 '15 14:10 nmhamster

@feldergast This is to be deprecated in the future in favor of target generator.

allevin avatar Sep 30 '20 19:09 allevin