week 1
week 1
and Distributed
Computing
Topics covered
• Introduction to Parallel and Distributed Computing
• What, Why and Who uses PDC?
• Visualization and Animation
• Interconnection Networks (INs)
• Static INs Tree
• Hypercube
• k-d Mesh
Motivating parallelism
• The role of parallelism in accelerating computing speeds
has been recognized for several decades.
• Its role in providing multiplicity of data paths and
increased access to storage elements has been
significant in commercial applications.
• The scalable performance and lower cost of parallel
platforms is reflected in the wide variety of applications.
• Developing parallel hardware and software has
traditionally been time and effort intensive.
Need for Parallelism
• If one is to view this in the context of rapidly improving
uniprocessor speeds, one is tempted to question the
need for parallel computing.
• There are some unmistakable trends in hardware
design, which indicate that uniprocessor (or implicitly
parallel) architectures may not be able to sustain the
rate of realizable performance increments in the future.
• The emergence of standardized parallel programming
environments, libraries, and hardware have significantly
reduced time to (parallel) solution.
• Parallel computing involves
the simultaneous execution
of multiple tasks, breaking
down a large problem into
Parallel Computing smaller, independent sub
problems that can be
solved concurrently.
• Parallelism enhances
computational speed by
leveraging multiple processors
or cores.
• Parallel computing boosts
performance, enabling the
handling of complex tasks
efficiently.
• Applications include scientific
simulations, data analytics, and
multimedia processing.
• Distributed computing
involves the coordination
and collaboration of Distributed Computing
multiple independent
systems to work towards
a common goal.
• Distributed systems span across
geographically dispersed locations, connected
through a network, and share resources.
• Distributed computing enhances scalability,
fault tolerance, and resource utilization in
large-scale systems.
Distributed • Cloud computing, grid computing, and
internet-based applications showcase
computing distributed computing in action.
Distributed computing
Parallel and Distributed Computing
Who uses parallelism
• Parallelism finds applications in very
diverse application domains for different
motivating reasons.