Distributed Memory ComputingA multiprocessor system in which each processor has its own memory. Since the the memory is distributed, message passing should be done among the individual nodes. Based on a set of processes. MPI is one such distributed memory programming platform.
Shared Memory Computing
A multiprocessor system in which processors shares a global random access memory across the system. Based on a set of threads runs on each processor sharing the globally available memory. OpenMP is one such shared memory programming platform.
Partitioned Global Address Space (PGAS)
A combination of both shared and distributed memory programming architectures. It provides an abstraction of a globally shared memory to application level tasks. Furthermore it divides the global address space into sections called "partitions" so that individual threads can access their corresponding partition which is analogous to a distributed memory.