TEEGALA KRISHNA REDDY ENGINEERING
COLLEGE
• Department of Computer Science & Engineering
HEAD OF THE SUBMITTED BY
DEPARTMENT MUTHYALA PAVANI
[Link].V. PHANI 23R91D5810
KRISHNA
M-tech - CSE
Professor
Parallel Random Access Machines
(PRAM)
• An algorithm is a sequence of steps that take inputs from the user and after
some computation, produces an output.
• A parallel algorithm is an algorithm that can execute several instructions
simultaneously on different processing devices and then combine all the
individual outputs to produce the final result.
• Parallel Random Access Machines (PRAM) is a model, which is considered for
most of the parallel algorithms.
• In this case, multiple processors are attached to a single block of memory.
PRAM Model:
• A set of similar type of processors.
• All the processors share a common
memory unit.
• Processors can communicate
among themselves through the
shared memory only.
• A memory access unit (MAU)
connects the processors with the
single shared memory.
Different type PRAM
• Exclusive Read Exclusive Write (EREW) − Here no two processors are
allowed to read from or write to the same memory location at the same time.
• Exclusive Read Concurrent Write (ERCW) − Here no two processors are
allowed to read from the same memory location at the same time, but are
allowed to write to the same memory location at the same time.
• Concurrent Read Exclusive Write (CREW) − Here all the processors are
allowed to read from the same memory location at the same time, but are not
allowed to write to the same memory location at the same time.
• Concurrent Read Concurrent Write (CRCW) − All the processors are
allowed to read from or write to the same memory location at the same time.
PRAM model approaches
Shared Memory Model:
• Shared memory emphasizes on control parallelism than on data parallelism.
• In the shared memory model, multiple processes execute on different processors
independently, but they share a common memory space.
• Due to any processor activity, if there is any change in any memory location, it is visible to
the rest of the processors.
Message Passing Model:
• Message passing is the most commonly used parallel programming approach in
distributed memory systems.
• Here, the programmer has to determine the parallelism.
• In this model, all the processors have their own local memory unit and they
exchange data through a communication network.