70 likes | 151 Views
P=1 1 j M. P=N 1 i N 1 j M. ER Exclusive Read. EW Exclusive Write. CR Concurrent Read. CW Concurrent Write. P=1 1 j M. P=N 1 i N 1 j M. ER. P 1 m j. P i m j. EW. P 1 m j. P i m j. CR. i , P i m j. CW. i , P i m j. BSR-.
E N D
P=1 1j M P=N 1 i N 1 j M ER Exclusive Read EW Exclusive Write CR Concurrent Read CW Concurrent Write
P=1 1j M P=N 1 i N 1 j M ER P1 mj Pi mj EW P1 mj Pi mj CR i, Pi mj CW i, Pi mj
BSR- • Broadcast. Each Pi broadcasts a datum & tag, di & gi, respectively, to all M memory locations. So, i j, Pi sends < di , gi > to Uj, 1 i N , 1 j M
BSR- • Selection. Each Uj uses a “limit”, lj , with a selection rule, , to test gi. • So, evaluate gi lj where : , , , , , • If gi lj is TRUE, then di is selected (accepted) for the reduction phase, else it is rejected by Uj.
BSR- • Reduction. All di’s selected by Uj are combined (or reduced) into one datum using a binary associative reduction operator, R , with R being SUM, PRODUCT, AND, OR, XOR, MAX, MIN V • Result is stored in Uj.
Always question, never blindly accept (things are not always what they seem!). Further, there are always implications... • If all memory accesses take log(M) time, is there any such thing as a constant time operation/algorithm? • Does this somehow imply that it is possible to break O(1)?