Newsgroups: comp.sys.transputer
From: paul@walker.demon.co.uk (Paul Walker)
Subject: Conundrum: Where is the parallelism lost?
Organization: Paul Walker Consultancy
Date: Tue, 13 Sep 1994 22:00:13 +0000
Message-ID: <779493613snz@walker.demon.co.uk>

I must be the wrong person to ask this but I was puzzled by almost the
last thing to happen at WTC in Cernobbio last week.

There was a panel session on "Is Parallel Processing Still Important",
which concluded a number of things including that users wanted to run
their existing programs transparently on parallel or distributed
hardware. Of course. And their programs are all sequential. Which makes
life rather difficult and limits the sales of parallel computers.

Further consensus, prompted by Peter Welch, was that education is needed
to teach programmers to program in parallel.

All of which seemed fine until I remembered the rather little I ever 
learnt about structured programming. 

For example Jackson talks about the real world having millions of 
processes and so he models those processes and says that the difficult
bit is transforming them into a single sequential process to run on
a von Neuman computer.

Yourdon's data-flow diagrams explicitly contain no information about the
ordering of the transformations except when one produces an output to 
be used as input for another.

So if structured programming is basically parallel programming, why
can this parallelism not be retained until the program meets the machine
on which it is to run?

To a hardware engineer like me, the loss of the parallelism is a bit like
drawing logic diagrams with MacPaint (or MS Paintbrush). You can get a 
nice looking drawing, but as soon as you want to change anything, you find
the picture is just a set of pixels, with no relationships held between
the lines or boxes --- it loses the structure of the diagram. Fine for an 
artist perhaps; useless for an engineer.


Please tell me what I've got wrong here.

And if its not wrong, why no one has developed products which do preserve
the program structure through compilation and linking and loading?

Paul Walker

