Hi Diana,

There is no worry about deadlocks in routing. However, the coherence protocol 
uses different message classes (i.e., requests, responses, forward requests). 
Each message class needs to go through a dedicated channel (either physical or 
virtual) to prevent
any protocol-level cyclic dependencies.

Hope this helps.

Regards,
-Stavros.
________________________________________
From: Diana Guttman [[email protected]]
Sent: Tuesday, October 09, 2012 6:02 PM
To: Volos Stavros
Subject: Re: Flexus network latency

Hi Stavros,

Sorry for the multiple messages.  I looked at the topology files, and I think 
it is already using x-y routing; is that right?  If that is the case and it is 
deadlock free, I don't understand where the risk of deadlock comes from.  
Actually, I have been seeing some problems in my simulations where evictions do 
not receive their ACKs, so I think it may indeed be deadlock.

Thanks,
Diana

On Tue, Oct 9, 2012 at 10:04 AM, Diana Guttman 
<[email protected]<mailto:[email protected]>> wrote:
Hi Stavros,

I would like to give different priorities to user and system messages, and also 
change the number of channels to four.  Will it work if I change the routing 
policy to use x-y routing?  I'm guessing the place to do that would be in the 
routingTable and vcTable used by NetShim.

Thanks,
Diana


On Tue, Oct 9, 2012 at 4:45 AM, Volos Stavros 
<[email protected]<mailto:[email protected]>> wrote:
Hello Diana,

Requests, replies and snoops should go to different channels in order to avoid 
protocol-level deadlocks. What exact changes do you want to make?

Regarding the latencies, there is no breakdown. You need to add you own 
statistics to do that.

Regards,
-Stavros
________________________________________
From: Diana Guttman [[email protected]<mailto:[email protected]>]
Sent: Friday, September 28, 2012 5:06 PM
To: [email protected]<mailto:[email protected]>
Subject: Flexus network latency

Hello,

I have two questions about the network in Flexus.

1.  I would like to change the number of virtual channels but  messages of each 
type(request/reply/snoop) will always go to their dedicated channels.  Is there 
any place I can easily reroute them into other channels?  I have been able to 
do this is in the push functions of SplitDestinationMapper but there are a lot 
of places to change the code.

2. Is there any detailed breakdown of the latencies from different parts of the 
network?  I can get some broader measurements with timestamps from 
theFlexus->cycleCount().  Conceptually how much is contributed from each link, 
router, port, etc.?

Thanks for your help,
Diana



Reply via email to