question when multiple windows

Steve Huss-Lederman (lederman@cs.wisc.edu)
Wed, 10 Jul 1996 08:42:41 -0500

Reading the new proposal made me think about multiple windows (though
the concern applies to the old proposal too). Here are two cases:

1) There are two windows that do not overlap, they touch at the end of
one/beginning of the other, and the edge is not word/cache aligned.
Thus, they look like:

----------------- -----------------
| window 1 || window 2 |
----------------- -----------------
| | | | | | Cache/word alignments

window 1 is local and window 2 is public. You store to the last int
in window 1 to the local copy. You put to the first int in window 2
to the public copy. Now you do a barrier (or Window_out on window 1).
It seems that you can't simply flush the cache or even the cache line
associated with the end of window 1. This would wipe out the changes
made by the put in window 2. The solution on p. 297 Case 2. options 2
& 3 proposes the cache flush to sync the copies. Does this example
imply you have to be more careful?

2) You have two windows that overlap. One window is made public and
one private. This clearly violates the need to only access the public
or private copy of a region. However, it does not violate the rules
on any single window. Did we forbit this?

Steve