donderdag 29 mei 2008

The manycore shift

"The manycore shift is coming!" my colleague Jos Bredek keeps telling (harassing?) me about every other day. "What are you going to do about it?"
Even if you take into account that the journals and bloggers are hyping each other up, it is an important development which is coming nearer everyday. The fact that multi/manycore systems are becoming prominent cries for programmers who have the skills to take advantage of them. And these programmers need to have programming languages and tools to work with.
What does a bachelor student need to know about parallel programming? How would we teach them this subject? I don't have definite answers yet, but it's got my attention.

So in the past weeks I've seen some interesting material passing by. I'll share the best with you:

* The manycore shift, a general white paper by microsoft.

* Microsofts parallel extensions are something a developer can sink his teeth in. This blog post by Daniel Moth shows the concrete usage in .Net. Daniel Moth? Yes, he's the guy from the QCon ("I speak so fast, just download the video and play it at half speed.")

* So what's the Java world up to then? Under JSR166 mr Doug Lea is working on a parallel "fork-join" framework which might be included in Java 7. Some interesting links: an InfoQ article, a in-depth pdf and the homepage including the API.

My first impression is that .Nets Parallel.for(...) and are really simple and concise compared to the Java stuff? I could teach that in about 5 minutes. But then again, I might not yet know enough about this material to make a real comparison...

2 opmerkingen:

Hunter zei

Just in case you're interested in something else going on in the Java world: Firstly I'm a mechanical engineering student at the University of Texas in Austin doing some research in the process control world, specifically in software vendors using predictive analytics to design better maintenance tools and procedures. Usually this involves analytics on large data volumes and I believe that many of these vendors could benefit from a shift to software that utilizes concurrent processing on multi-core machines. I found a company Pervasive Software, also out of Austin, working on a Java framework called DataRush that developers can use to create highly parallel applications w/o any concurrent programming knowledge.

JanB zei

Thx, this is a good addition.