The systems are categorized into 2two categories.{{citationneeded}} The systems discussed in the first category were characterized by the isolation of the abstract design space seen by the programmer from the parallel, distributed implementation. In this, all processes are presented with equal access to some kind of shared memory space. In its loosest form, any process may attempt to access any item at any time.
The second category considers machines in which the two levels are closer together and in particular, those in which the programmersprogrammer's world includes explicit parallelism.This category discards shared memory based cooperation in favour of some form of explicit message passing.