The authors propose a Doacross execution scheme for the distributed shared memory (DSM) architecture. The scheme uses direct communication and static message passing. The communication is direct because a producer writes (or sends) data directly to the nearest shared memory (NeSM) of its consumer. The message passing is static in the sense that a message is bound to a buffer location determined at compile time. The authors present compiler algorithms that transform a Doacross loop into the proposed execution scheme and derive conditions that can reduce the extra storage needed for message buffers. The preliminary results show that the proposed scheme can outperform approaches that ignore the features of the DSM architecture, i.e., simply utilize the DSM architecture as a UMA (uniform memory access) architecture.