With its Fortress language, Sun researchers are developing a general-purpose language intended for HPC applications such as weather simulation or large-scale enterprise-level transactional applications. Fortress will be offered to the community at large via an open source format, although plans on exactly when and how that will be done still are undetermined.
Fortress attempts to overcome current HPC programming issues with Fortran and C++, said Eric Allen, principal investigator in the programming languages research group at Sun.
These languages suffer from ill-defined semantics that cause bit-level compatibility problems and are unsafe, requiring programmers to often focus on insidious bugs, said Allen, who spoke during an “Open House” event at Sun offices in Menlo Park, Calif.
“Currently, high-performance computing is dominated by two languages: Fortran, and C++. Unfortunately, both of these languages are ill-suited for the task,” Allen said. He said the languages also have no provisions for concurrency, which must be graphed on top of them and can cause conflicts with syntax.
“What’s the result? We see programs that are often unnecessarily long, there are errors that are even difficult to detect, much less diagnose, and hardware parallelism is often difficult to exploit,” Allen said.
With Fortress, Sun researchers want to change how high-performance computing is done and allow scientists to program more closely to their own domain, he added. Goals include allowing for abstraction and reuse without overhead, making errors easier to correct and detect and making it easier for parallelism and distribution. “The most important thing to know about Fortress is that it is parallel. In fact, it’s really parallel,” said Allen.
Although Fortress follows in the footsteps of Java in the area of syntax, it is a separate language, one that has been in development for three years. “Our strategy with Fortress is to foster community development by establishing a series of open source projects for the language,” and seeding them with initial code and contributing extensions, Allen said.
“As Microsoft began to build Atlas, we explored a number of different approaches for creating a state-of-the-art experience for building AJAX-enabled Web applications. Script# is a prototype of one such exploration,” Microsoft said in a prepared statement.
A Script# compiler and a sample became available on Kothari’s blog on May 22, available for access at this Web site.