James Gosling (CTO of Sun’s Developer Products Group) has a post about the limitations of MPI, and the MPI approach, on multi-core architectures.
He correctly outlines the limitations of “MPI model” on multi-core/multi-threaded architectures. We’ve been dealing with these for a couple years now by writing hybrid codes that multi-thread at close distances and use MPI between nodes.
He identifies this as a real challenge and something that’s not an issue for JavaEE frameworks.
I agree that writing high performing applications for hybrid hardware is hard, but I think the challenge is manageable. Insofar as it makes HPC harder, though, it needs to be addressed. And it is, not least by the new work being done in HPCS. I don’t view JavaEE as anything like a viable option for serious supercomputing.