Re: A proposal to change the direction of 1-sided comm

Eric Salo (salo@mrjones.engr.sgi.com)
Tue, 25 Jun 1996 17:27:55 -0700

> (b) How do we know that the current synchronization is "IN" or "OUT"? we will
> need to keep track of dirty bits, at least one bit per window that is set
when
> a PUT to the window occur, and is reset when the window is synchronized.
This
> may not be too bad. A call to GET_COUNTER generates an implicit WINDOW_IN; a
> call to BARRIER generates an implicit WINDOW_IN if there has been a remote
put
> since last synchornization; it generates an implicit WINDOW_OUT, otherwise.

This is a really good point, and I'm not sure that a general solution exists.
What if a remote put is done to my window but I have also performed stores to
other parts of that same window? To bring in the remote data, I may need to
invalidate my cache. But to make my stores visible, I may need to flush my
cache! Therefore even adding a "put bit" may not be sufficient.

So, barriers alone may not be enough.

-- 
Eric Salo         Silicon Graphics Inc.             "Do you know what the
(415)933-2998     2011 N. Shoreline Blvd, 8U-808     last Xon said, just
salo@sgi.com      Mountain View, CA   94043-1389     before he died?"