非表示:
キーワード:
-
要旨:
In the area of parallel processing, performance has been the primary
goal, and parallel software writers historically paid less attention to
software portability. However, as software is becoming more complex,
cost for developing and maintaining parallel applications is rapidly
increasing. Reusable and portable software is certainly needed even in
the parallel processing area. Java appeared on the scene, advertising
portability as its largest advantage. Java Grande Forum was established
to achieve two goals; portability and high-performance.
Current Forum discussions seem to concentrate on optimization of Java
programs, elements of numerical libraries, message passing interface for
Java, etc. Few implementations of practical applications are presented
so far. To find out obstacles in writing Grand Challenge applications
in Java, empirical studies of large and practical applications are
strongly desired.
As an example of practical distributed parallel applications, we have
implemented a parallel multi-pass rendering system, which is a
combination of radiosity and ray-tracing methods, in both Java and C++.
These implementations, about 56,000 lines in total, are publicly
available at
\texttt{http://www.archi.is.tohoku.ac.jp/research/cg/}. These two
programs are based on the identical algorithm and are directly
comparable in terms of performance and efficiency. Experimental results
on Sun Enterprise with JDK 1.2.1 and gcc 2.7.2 show that compared to the
C++ version, the performance of the Java version is about three to five
times slower with requiring approximately four to seven times more
memory space. We further discuss some problems encountered in developing
practical parallel distributed applications in Java.