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
