The MPI framework allows separate processes in a parallel program to communicate. The standards are maintained by the MPI Forum. There are several implementations, and the main ones are MPICH2 and Open MPI. I've used both and they are fairly interchangeable.

There are also several Python bindings for MPI, but the most popular seems to be mpi4py.