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

Hitoshi Yamauchi, Atusi Maeda, Hiroaki Kobayashi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In the area of parallel processing, performance has been the primary goal, and historically, parallel software writers paid less attention to software portability. However, as software is becoming more complicated, costs for developing and maintaining parallel applications are rapidly increasing. Reusable and portable software is certainly needed even in the parallel processing area. Java appeared on the scene under the slogan of "Write once, run anywhere", advertising portability as its largest advantage. Java Grande Forum was established to achieve two goals; portability and highperformance. 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 on developing large and practical applications in Java are strongly desired. As an example of practical distributed parallel applications, we have implemented two versions of a parallel multi-pass rendering system. One version is written in C++ and the other is written in Java. The multi-pass rendering method is a combination of radiosity and ray-tracing methods. These implementations, about 56,000 lines in total, are publicly available at http://www.archi.is.tohoka.ac.jp/research/cg/.These two programs are based-on the identical algorithm and are directly comparable in terms of performance and efficiency in software development. Experimental results on Sun Enterprise with JDK 1.2.1 and gcc 2.7.2 which is used only for compiling message passing library show that compared to the C++ version, the performance of the Java version is about three to five times slower and requires approximately four to seven times more memory space. We also discuss some problems encountered in developing practical parallel distributed applications in Java.

Original languageEnglish
Title of host publicationACM 2000 Java Grande Conference
Pages126-133
Number of pages8
Publication statusPublished - 2000 Dec 1
EventACM 2000 Java Grande Conference - San Francisco, CA, United States
Duration: 2000 Jun 32000 Jun 4

Publication series

NameACM 2000 Java Grande Conference

Other

OtherACM 2000 Java Grande Conference
Country/TerritoryUnited States
CitySan Francisco, CA
Period00/6/300/6/4

ASJC Scopus subject areas

  • Engineering(all)

Fingerprint

Dive into the research topics of 'Developing a practical parallel multi-pass renderer in Java and C++: Toward a grande application in Java'. Together they form a unique fingerprint.

Cite this