Come see us at SuperComputing '08
Multicore chips offer the potential to get more done not through faster processing, but by offering more processing on a single chip. It's only a "potential" to get more done, though, because applications must be written to do more than one thing at a time to see an actual performance boost. Parallel application development is a serious challenge in commodity application development because few of the millions of developers out there know anything about doing it, and even fewer know how to do it well.
This is not news in the IT world where the industry's brightest stars are funding research labs, endowing professorships, and funding universities not only to prepare the next generation of programmers for parallel application development, but to go back to the drawing board and rethink the programming models, tools, and algorithms we'll need to successfully exploit the promise of multicore processors in everyday computing.
The field is in flux, and the practices, programming models, and hardware of tomorrow have the potential to be radically different from today. But businesses have a job to get done today, and waiting around for things to settle means not making payroll tomorrow. Given this state of flux, how can you continue to get things done while preparing for the future?
Managed execution environments, such as Java, offer a lot of flexibility for development today while protecting -- or, "future proofing" -- your application for tomorrow.
While Java is not the only such environment, it is a popular one, and is widely available. More importantly for programmer productivity, Java applications can be written at a high level, and the major chip manufacturers are making significant investments in improving the performance of Java on their hardware. The pace of development is increasing, with the creation of libraries and constructs in Java offering higher levels of abstraction for the expression of parallel work. These abstractions increase the productivity of application programmers, and offer them the promise of future performance gains: the Java community and major hardware and software companies can continue to improve the performance of Java underneath the abstractions and the applications that use them will simply get faster.
The first efforts to use Java in HPC and parallel computing a decade ago were disappointing, characterized by poor performance. But a decade of work improving the performance of JVMs has paid off, and developers can now expect performance on a par with other more traditional MPI-based approaches (http://hal.inria.fr/docs/00/31/20/39/PDF/RT-0353.pdf).
All of this is relevant for us, as we move towards our release of our DataRush engine library.
We are gearing up for our next show, SuperComputing '08, which is coming to Austin. We have gotten the biggest booth we have ever had at a show, and we are excited about showing off some work we've done with early customers. We are in booth 203, which is the first booth on the right side of the first aisle and we hope you will come on by!
We also have a limited number of exhibit passes -- if you would like one, just email me, at shochschild@pervasive.com




