Russel Winder, Concertant LLP
High Performance Computing (HPC) traditionally has the image of being vibrant and cutting edge, of being a temple which only the priests may enter. Supercomputing is supposedly the absolute pinnacle of HPC, with only the high priests allowed. Certainly, the hardware on show at SC08 in the exhibition is extremely impressive, and the applications on show definitely have great pizzazz, and many of them great usefulness. But it is all seems very much the same as last year – except that the hardware supports more memory, more disc space, and has more flops (in the floating point operations per second sense not the failure sense, though there have probably been a few of those as well). Apart from a mention on the Intel stand, and one or two other minor vendors of software tools, there is very little mention of multicore. The “Multicore Revolution” appears to be being ignored fairly widely. It is not as though since HPC has always had parallelism multicore is an irrelevant change: multicore changes the way parallelism works even in a traditionally parallel field – the properties of the parallelism are different.
There is another, almost shocking (at least for some), observation: Java hardly gets a mention anywhere – two notable exceptions are the Pervasive Datarush stand and the Inria stand. The only mention of Java on the Sun stand is on the custom built chopper bike gracing their stand – on the round badge below the front of the seat. The now famous “anonymous inside source” indicated that:
- Sun's internal structure and politics means that the Sun HPC people and the Sun Java people don't actually talk to each other.
- Sun's HPC-related sales staff don't get Java-related requests from clients.
It seems then that C, C++, with some Fortran, using MPI and/or OpenMP have more or less complete hegemony in HPC software development. Sun and others have shown that Java can be essentially as fast as C and C++ at computation, yet not even Sun are trying to establish Java as a player in the HPC programming game. The mindset appears rather set. One might say staid.
Another (random?) observation is the complete lack of booksellers and books – the sole exception seems to be the small MIT Press stand. This seems to indicate that attendees are not expected to buy books. Contrast this with most programming conferences where the book stands form the bulk of the exhibitions! It is probably best to leave speculation on the reasons behind this to the reader.
Clearly HPC is vibrant, exciting and addictive, and so, in a sense, far from moribund. However, C, C++, Fortran, MPI and OpenMP are just one solution to the software development activity. Java, Haskell, Erlang are alternative solutions that appear not to have any traction at all in the HPC arena. In this sense things are not exactly moribund, just fixed in a rut. Indications are though that a time is coming, with desktop supercomputers, when people currently outside the HPC arena will, using new languages and techniques, compete well against the current HPC giants using the old mindset. The “Multicore Revolution” hasn't happened in HPC yet, but it will.