Massively Parallel Computers
David Musick (David_Musick@msn.com)
Thu, 15 Aug 96 20:33:34 UT
There's a lot of very obvious things that could be programmed into a parallel
computer quite easily. Most serial programs existing contain routines which
are pretty much independent of each other and could be done simultaneously.
And then there's all the stuff that's programmed to appear that things are
running simultaneously, such as the multi-tasking environments, like Windows.
Why don't people build machines that are capable of true multi-tasking?
Current programming techniques would only have to be modified slightly to take
advantage of the parallel processors. Parallel programming really isn't that
hard... unless you're an idiot. Every time I write I a program, I think, "My
God! this would be so much easier if I had a parallel processor!" It's not
really that hard for humans to think about the fact that many things should be
happening at the same time to solve a problem efficiently.
One good use for parallel processors is Virtual Reality. If there was a
small processor for each pixel or small group of pixels, calculating the
scene, we could have high quality, real-time ray-tracing. Each pixel is
independent of all the others, so all the pixels can be calculated
simultaneously. One could even build a parallel processor and put it on a
card that could be added on to current PC's as a device. There's probably a
market for a good rendering chip.
I'm thinking people should build computers that are parallel, down to very
small components. Each component has connections to a few of it's neighboring
components and can be programmed to respond to input in various ways and give
output to their various neighbors, depending on how they transform their
input. Machine level programming would basically be about specifying how each
component responds to input, and arranging the patterns of response into
systems which accomplish a particular goal. These systems can be used as
components within larger systems of interaction and so forth. Anything that
can be done on modern serial computers could be done one these massively
parallel computers; one could even simulate a serial computer on it, but it
can also be used for very fast parallel computations.
Parallel computers just make so much more sense than serial computers, so I
think it's only a matter of time until they're commonplace. Programmers who
are too lazy or stupid to write parallel programs could still write serial
programs on a parallel computer; they wouldn't be taking full advantage of the
machine's capabilities, but they would have nothing to complain about since
they could still do whatever they did before.
David Musick