Concurrent vs. parallel execution
Course Content
0 / 71 completedExercise files
What you should know
Learn parallel programming basics
Shared vs. distributed memory
Parallel computing architectures
Sequential vs. parallel computing
Thread vs. process
Concurrent vs. parallel execution
Global interpreter lock Python demo
Multiple threads Python demo
Multiple processes Python demo
Execution scheduling
Execution scheduling Python demo
Thread lifecycle
Daemon thread
Daemon thread Python demo
Thread lifecycle Python demo
Data race
Data race Python demo
Mutual exclusion
Mutual exclusion Python demo
Reentrant lock
RLock Python demo
Try lock
Non-blocking acquire Python demo
Read-write lock Python demo
Read-write lock
Deadlock
Deadlock Python demo
Abandoned lock
Abandoned lock Python demo
Starvation Python demo
Starvation
Livelock
Livelock Python demo
Condition variable Python demo
Condition variable
Producer-consumer threads Python demo
Producer-consumer
Semaphore
Producer-consumer processes Python demo
Semaphore Python demo
Race condition Python demo
Race condition
Barrier
Barrier Python demo
Computational graph
Thread pool
Process pool Python demo
Thread pool Python demo
Future
Divide and conquer
Future Python demo
Divide and conquer Python demo
Speedup, latency, and throughput
Amdahl's law
Measure speedup
Measure speedup Python demo
Agglomeration
Communication
Mapping
Partitioning
Welcome to the challenges
Solution Matrix multiply in Python
Challenge Matrix multiply in Python
Challenge Merge sort in Python
Challenge Download images in Python
Solution Merge sort in Python
Solution Download images in Python
Next steps
Additional resources