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