Terminology distinguishing sequential from parallel computing
Heime via Gcc-help <[email protected]> Sun, 17 May 2026 21:15:19 +0000
| Newsgroups | gmane.comp.gcc.help |
|---|---|
| Message-ID | <D9zpKmnrCDOzAOQHSACVq9yZ8sGx6sTbUU_6Opoz6D3TimDVte8pfpUAzN3v-NCH47fKDg9fjLybmtQZabuBiN3YpjYcght77172dRB5rL4=@protonmail.com> |
I understand the use of parallel computing (e.g. using MPI)=20
in which computations are spread across different processors=20
working simultaneously. Although some also call this Distributed=20
Computing, I think that distributed computing also covers=20
serialised computations using multiple hardware enabled resources=20
such as scheduling multiple thread (which is commonly a sequential=20
process).
But then there is multithreading, which to me is still sequential=20
processing (except in case of simultaneous multithreading in hardware=20
that allows it). Yet, enabling multiple threads still made my fortran=20
program run faster! How does this happen when customarily multithreading=20
is still a mainly sequential process?
Then there is concurrent computing, which to me is basically still a=20
sequential process.
What is the appropriate wording for the two main ideas - is it
Sequential - Multithreading, Concurrent
Parallel - Multi-Processor Computing
Distributed Computing would then cover everything - the entire modern=20
landscape. Mainly because contemporary systems rely on shared hardware=20
resources rather than an isolated hardware unit performing program=20
execution.