[comp.arch] Distinction between concurrent, distributed and parallel processing

fouts@orville.nas.nasa.gov (Marty Fouts) (09/24/87)

I am trying to produce a rough distinction between concurrent,
distributed and parallel processing (which I claim to be overlapping
sets) for a taxonomy of concurrent processing tools I am currently
working on.

I have started out by defining an algorithm as a sequential series of
steps which terminates in the solution to a problem.  (Technically,
produce a deterministic result)

I next define concurrent processing as nonsequential execution of the
steps in an algorithm which terminates at the same solution.

So far, pretty ordinary stuff.  Now for the problem:  (Let us wave our
hands at what 'tight' and 'loose' coupling are. . .)

Distributed processing is concurrent processing using more than one
loosely coupled processor, while parallel processing is concurrent
processing using more than one tightly coupled multiprocessor.

Leaving aside the definition of coupling (A somewhat religious issue
;-) is this a reasonable distinction between distributed and parallel
processing?  (If not, what other distinctions need to be made?)