← Back to CoursesComputer Science: Advanced

Neuroanatomy Explorer

Drag to rotate · scroll to zoom · click regions to explore

View
Loading 3D model…

Click a region
to explore it

Memory Deck

Flip each card and rate whether you knew it. Your score is saved.

Term
Definition

Deck complete — score saved.

Match the Pairs

Match each term to its definition. Finish the board to earn your score.

All matched — score saved.

Concept Constellation

Every key idea in this course, mapped as an explorable 3D constellation. Drag to rotate, scroll to zoom, click a node.

Click a node to read its definition.

Parallel and Distributed Algorithms

Manual: General · Subject: Computer Science

Understand computation at scale across many processors and unreliable networks.

Computation Beyond One Processor

Scope

Parallel and distributed algorithms study how to split work across multiple processors or machines while managing communication, synchronization, and failure. Scalability depends on both asymptotic work and coordination overhead.

Core Metrics

Work
Total amount of computation performed.
Span
Longest dependency chain; also called critical path length.
Speedup
How much faster the parallel algorithm is than the best sequential one.
Efficiency
Speedup divided by number of processors.
Consistency model
Rules governing how memory operations appear in concurrent execution.

In parallel algorithm analysis, what does span measure?

Why can communication dominate in distributed algorithms?

Parallel vs. Distributed Perspectives

Parallel computing

  • Often shared-memory or tightly coupled
  • Focuses on synchronization and cache effects
  • Optimizes work and span

Distributed computing

  • Often message-passing across machines
  • Focuses on communication and fault tolerance
  • Optimizes locality and network usage

Designing a Parallel Algorithm

  1. 1

    Identify independent subproblems or associative operations.

  2. 2

    Minimize synchronization and contention.

  3. 3

    Balance load across processors.

  4. 4

    Analyze work, span, and communication costs.

  5. 5

    Validate correctness under the target memory or network model.

Which property is most important for efficient parallel reduction?

⚠️

Concurrency Hazard

Race conditions and deadlocks can invalidate an otherwise correct algorithmic idea if synchronization is not designed carefully.

Modern Context

Contemporary systems range from multicore CPUs and GPUs to clusters and serverless environments. The best algorithms exploit the hierarchy of parallelism while respecting bottlenecks like memory bandwidth, synchronization, and stragglers.