Category:Concurrent programming
From LiteratePrograms
Scholars still argue on the difference between Concurrent programming and other related idioms.
Here however, we make a distinction in that Concurrent usually refers to running a single job that is split into multiple tasks to run on one processing unit (multi-tasking is the case when multiple jobs are involved).
Multi-core and Parallel on the other hand usually refer to tightly coupled units (integrated on a chip in case of Multi- and Many-core and on a system in a more general case of Parallel) running a single job (possibly split into several tasks/threads).
Finally, Distributed refers to loosely coupled units (integrated on the net) that run multiple jobs/tasks, a.k.a. clusters, grids and clouds (I don't make any distinction between these right here).
Note that High-Performance or High-Reliability (Security) can cover all of Concurrent, Multi- and Many-core, Parallel and Distributed domains.