ABSTRACT

High-performance multiprocessors are broadly classified into shared memory and distributed memory machines. In a shared memory machine, a few powerful processors are connected to a single shared memory. Each processor can access any part of the shared memory. This makes implementation relatively simple, but the resulting memory contention creates a bottleneck when several processors try to access the same memory location. In a distributed memory machine, on the other hand, a relatively large number of microprocessors are connected to their own locally distributed memories without any globally shared memory. For these machines, communication between the processors becomes a bottleneck because accessing memories of remote processors takes more time than accessing the shared memory in the shared memory machine.