And Eric:
> This is a bit confusing. The current text of the alternate proposal uses "read"
> and "write" to describe the two different types of lock, since this is what
> they will typically be used for. It may or may not be more correct/clear to
> label them as "shared" and "exclusive" locks instead, but that's just a naming
> issue.
Marc, it looks a little bit strange, because it must be a lock, that
can be aquired by multiple processes for write but only by one process
for read. Normally one has the contrary case -- multiple read but
only single access for write.
If the users are allowed to use the read/write locks in the contrary
manner then it must be explicitly stated. In the moment page 3 lines
6+7 are saying:
"...each read access to a window is protected by a read lock, and
each write access to a window is protected by a write lock on that
window."
> My understanding is that allowing multiple processes to PUT into the same
> window at the same time might not be legal in the alternate proposal because
...
------------------------------------------
it is legal (!) due to page 2, lines 26+27
(except the locations overlap)
------------------------------------------
> On the other hand, it's not clear that the concept of windows is even helpful
> for the general coherency problem, because from a hardware perspective one does
> not typically perform coherence operations on distinct memory regions; one
The main coherence problems (e.g. window boundaries not on cacheline
boundaries, byte access on word machines) cannot be solved by
Marc's radical proposal with less code.
> flushes/invalidates an entire cache, or perhaps an individual line. So we might
> be in trouble anyway, but again I don't have a concrete example (yet).
An MPI implementation probably can optimize this: flush/invalidation
on cachelines for small windows and on the entire cache for large
windows.
Rolf
Rolf Rabenseifner (Computer Center )
Rechenzentrum Universitaet Stuttgart (University of Stuttgart)
Allmandring 30 Phone: ++49 711 6855530
D-70550 Stuttgart 80 FAX: ++49 711 6787626
Germany rabenseifner@rus.uni-stuttgart.de