Read an interesting interview with database guru Jim Gray this
morning. Outwardly it was about databases, but he makes some
observations about programming against GPUs and parallel programming
that are very relevant to one of key novel features of the Oz virtual
machine. Quoth the guru:

"Q. Do you think compilers would ever get intelligent enough to
parallelise our code for us, or would it always require human
intelligence?

"A. I hope it will. Actually, I'm convinced as far as human
intelligence is concerned it's hopeless. That's what scares me so
much. So what it's actually going to require is a simple programming
model. I think a dataflow programming model is where we're headed and
that happens to be the way you program GPUs. You program them as
dataflow. If you look at the GPU sort, most of it is data flow.

"Parallel programming is hard because of the states base explosion, so
you have to think in general terms. You be able to say "do this
general thing to all those objects", and you have to generalise and
think about the general case. Whereas in sequential programming you
have narrowed everything down to a very specific case and you know at
a certain point in the program quite a bit about the state of this
object.

"If you look at SQL Server Integration Services it's dataflow
programming. You write transforms as simple VB or C++ or C# transforms
that take in data streams and spit out data streams. They are
sequential programs but they run using pipeline partition parallels."

You can read it here:

http://www.regdeveloper.co.uk/2006/05/30/jim_gray/page3.html

I've got to get back into Oz again! 

- Bob Calco


_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to