Thursday, May 15, 2008

A mighty Fortress...

At JavaOne last week, Sun updated the world on Fortress, its Java-based programming language for massively parallel processing. It’s consistent with Sun’s view of being an innovator, rather than a low cost commodity supplier.

The program from Sun’s Programming Language Research Group was originally developed using DARPA HPCS (nee High Performance Computing) money, and then with its own dollars.

For most of the past decade, Sun missed numerous opportunities by trying to control Solaris and Java rather than win adoption through open source. Given Sun’s origins as an “open systems” supplier, its failure to embrace openness was perplexing, in the face Linux at one extreme and Microsoft at the other. However, this time the prototype Fortress interpreter is already released under a combination of BSD and GPL licenses.

About 20 years ago, I was a programming language geek, working on compilers and programming language design, including some ideas about language design for one of the earliest massively parallel computer systems, the JPL hypercube.

At the time, the most radical programming language effort was Occam, intended for the Transputer processors. It was interesting to note that Sun Fellow Guy Steele acknowledges Occam in an interview about the Fortress efforts.

Having the smartest people in the field in house (like Steele, co-inventor of MIT’s Scheme language) is the path to differentiation through innovation, and having your own people implement the language is the surest path to make sure it works well on Sun hardware and software.

The problem is adoption. Historically, network effects have been the death of specialized languages (coming from the inventor of a specialized language). People would rather work with libraries wrapped around standard languages (like Fortran, C, C++ or Java) than learn a new language. So major breakthroughs like APL, Simula, Simscript, Smalltalk, Scheme and Occam were used to teach programming, but were rarely used to solve real program.

So the challenge will be to make Fortress the standard language for massively parallel systems — first at DoD and DoE research labs (like LLNL and Oak Ridge), then for government studies and analysis, and finally for computing-intensive industry problems like biotech and oil exploration).

To become the standard, Sun needs the cooperation of both the user and vendors of massively parallel computers. It doesn’t have any computers on the Top 10 (of the Top 500) supercomputers, which is dominated by IBM with other systems from Cray, HP and SGI. (Sun only has one machine in the top 50). So, as with any other standards-based competition in the industry, good technology is only valuable if it leads to adoption, tipping and network effects — and much of the adoption is driven by politics and alliances rather than the quality of the technology.

1 comment:

Anonymous said...

is fortress only for scientists?
ordinary developers also can play with java, is fortress can allow it?
java supporting lot of projects, and jobs in IT sector, is fortress can?

Thanks n regards