...
- There are no duplicates in the input.
...
Parallel Strategies
In Map/Reduce programming, user can easily take advantage of the below parallel data layouts, communication paradigms.
- 1D Column Blocked Layout
- 1D Column Block Cyclic Layout
- 2D Row and Column Blocked Layout
- 2D Row and Column Block Cyclic Layout
Square blocking
The matrix multiplication of the original arrays can be transformed into matrix multiplication of blocks. For example,
C_block(1,1)=A_block(1,1)*B_block(1,1) + A_block(1,2)*B_block(2,1)
No Format |
---|
+-----+-----+ +-----+-----+ +-----+-----+
| x x | | | --> | --> | | | | | |
| x x | | | --> | --> | | ↓ ↓ | |
+-----+-----+ = +-----+-----+ * +-----+-----+
| | | | | | | | | | |
| | | | | | | ↓ ↓ | |
+-----+-----+ +-----+-----+ +-----+-----+
|