Professional Documents
Culture Documents
PDCNOTES
PDCNOTES
PDCNOTES
Serial Computing:
1) Problem broken into discrete series of instructions.
2) Instructions execute one after another.
3) Only one instruction may execute at any moment in time.
Parallel Computing:
1) Problem is broken into discrete parts that can be solved concurrently.
2) Each part is then broken into series of instructions.
3) Instructions of each part can execute simaltaneously on different CPUs.
Parallel Overhead:
*) Task start-up time
*) Task termination time
*) Synchronization
*) Data Communication
*) Software Overhead
Shared Memory: Multiple CPU and a common shared memory hence cache coherence is
also there
1) UMA = One SMP, identical processors with equal access and access times to
memory
2) NUMA = Generally two or more SMP (unequal memory size + access times)
Advantages:
*) Global address space, programmer friendly.
*) Data sharing between tasks is uniform and fast.
Disadvantages:
*) Lack of scalability (adding more cpu congests the shared memory-cpu path)
+ phyiscal limitation
*) Programmer responsibility for synchronization (tasks accessing global
memory)
*) Expensive to build machines with ever increasing numbers of processors
Advantages:
*) Scalable (processors and memory consequently)
*) Processors can quickly access local memory without interference/overhead
because no cache coherence is to be maintained.
*) Cost Effective as any normal system can be used/added
Disadvantages:
*) Programmer responsibility for setting up data communication between
processors
*) Existing data structures, based on global memory, can't be mapped to this
memory organization.
*) Memory access time is non uniform.