Abstract
We present Java, a Java-like1 language with parallel message-driven features. The parallel constructs include parallel classes called Chares and parallel arrays of objects called ChareArrays. Communication with a parallel object occurs through asynchronous method invocation. In the message-driven paradigm, when a method of a Chare or ChareArray is invoked, it continues to completion before any other method of the same parallel object can run. In contrast to Java’s runtime compilation, the Java source code is translated to Charm++ source code, which is then compiled and executed on the target machine. The resulting code supports object migration and load-balancing and scales well to large number of processors. Java’s standard libraries are not supported.
Java is a trademark of Sun Microsystems, Inc.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
H. Bal et al. Manta: Fast parallel Java. URL: http://www.cs.vu.nl/manta/.
M. Bhandarkar and L. V. Kalé. A Parallel Framework for Explicit FEM. In M. Valero, V. K. Prasanna, and S. Vajpeyam, editors, Proceedings of the International Conference on High Performance Computing (HiPC 2000), Lecture Notes in Computer Science, volume 1970, pages 385–395. Springer Verlag, December 2000.
M. Bhandarkar, L.V. Kale, E. de Sturler, and J. Hoeflinger. Object-Based Adaptive Load Balancing for MPI Programs. In Proceedings of the International Conference on Computational Science, San Francisco, CA, LNCS 2074, pages 108–117, May 2001.
R.K. Brunner and L.V. Kalé. Handling application-induced load imbalance using parallel objects. Technical Report 99-03, Parallel Programming Laboratory, Department of Computer Science, University of Illinois at Urbana-Champaign, May 1999. Submitted for publication.
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996.
L. Kalé and S. Krishnan. CHARM++: A Portable Concurrent Object Oriented System Based on C++. In A. Paepcke, editor, Proceedings of OOPSLA’93, pages 91–108. ACM Press, September 1993.
L. Kalé, R. Skeel, M. Bhandarkar, R. Brunner, A. Gursoy, N. Krawetz, J. Phillips, A. Shinozaki, K. Varadarajan, and K. Schulten. NAMD2: Greater scalability for parallel molecular dynamics. Journal of Computational Physics, 151:283–312, 1999.
L.V. Kale, M. Bhandarkar, and R. Brunner. Run-time Support for Adaptive Load Balancing. In J. Rolim, editor, Lecture Notes in Computer Science, Proceedings of 4th Workshop on Runtime Systems for Parallel Programming (RTSPP) Cancun-Mexico, volume 1800, pages 1152–1159, March 2000.
L.V. Kale, M. Bhandarkar, N. Jagathesan, S. Krishnan, and J. Yelon. Converse: An Interoperable Framework for Parallel Programming. In Proceedings of the 10th International Parallel Processing Symposium, pages 212–217, April 1996.
L.V. Kalé, M. Bhandarkar, and T. Wilmarth. Design and implementation of parallel java with a global object space. In Proc. Conf. on Parallel and Distributed Processing Technology and Applications, pages 235–244, Las Vegas, Nevada, July 1997.
L.V. Kale and S. Krishnan. Charm++: Parallel Programming with Message-Driven Objects. In G. V. Wilson and P. Lu, editors, Parallel Programming using C++, pages 175–213. MIT Press, 1996.
L.V. Kalé, S. Kumar, and J. DeSouza. A malleable-job system for timeshared parallel machines. In 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGrid 2002), May 2002.
J. Maassen, R. van Nieuwpoort, R. Veldema, H. Bal, T. Kielmann, C. Jacobs, and R. Hofman. Efficient Java RMI for parallel programming. ACM Transactions on Programming Languages and Systems (TOPLAS), 23(6): 747–775, November 2001.
J. Maassen, R. van Nieuwpoort, R. Veldema, H. Bal, and A. Plaat. An efficient implementation of Java’s remote method invocation. In Proc. Seventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’99), pages 173–182, Atlanta, GA, May 1999.
M.W. Macbeth, K.A. McGuigan, and P.J. Hatcher. Executing Java threads in parallel in a distributed-memory environment. In Proc. CASCON 98, pages 40–54, Missisauga, ON, Canada, 1998.
J. Mitchell, T. Parr, et al. Java grammar for ANTLR. URL: http://www.antlr.org/grammars/java.
C. Nester, M. Philippsen, and B. Haumacher. A more efficient RMI for Java. In Proc. ACM 1999 Java Grande Conference, San Francisco, CA, June 1999.
T. Parr et al. Website for the ANTLR translator generator. URL: http://www.antlr.org/.
M. Philippsen and B. Haumacher. More efficient object serialization. In Parallel and Distributed Processing, LNCS, International Workshop on Java for Parallel and Distributed Computing, volume 1586, pages 718–732, San Juan, Puerto Rico, April 1999.
M. Philippsen and M. Zenger. JavaParty-transparent remote objects in Java. Concurrency: Practice and Experience, 9(11):1125–1242, November 1997.
J. Phillips, G. Zheng, and L.V. Kalé. Namd: Biomolecular simulation on thousands of processors. In Workshop: Scaling to New Heights, Pittsburgh, PA, May 2002.
J.C. Phillips, G. Zheng, S. Kumar, and L.V. Kalé. Namd: Biomolecular simulation on thousands of processors. In Proceedings of SC 2002, Baltimore, MD, September 2002.
K.A. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P.N. Hilfinger, S.L. Graham, D. Gay, P. Colella, and A. Aiken. Titanium: A high-performance java dialect. Concurrency: Practice and Experience, 10(11-13), September-November 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
DeSouza, J., Kalé, L.V. (2003). Jade: A Parallel Message-Driven Java. In: Sloot, P.M.A., Abramson, D., Bogdanov, A.V., Gorbachev, Y.E., Dongarra, J.J., Zomaya, A.Y. (eds) Computational Science — ICCS 2003. ICCS 2003. Lecture Notes in Computer Science, vol 2659. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44863-2_74
Download citation
DOI: https://doi.org/10.1007/3-540-44863-2_74
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40196-4
Online ISBN: 978-3-540-44863-1
eBook Packages: Springer Book Archive