Паралелізм (Parallelism)
Справжнє одночасне виконання на кількох процесорах.
Parallelism involves dividing a large problem into smaller sub-problems, which are solved concurrently on multiple processors or cores. Unlike concurrency (which deals with managing multiple tasks at once), parallelism is about doing multiple tasks at the same time. It is key to high-performance computing and leveraging modern multi-core CPUs.
graph LR
Center["Паралелізм (Parallelism)"]:::main
Rel_concurrency["concurrency"]:::related -.-> Center
click Rel_concurrency "/terms/concurrency"
Rel_continuous_integration_ci["continuous-integration-ci"]:::related -.-> Center
click Rel_continuous_integration_ci "/terms/continuous-integration-ci"
Rel_multiprocessing["multiprocessing"]:::related -.-> Center
click Rel_multiprocessing "/terms/multiprocessing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простими словами
Уяви, що тобі треба почистити 100 картоплин. Робити це самому довго. Якщо ти покличеш 4 друзів і ви будете чистити всі разом одночасно, робота закінчиться набагато швидше. Це і є паралелізм — використання багатьох 'рук' (процесорів) для одночасної роботи.
🤓 Expert Deep Dive
Data Parallelism distributes data across different nodes, while Task Parallelism distributes different sub-functions. Amdahl's Law limits the maximum speedup achievable through parallelism based on the sequential fraction of the code. Massive parallelism is achieved via GPUs (thousands of cores) and MPI clusters (thousands of nodes).