Re: [Gems-users] Injection rate option doesn't work


Date: Mon, 25 Jan 2010 14:48:06 +0200
From: "Arseniy Vitkovskiy" <arseniy.vitkovskiy@xxxxxxxxx>
Subject: Re: [Gems-users] Injection rate option doesn't work
Hi Niket,

>2. Secondly, looking at your stats it looks like you are just injecting
>traffic in one vnet and that is using only vc=0 to send traffic. This
>could be because the vnet is declared as "ordered." For network-only
>experiments, people usually assume unordered networks. You might want to
>change that.

I also have similar problem, i.e. only 1 VC is in use during network-only testing. I have the following lines in Tester.C file:

  num_vnets = NUMBER_OF_VIRTUAL_NETWORKS;
  ...
  toNetBuffers.setSize(num_nodes);
  for (int i = 0; i < num_nodes; i++)
  {
    toNetBuffers[i].setSize(num_vnets);
    for (int j = 0; j < num_vnets; j++)
    {
      toNetBuffers[i][j] = network_ptr->getToNetQueue(i, false, j);
      toNetBuffers[i][j]->setOrdering(false);
    }
  }

Where NUMBER_OF_VIRTUAL_NETWORKS in tester.defaults is set to 3. This should enable 3 unordered virtual networks. However only one VC is loaded still.
Here are simulation results:

Network Configuration
---------------------
network: GarnetNetwork_d
topology: FILE_SPECIFIED

virtual_net_0: active, unordered
virtual_net_1: active, unordered
virtual_net_2: active, unordered

...

Network Stats
-------------

Average Link Utilization :: 0.050961 flits/cycle
-------------
Average VC Load [0] = 8.15376 flits/cycle 
Average VC Load [1] = 0 flits/cycle 
Average VC Load [2] = 0 flits/cycle 
-------------
Average network latency = 106.914
...
 
What would you suggest to do in order to load all available VCs?

Regards,
Arseniy.

-----Original Message-----
From: gems-users-bounces@xxxxxxxxxxx on behalf of Niket Agarwal
Sent: Mon 25.01.2010 11:19
To: ???
Cc: gems-users@xxxxxxxxxxx
Subject: Re: [Gems-users] Injection rate option doesn't work
 
A couple of things:

1. The injection rate parameter, as I used it, specifies the packet
injection rate per-node. The curve in the paper uses flits/cycle. So you
need to convert the packets to flits. Moreover, in the paper I tried to
match the topology/traffic pattern, etc. used in previous papers. So, in
some cases I have used multiple vnets and the topology was 7x7 and 8x8.

2. Secondly, looking at your stats it looks like you are just injecting
traffic in one vnet and that is using only vc=0 to send traffic. This
could be because the vnet is declared as "ordered." For network-only
experiments, people usually assume unordered networks. You might want to
change that.

Note that the garnet tester that I have provided is just for reference
and you should feel free to modify it for your needs.

All the best.

-Niket

On 1/24/2010 11:37 PM, ??? wrote:
>
> I checked that too, but the curve looks very linear.
>
> By the way, I changed the injection_rate value in "Tester.C" file as
>
> //injection_rate = .1;
>
> injection_rate = RubyConfig::injectionRate();
>
> where injectionRate() function returns g_TRAFFIC_INJECTION_RATE in
> "RubyConfig.h" file.
>
> Is this right???
>
> This is all I changed, but I think I did something wrong.
>
> How did you get the curve in the paper using Garnet network tester???
>
> I ran the tester on 4X4 mesh with MOESI CMP Directory protocol.
>
> My running command is as follows.
>
> ./tester.exec -l 10000 -i 0.1
>
> And output file shows
>
> Average Link Utilization :: 0.0897725 flits/cycle
>
> -------------
>
> Average VC Load [0] = 12.9272 flits/cycle
>
> Average VC Load [1] = 0 flits/cycle
>
> Average VC Load [2] = 0 flits/cycle
>
> Average VC Load [3] = 0 flits/cycle
>
> -------------
>
> Total flits injected = 240090
>
> Total flits recieved = 240090
>
> Average network latency = 94.6688
>
> Average queueing latency = 31032.1
>
> Average latency = 31126.8
>
> -------------
>
> Total Link Power = 3.21034 W
>
> Total Router Power = 8365.3 W
>
> However, in the paper, average latency is under 50 when injection rate
> is 0.1.
>
> I would appreciate your help.
>
> Thanks.
>
> Minjeong
>
> *From:* Niket Agarwal [mailto:niketa@xxxxxxxxxxxxx]
> *Sent:* Monday, January 25, 2010 1:46 AM
> *To:* Minjeong Shin
> *Cc:* Gems Users
> *Subject:* Re: Injection rate option doesn't work
>
> Hi Minneong,
>
> What you are seeing is "Average network latency" and it is the number
> of cycles that a flit spends in the network. At saturation, this does
> not increase and what increases is the queuing delay at network
> interfaces. In the printStats function in GarnetNetwork_d.C, please
> uncomment the lines that print out the queuing latency and total
> latency to see those values.
>
> -Niket
>
> On Jan 24, 2010, at 7:49 AM, Minjeong Shin wrote:
>
>
>
> Hi Niket,
>
> I am using Garnet network-tester at
> http://www.princeton.edu/~niketa/garnet_files/tester-network-only.tgz
> <http://www.princeton.edu/%7Eniketa/garnet_files/tester-network-only.tgz>
>
> I wanted to get "injection rate -- average latency" curve which is in
> the GARNET technical paper,
>
> However, injection rate option ('-i' parameter) in the network-tester
> doesn't work at all.
>
> I checked the "Tester.C" file and injection_rate was just set to 0.1.
>
> However, even if I change the injection_rate value, Average network
> latency never increased over 100.
>
> And I don't see any similarity between my result and the curve in the
> paper.
>
> Is there anything I did wrong?
>
> lease help me doing this.
>
> Thank you.
>
> Minjeong
>
>
> -- 
> Minjeong Shin
> Dept. of Computer Science
> Korea Advanced Institute of Science and Technology
> +82-10-5553-2950
>


<<winmail.dat>>

[← Prev in Thread] Current Thread [Next in Thread→]