Given a shared matrix on a p processor partition, the READ primitive is an operation that allows an arbitrary processor to request and receive q elements from a remote location on . Note that many parallel platforms contain both blocking (one-phase) and non-blocking (two-phase) read function calls. In the BDM model, its complexity is defined to be