Re: [Gems-users] questions about virtual networks


Date: Mon, 17 Aug 2009 19:10:15 -0700
From: Niket Agarwal <niketa@xxxxxxxxxxxxx>
Subject: Re: [Gems-users] questions about virtual networks

1. physical link connects machine components (i.e. caches, directory),
and virtual network connects ports on those components. one virtual
network can transmit one type of network messages (request message or
response message). is my understanding correct?

Yes.  
 
2. do the virtual networks share bandwidth of the physical link they
attached to?

Yes.  
 
3. In protocol MOESI_CMP_directory, responseFromL1Cache,
responseToL1Cache, responseFromL2Cache, responseToL2Cache,
responseToDir, and responseFromDir are all assigned to virtual network
2. I don't understand why we could do this? it looks to me that the
data between L1 and L2, L2 and directory are now all in the same
channel. What is the rule of assigning virtual networks to cache
ports? in this case, can i use a new virtual network, say network 4,
to connect the ports between L2 and directory?

Virtual networks (also called Mesage classes) are used to avoid cache coherence protocol level deadlocks. This is closely tied to the cache coherence protocol implementation. Certain types of messages can share the same virtual network if they do not create protocol level deadlocks. Naively, one can use as many virtual networks as one wishes, but that causes redundant resources at network routers. A directory protocol usually requires 3 message classes, since it's a 2-hop protocol.
 
Cheers,
Niket

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