Site Tools


parallel-computing

Parallel computing

Parallel computing is a style of programming where a computation is broken into parts that run simultaneously across multiple processors, cores, or machines. The motivation is straightforward: a single core has a clock speed ceiling, and modern CPUs gain performance by adding more cores rather than running each core faster. To take advantage of that, programs have to be written with parallelism in mind.

Not every program benefits equally. Amdahl's law shows that the sequential fraction of a program โ€” the part that cannot be parallelized โ€” sets a hard ceiling on speedup regardless of how many cores you add. Gustafson's law is the more optimistic counterpart: if you scale the problem size alongside the hardware, speedup grows linearly. In practice, HPC workloads follow Gustafson's regime โ€” you buy more nodes to solve a bigger problem, not just to solve the same one faster.

Map of parallel computing

parallel-computing.txt ยท Last modified: by Ivan Janevski