**Cannon's algorithm** is a distributed algorithm for matrix multiplication for two-dimensional meshes. It is especially suitable for computers laid out in an N × N mesh. While Cannon's algorithm works well in homogeneous 2D grids, extending it to heterogeneous 2D grids has been shown to be difficult.

The main advantage of the algorithm is that its storage requirements remain constant and is independent of the number of processors.

**Read this article to understand the intuition behind Cannon's Algorithm**

This image captures the beauty of this algorithm:

**Have a doubt or thought? Join the discussion now**

This is a companion discussion topic for the original entry at http://iq.opengenus.org/cannon-algorithm-distributed-matrix-multiplication/