Introduction

Where a sequential execution can be imagined as a single worker on an assembly line moving between tasks, a parallel process is more like a series of workers, each doing a specific task.

It takes 4 months to grow a tomato. Can you only grow 3 tomatoes a year ??

Parallel does not mean always that your process will use another CPU. Two processes can run in parallel using only one CPU

Parallelism use is only going to increase because:

Parallel execution is the ability to :

  • divide a single operation through the hardware ressource
  • apply multiple CPU and I/O resources to the execution of a single operation.

There are three architectures and approaches to increase performance through paralleled work over additional hardware:

See also: Parallel Programming - (Function|Operation)

Implementation

mechanism by which a task can be run in parallel may be:

  • time-sharing cooperative multitasking,
  • fibers,
  • threads,
  • processes, using different hyperthreads,
  • cores,
  • CPUs,
  • machines,
  • etc.

Documentation / Reference