Maestro

I had expected that the first word on Maestro would come on this blog, but that's what happens when you take time between posts.

We first discussed it during PDC at the Thursday panel on parallel programming, we discussed it on Channel 9, and then Josh Phillips posted his excellent article about isolation and message-passing on the PFX team blog. It was really exciting that Dr. Dobbs contacted me yesterday to learn a bit more about Maestro, and it was really impressive to see how fast it was published. It was particularly fun to get the word out on the same day I held a web-based seminar on Maestro at the University of Illinois. Don't know if that's been published on their site yet.

As I pointed out in the DDJ interview and have said on this blog, I really think we can learn some things from how the web is programmed when we think about how we are going to scale manycore applications to (possibly) hundreds of hardware threads, or try to mix CPU-based code with GPU-based code with a non-consistent memory model between them, or integrate with cloud-based services under the software + services model. For raw performance, message-passing models are much too expensive, but to scale from local to server to cloud, we need a programming model that does not assume that pointers are valid beyond component boundaries. An actor-based model can, with the right runtime bindings underneath, provide exactly that.

If things go our way, we should be able to have some exciting things to tell about Maestro within the next couple of months. Until then, I'll try to introduce a few concepts of Maestro here on this blog just to keep things interesting...