Hmm, you probably need to take a look at
src/sim/simulate.cc
where num_cycles gets maxed out at MaxTick (not sure where this is
defined, you can grep for it) if there is an overflow.
You might need to change Tick to long long int here.
BTW am curious why you need to simulate a network-only protocol (with no
real application) for 10^11 cycles? From my experience the network
behavior stabilizes by 1M or 10M cycles.
- Tushar
On 04/30/2012 02:48 PM, Pavan Poluri wrote:
Hello,
I would like to run the network test protocol for simcyles = 10^11 and
greater. Currently simcycles is of type Tick and it is not able to
hold the value of 10^11. My question is where do I need to change the
type for simcycles so that it is reflected globally. I tried changing
the type of simcycles from *Tick* to*long long int* in networktest.hh
to see if it works. It did not work. It still reported the same thing
it reported when simcycles was of type Tick.
Thanks for your time.
Thanks,
Pavan
On Sun, Apr 29, 2012 at 1:57 PM, Tushar Krishna <[email protected]
<mailto:[email protected]>> wrote:
You can specify --random_seed=xxx in the command line.
Yes numPacketsSent in networktest.cc is a fine stat to use.
I thought you were estimating this from ruby.stats
Control packets in vnet0 and vnet1 are also converted into flits.
All I was saying is that control packets from vnet 0 and vnet 1
get converted into 1 flit, while data packets in vnet 2 get
converted into 5 flits.
So if you look at ruby.stats, the number of total packets injected
will be = flits_injected_vnet0 + flits_injected_vnet1
+(flits_injected_vnet2)/5
- Tushar
On Apr 29, 2012, at 4:43 PM, Pavan Poluri wrote:
Hi Tushar,
Thanks for the quick reply. So if I run the experiment with
different random seeds over a large number of cycles the average
number of packets over all the runs should be
injection_rate*simCycles.
I see networktest.cc calls a function random() to get the random
number. Where do I change the seeds so that random() runs on
these different seeds?
Dividing the number of flits stat in ruby.stats by 5 gives the
total number of packets injected. But I want to know the number
of packets injected by each node. That is why I started using
numPacketsSent in networtest.cc as the indicator for number of
packets sent by a node.
So the control packets inserted into Vnet 0 and Vnet 1 are not
converted into flits and these flits do not count in the total
flits injected stat in ruby.stats?
Thanks for your time.
Thanks,
Pavan
On Sun, Apr 29, 2012 at 1:05 PM, Tushar Krishna
<[email protected] <mailto:[email protected]>> wrote:
Hi Pavan,
A couple of things to note:
1) 0.01 is an average injection rate. So a node *could*
inject more than 10 packets (but not a lot more).
The implementation is basically a bernoulli trial, where
every cycle you generate a random number and decide to inject
or not based on whether it is less than or greater than the
injection rate.
If you run the experiment with different random seeds, (and
for large number of cycles each time), the average should be
(injection_rate * simCycles).
2) Vnet 2 injects 5-flit packets. So you should divide the
flits injected stat from it by 5 to get packets injected.
Let me know if you have more questions.
- Tushar
On Apr 29, 2012, at 3:25 PM, Pavan Poluri wrote:
> Hello,
>
> I am trying to simulate the interconnection network using
the Network_test protocol. My question is on the file
networktest.cc that is responsible for generating and sending
the packets. I understand that if I use --fixed-pkts and
--maxpackets options together I enforce each cpu node to only
inject maxpackets number of packets. So even before the
simulation, if simCycles is sufficiently large I know that
each node will inject maxpackets number of packets. I wanted
the number of packets injected by each node to be random. So
I did not use --fixed-pkts and --maxpackets options.
>
> Consider the following case. I gave the injection rate to
be 0.01 and simCycles to be 1000. I did not use --fixed-pkts
and --maxpackets options. As a result at the end of
simulation each node injected different number of packets.
But, some nodes injected more packets than 1000*0.01 = 10
packets. This is where I am confused. How can a node inject
more packets than the product of injectionrate and simCycles
even though the maxpackets option is not enabled?
>
> Thanks for your time.
>
> Thanks,
> Pavan
> _______________________________________________
> gem5-users mailing list
> [email protected] <mailto:[email protected]>
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected] <mailto:[email protected]>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected] <mailto:[email protected]>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected] <mailto:[email protected]>
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users