Parallel Programming

Definition
Split up a task into many similar parts and execute these all at the same time. When done, integrate the results.
Parallel programming architecture diagram

How does it work?

By splitting up a task that takes n time into m subtasks and execute these in parallel, the task only takes n/m time.

Examples

  • Spidering the internet

When should you use it?

  • Use it for large tasks that have lots of simular computations, that can be compartimentalized. When time matters.

Problems

  • Extra infrastructure may need to be set up for parallelization.

Common implementation techniques

  • Coroutines in programming languages
  • Cloud based

Links