PDA

View Full Version : Loop on a multiprocessor


blaz83
Feb13-10, 02:30 AM
Can someone help me with the below task:

The inner loop of a matrix computation uses the statement

For J: = K step 1 until N do
A[I,J]: = A[I,J] x Q – A[K,J];

Assume that this statement is parcelled out among the processors of a multiprocessor system so that each processor executes the statement for a different value of J. Assume also that the multiprocessor system has a central shared memory. When two different processors access the same memory module simultaneously, the module responds immediately to one processor, and the second processor has to wait one memory cycle, at which time it repeats its request.
a) Assume that the array is stored by rows accross the memories, so that at ascending addresses are elements with index pairs, (1,1), (1,2), ..., (1,N), (2,1), ..., (2,N), ..., (N,N), as ascending addresses cycle across the memories.
Diagram the cycle-by-cycle execution of the first five computation parcels under the assumption that all are initiated simultaneously, and that the number of memories is N.
b) Now assume that the array is stored so that each row of A lies in a distinct memory module. Repeat part a).
c) Comment on the problem of data contention in this type of shared memory system, based on your observations.


Thanks,
Blaz