Notes

(Draft) Concurrency and Parallelism

Brief overview and comparison between concurrency and parallelism.

March 17, 2023 - 9 strips -
note concurrency parallelism process

Concurrency and Parallelism  Two or more things are concurrent if they can be done in any order or intersped. They are parallel if they can be done simultaneously.  Graph showing intersped execution for concurrent processes and simultaneous execution for parallel processes.  Concurrency enables parallelism.  Parallelism requires multiple actors (people, processors, threads...).  Real life examples: Chopping onions and cooking pasta by yourself (concurrent), doing the same with more people (concurrent and parallel), and playing all the instruments in a song (parallel).  Examples in computer science: Download two files with a sigle thread (concurrent), download two files with multiple threads (concurrent and parallel), empty parallel example.  Parallelism = Concurrency + Multi-threading? It feels like something is missing...  Can a program be: 1. Concurrent but not parallelizable? 2. Parallelizable but not concurrent?

+

Mikel Solabarrieta

Original theme: Chalk by Nielsen Ramon.