Content deleted Content added
I added a citation |
Kotenok2000 (talk | contribs) No edit summary |
||
Line 21:
MPI is not sanctioned by any major standards body; nevertheless, it has become a [[de facto standard|''de facto'' standard]] for [[communication]] among processes that model a [[parallel programming|parallel program]] running on a [[distributed memory]] system. Actual distributed memory supercomputers such as computer clusters often run such programs.
The principal MPI-1 model has no [[shared memory]] concept, and MPI-2 has only a limited [[distributed shared memory]] concept. Nonetheless, MPI programs are regularly run on shared memory computers, and both [[MPICH]] and [[Open MPI]] can use shared memory for message transfer if it is available.<ref>[http://knem.gforge.inria.fr/ KNEM: High-Performance Intra-Node MPI Communication] "MPICH2 (since release 1.1.1) uses KNEM in the DMA LMT to improve large message performance within a single node. Open MPI also includes KNEM support in its SM BTL component since release 1.5. Additionally, NetPIPE includes a KNEM backend since version 3.7.2."</ref><ref>{{cite web|url=https://www.open-mpi.org/faq/?category=sm|title=FAQ: Tuning the run-time characteristics of MPI sm communications|website=www.open-mpi.org}}</ref> Designing programs around the MPI model (contrary to explicit [[Shared memory (interprocess communication)|shared memory]] models) has advantages
Although MPI belongs in layers 5 and higher of the [[OSI Reference Model]], implementations may cover most layers, with [[Internet socket|sockets]] and [[Transmission Control Protocol]] (TCP) used in the transport layer.
|