Re: [Gems-users] Invalidate directory entry


Date: Fri, 12 Jan 2007 08:36:07 -0600 (CST)
From: Mike Marty <mikem@xxxxxxxxxxx>
Subject: Re: [Gems-users] Invalidate directory entry
Here are the relationships between the L1/L2 ports for
MSI_MOSI_CMP_directory

L1Cache                         L2Cache
--------                        -------------
out: requestFromL1Cache (0)     in: L1RequestToL2Cache (0)
out: responseFromL1Cache (3)    in: responseToL2Cache (3)
in:  requestToL1Cache (2)       out: L1RequestFromL2Cache (2)
in:  responseToL1Cache (3)      out: responseFromL2Cache (3)

Does this help?

--Mike


> So let's take protocol as an example, in the L2Cache.sm file:
>
> // L2 BANK QUEUES
> // From local bank of L2 cache TO the network
> MessageBuffer dummyFrom0, network="To", virtual_network="0", ordered="false";  // dummy buffer that shouldn't be used
> MessageBuffer DirRequestFromL2Cache, network="To", virtual_network="1", ordered="false";  // this L2 bank -> mod-directory
>
> >>>>>>>>>  MessageBuffer L1RequestFromL2Cache, network="To", virtual_network="2", ordered="true";  // this L2 bank -> a local L1
>
> MessageBuffer responseFromL2Cache, network="To", virtual_network="3", ordered="false";  // this L2 bank -> a local L1 || mod-directory
> MessageBuffer finalAckFromL2Cache, network="To", virtual_network="4", ordered="false";  // this L2 bank -> mod-directory
>
> // FROM the network to this local bank of L2 cache
> //MessageBuffer L1RequestToL2Cache, network="From", virtual_network="1", ordered="true";  // a local L1 -> this L2 bank
> MessageBuffer L1RequestToL2Cache, network="From", virtual_network="0", ordered="true";  // a local L1 -> this L2 bank
> MessageBuffer dummyTo1, network="From", virtual_network="1", ordered="false";  // dummy buffer that shouldn't be used
>
> >>>>>>>>> MessageBuffer forwardedRequestToL2Cache, network="From", virtual_network="2", ordered="true";  // mod-directory -> this L2bank
>
> MessageBuffer responseToL2Cache, network="From", virtual_network="3", ordered="false";  // a local L1 || mod-directory -> this L2 bank
> MessageBuffer dummyTo4, network="From", virtual_network="4", ordered="false";  // dummy buffer that shouldn't be used
>
> While in the L1Cache.sm file:
>
> // From this node's L1 cache TO the network
> // a local L1 -> this L2 bank, currently ordered with directory forwarded requests
> MessageBuffer requestFromL1Cache, network="To", virtual_network="0", ordered="true";
> MessageBuffer dummyFrom1, network="To", virtual_network="1", ordered="false";  // dummy buffer that shouldn't be used
> MessageBuffer dummyFrom2, network="To", virtual_network="2", ordered="false";  // dummy buffer that shouldn't be used
> MessageBuffer responseFromL1Cache, network="To", virtual_network="3", ordered="false";
> MessageBuffer dummyFrom4, network="To", virtual_network="4", ordered="false";  // dummy buffer that shouldn't be used
>
> // To this node's L1 cache FROM the network
> MessageBuffer dummyTo0, network="From", virtual_network="0", ordered="false";  // dummy buffer that shouldn't be used
> MessageBuffer dummyTo1, network="From", virtual_network="1", ordered="false";  // dummy buffer that shouldn't be used
>
> >>>>>>>>>>>  MessageBuffer requestToL1Cache, network="From", virtual_network="2", ordered="true";
>
> MessageBuffer responseToL1Cache, network="From", virtual_network="3", ordered="false";
> MessageBuffer dummyTo4, network="From", virtual_network="4", ordered="false";  // dummy buffer that shouldn't be used
>
>
> So these three buffers should be connected together: L1RequestFromL2Cache, forwardedRequestToL2Cache, requestToL1Cache
> because they have the same virtual network number, right? But this doesn't make sense to me, why should L1RequestFromL2Cache
> be connected to forwardedRequestToL2Cache?
>
> Your advice is very much appreciated!
>
> Thanks,
> Lei
>   ----- Original Message -----
>   From: hongxia sun
>   To: Lei Yang ; Gems Users
>   Sent: Thursday, January 11, 2007 8:45 PM
>   Subject: Re: [Gems-users] Invalidate directory entry
>
>
>   For the first question, you can modify the protocol as your design, both of the L2 cache and the directory.
>   For the second question, these buffer are not connected according to their name, but according to their "virtual_network" No. Buffers with the same No. are connected together.
>
>
>   2007/1/12, Lei Yang <lya755@xxxxxxxxxxxxxxxxxxxx>:
>     I see. So with this protocol (MSI_MOSI_CMP_directory), if Processor 0 is the
>     only sharer of one cache line, after it evicts this line, the directory
>     state is still S. I've verified this with a simple trace. It doesn't matter
>     with the current protocol because even if a line is shared by other L2
>     caches, as long as it is not in M state, it's always fetched from main
>     memory.  But for a protocol that supports clean cache-to-cache data
>     transfer, this may be a problem.
>
>     Another question is, when reading the protocol sm files, I couldn't find
>     where/how the buffers are connected. For example, there is a buffer for L2
>     cache called L1RequestToL2Cache (a local L1 -> this L2 bank), but for L1
>     cache, the buffer requestFromL1Cache is supposed to be Local L1 -> this L2
>     bank. So with different names, how are they actually connected? I mean,
>     after L1 sends a request to L2 using the requestFromL1Cache buffer, how does
>     L2 actually receive it?
>
>     Thanks list, you've been super helpful!
>
>     Lei
>
>     ----- Original Message -----
>     From: "Mike Marty" < mikem@xxxxxxxxxxx>
>     To: "Lei Yang" <lya755@xxxxxxxxxxxxxxxxxxxx>
>     Cc: "'Gems Users'" < gems-users@xxxxxxxxxxx>
>     Sent: Thursday, January 11, 2007 9:41 AM
>     Subject: Re: [Gems-users] Invalidate directory entry
>
>
>     >> That's for M state, right? For S state, would any action be taken? Thanks
>     >> a
>     >> lot for your time!
>     >>
>     >
>     > Yes, for S state the L2 silently replaces.
>     >
>     >
>
>
>     _______________________________________________
>     Gems-users mailing list
>     Gems-users@xxxxxxxxxxx
>     https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>     Use Google to search the GEMS Users mailing list by adding "site: https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
>
>
>
>
[← Prev in Thread] Current Thread [Next in Thread→]