Re: [Gems-users] Invalidate directory entry


Date: Fri, 12 Jan 2007 15:49:27 -0600
From: "Lei Yang" <lya755@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] Invalidate directory entry
Thanks a lot hongxia! Your explanation is very clear and quite helpful. I am just curious though, for this virtual network 2, why do we put 4 buffers on it (with 2 pairs connected respectively), why don't we just use one virtual network for L1 <-> L2 requests and another for L2 <-> Dir requests?
 
Thank you,
Lei
----- Original Message -----
Sent: Friday, January 12, 2007 2:30 AM
Subject: Re: [Gems-users] Invalidate directory entry

Sorry, I should have explained more.
Buffers connected not only depending on their virtual_network No. but also on their direction. Moreover, the machine that a buffer belongs to is also a reference.

For example: We know that L1 cache can only connected with L2 cache but not directory. Therefore, the following two buffers are connected. because they are a pair -- "From" and "To".
And the messages they transfered are the same.

L1Cache.sm file
>>>>>>>>>>>  MessageBuffer requestToL1Cache, network="From", virtual_network="2", ordered="true";
========= This buffer is an inport buffer because its network is "From", which meanse that it is a buffer used to store request or response from others to this machine.
 
 L2Cache.sm file
>>>>>>>>>  MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="2", ordered="true";  // this L2 bank -> a local L1
========= This buffer is an outport buffer because its network is "To", which meanse that it is a buffer used to store request or response from this machine to other machines.
 This two buffers are connected, because

While the following buffer should not connected to the above buffers because messages it transferred are different. In fact, For L2 cache, it should has double buffers than L1 cache and directory because it is a hinge connected both L1 cache and directory.
The fowllowing buffer should connected
 L2Cache.sm file
>>>>>>>>> MessageBuffer forwardedRequestToL2Cache, network="From", virtual_network="2", ordered="true";  // mod-directory -> this L2bank
========= This buffer is an inport buffer because its network is "From", which meanse that it is a buffer used to store request or response from others to this machine.
For this protocol -- MSI_MOSI_CMP_directory, forwardedRequestToL2Cache including both directory requests and other L2 bank requests to this L2 bank.

with
dir.sm file
>>>>>>>>> MessageBuffer forwardedRequestFromDir, network="To", virtual_network="2", ordered="true";
========= Because MSI_MOSI_CMP_directory protocol allow datablk transferring among L2 banks, directory will resend a L2 bank request to a L2 bank who has the data.

Hope I have explained clearly this time:_)

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