MPI guarantees point-to-point non-overtaking P0 --- S(to:1, msg1, h1); … S(to:1, msg2, h2); … W(h1); … W(h2); P1 --- R(from:0, buf1, h3); … R(from:0, buf2, h4); … W(h3); … W(h4); Require S(..msg1..) to match a potential receive from P1 BEFORE S(..msg2..) is allowed to match Require R(..buf1..) to match a potential send from P0 BEFORE R(..buf2..) is allowed to match Achieved by ensuring the above matches-before relations during scheduling
{}