English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Conference Paper

Developing a practical parallel multi-pass renderer in Java and C++: Toward a Grande application in Java

MPS-Authors
/persons/resource/persons45769

Yamauchi,  Hitoshi
Computer Graphics, MPI for Informatics, Max Planck Society;

External Resource
No external resources are shared
Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)
There are no public fulltexts stored in PuRe
Supplementary Material (public)
There is no public supplementary material available
Citation

Yamauchi, H., Maeda, A., & Kobayashi, H. (2000). Developing a practical parallel multi-pass renderer in Java and C++: Toward a Grande application in Java. In Proceedings of the ACM 2000 Java Grande Conference (JAVA-00) (pp. 126-133). New York, USA: ACM.


Cite as: https://hdl.handle.net/11858/00-001M-0000-000F-3496-2
Abstract
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.