Point-to-Point and Barrier Synchronization in Distributed SPMD Systems