CS ELEC 2 Introduce Parallel Computing
CS ELEC 2 Introduce Parallel Computing
This course gives the vastly increased importance of parallel and distributed computing which
seemed crucial to identify essential concepts in the area and to promote those topics to the
core. Both parallel and distributed computing entail the logically simultaneous execution of
multiple process, whose operations have the potential to interleave in complex ways. Parallel
and distributed computing builds on foundations in many areas, including an understanding of
fundamental systems concepts such as: concurrency and parallel execution, consistency in
state/memory manipulation, and latency. Communication and coordination among process is
rooted in the message-passing and shared-memory models of computing and such algorithmic
concepts as atomicity, consensus, and conditional waiting. Achieving speedup in practice
requires an understanding of parallel algorithms, strategies for problem decomposition, system
architecture, detailed implementation strategies, and performance analysis and tuning.
Distributed systems highlight the problems of security and fault tolerance, emphasize the
maintenance of replicated state, and introduce additional issues that bridge to computer
networking.
SUMMATIVE EVALUATION
● Increased speed
● Increased scalability
● Increased flexibility
Disadvantages of Parallel Computing
● Increased complexity
● Increased communication overhead
● Increased synchronization overhead
Why use Parallel Computing?