병렬 처리 (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;
🧒 5살도 이해할 수 있게 설명
혼자서 감자 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).