a |
b |
Semantics |
single[m] |
single[m] |
Local assignment process m regardless which is typed one sided |
|
single[n] :: onesided[] |
single[m] |
Process m will PUT b into the memory of process n |
single[n] |
single[m] :: onesided[] |
Process n will GET b from the memory of process m |
single[n] :: onesided[] |
single[m] :: onesided[] |
Both of the above two will happen! |
|
multiple[] :: onesided[] |
single[q] |
Process q will PUT b into memory of all processes holding a |
multiple[] |
single[q] :: onesided[] |
All processes holding a will GET b from the memory of process q |
multiple[] :: onesided[] |
single[q] :: onesided[] |
Both of the above two! |
|
single[q] |
multiple[] |
Local assignment on process q (doesnt matter which is typed onesided) |
multiple[] |
multiple[] |
Local assignment on processes (doesnt matter which is typed onesided) |