Achieving high performance parallel computing requires both a large scale and reliable system. We describe our design and implementation of the message passing interface, called MPICH-OPeN, for parallel computing over a peer-to-peer network to address this challenge. Our implementation uses the Condor standalone checkpoint library and the Chandy-Lamport algorithm, for reliability, with extensions to make it decentralized. We use the OPeN architecture with an adaptive peer-to-peer protocol that caches connections between peers according to communication requirements of the parallel processes. We used PlanetLab to compare the performance of our implementation to MPICH-P4 and to measure the impact of dynamic peers on parallel program execution