Second Java Grande Forum Meeting May 9-10

Some Java Grande Resources at http://www.npac.syr.edu/javagrande/index.html

Some Java Grande Resources at http://www.jhpc.org/grande/

NIST's Java Resource at http://math.nist.gov/javanumerics/

Sun's HotSpot Compiler -- The Core IR Cliff Click Sun

Analysis of Java Performance in Scientific Codes Marc Snir IBM

JNI Java Native Interface Sheng Liang Sun (presentation is from JavaOne Conference)

The Second Java Grande Forum meeting was held May 9-10 98 in Palo Alto. It was sponsored by Sun Microsystems (Siamak Hassanzadeh), and coordinated by Geoffrey Fox with George Thiruvathukal as secretary. Grande applications are large-scale applications typical of HPCC, scientific and engineering computations, or distributed simulations. The goal of the forum is to further community activities that will make Java a much better (and probably the best) programming environment for Grande applications. The first meeting of the Forum was March 1,98 and we expect that the next two meetings to be in August and November (at SC98). This meeting had 30 participants from academia, industry and government.

The meeting started with technology updates from Sun (their Hotspot optimizing compiler and the Java Native code Interface JNI) and IBM (Marc Snir on the performance of Java in scientific computing). Then we pursued the classic mix of parallel and plenary sessions using two working groups.

  1. Numerics and Libraries led by Roldan Pozo and Ron Boisvert of NIST.
  2. Applications and Parallel/Distributed Computing led by Dennis Gannon from Indiana.

Both groups made good progress and we expect their reports to be available around the end of May. These will of course include Web pages but also a "Java Grande Forum Charter Document" which will be distributed. Further we expect to submit a set of near term action items to JavaSoft. These will contain our proposals in the areas of complex, "Fortran-like multidimensional (efficient) arrays", the importance of optimized arithmetic including extended precision and use of idealized numerical properties such as associativity. As discussed by James Gosling in his presentations at SC97 and "Java Grande 98" (Feb28-Mar 1), limited operator overloading and highly optimizable classes can allow one to implement these valuable numeric features with natural syntax and good performance. Our proposal to JavaSoft will also discuss of changes to RMI (native Java inter-object communication) to allow higher performance. We suggest exposing interfaces to allow RMI to be implemented on lower level faster transport layers and to improve the performance of serialization.

We divided our action items into three categories

  1. Proposals to JavaSoft as discussed above. These were further divided into either essential or desirable.
  2. Community activities to produce infrastructure and standards
  3. Community research which will clarify the value of new activities of type 1) and 2)

Action items of type 2) include standard interfaces and reference implementations for Java libraries of Math functions, matrix algebra, signal processing etc. We also proposed a Java Grande application benchmark suite with kernels and more substantial entries. There was significant discussion of the importance of a "Java Framework for computing" -- a set of interfaces to support seamless computing or the ability to run a given job on any one of many different computers with a single client interface. A typical community research activity is the study of the scaling of the Java Virtual Machine to large applications or understanding the tradeoffs between Java thread and distributed VM forms of parallelism.