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
