Multicore Programming

Concurrency vs Parallelism

  • A system is parallel if it can perform more than one task simultaneously.
  • A concurrent system supports more than one task by allowing all the tasks to make progress.
  • Thus, it is possible to have concurrency without parallelism.

Types of Parallelism

  • Data parallelism focuses on distributing subsets of the same data across multiple computing cores and performing the same operation on each core.

  • Task parallelism involves distributing not data but tasks (threads) across multiple computing cores.

In most instances, applications use a hybrid of these two strategies.

results matching ""

    No results matching ""