In this example, the computation is split into two parts: the part that needs data from the other processors, and the part that doesn't. The part that is independent of the other processors represents the interior of the domain (relative to each processor); the part that requires data from other processors is the boundary. The communication is started, the computation on the interior takes place, followed by completing the communication and finaly performing the computation on the boundary.