Shared Memory Paradigms
One way to make shared-memory programming easier is to use techniques adapted from operating systems to enclose accesses to shared data in critical sections.
In shared-memory parallel architectures this programming style can be mapped directly.
These paradigms are generally used on multiprocessors using not many processing elements (from 2 ten up to twenty).