next up previous contents
Next: Block-striped partioning Up: Parallelizing matrix-vector multiplication Previous: Parallelizing matrix-vector multiplication   Contents

Self-scheduling or Master-Slave Algorithm

The master process distributes work to slave processes. When a slave finishes, it informs the master, which assigns it a new workload. Slave processes do not communicate with each other. The master process broadcasts vector X to each slave. The master sends one row of the matrix to each slave. The master loops, and gets back one entry of the new vector from each slave. It then sends back new rows of the matrix to the slaves when the slaves are finished, until the matrix is solved. This algorithm is inefficient, due to the extremely large amount of communication required.



Colm O hEigeartaigh 2003-05-30