Abstract
Our work combines Java compilation to native code with a run-time library that executes Java threads in a distributed-memory environment. This allows a Java programmer to view a cluster of processors as executing a single Java virtual machine. The separate processors are simply resources for executing Java threads with true concurrency and the run-time system provides the illusion of a shared memory on top of the private memories of the processors. The environment we present is available on top of several UNIX systems and can use a large variety of network protocols thanks to the high portability of its run-time system. To evaluate our approach, we compare serial C, serial Java, and multithreaded Java implementations of a branch-and-bound solution to the minimal-cost map-coloring problem. All measurements have been carried out on two platforms using two different network protocols: SISCI/SCI and MPI-BIP/Myrinet.
Chapter PDF
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
Gabriel Antoniu, Luc Bougé, and Raymond Namyst. Generic distributed shared memory: the DSM-PM2 approach. Research Report RR2000-19, LIP, ENS Lyon, Lyon, France, May 2000.
Y. Aridor, M. Factor, and A. Teperman. cJVM: A single system image of a JVM on a cluster. In Proceedings of the International Conference on Parallel Processing, Fukushima, Japan, September 1999.
Luc Bougé, Jean-François Méhaut, and Raymond Namyst. Efficient communications in multithreaded runtime systems. In Parallel and Distributed Processing. Proc. 3rd Workshop on Runtime Systems for Parallel Programming RTSPP’ 99, volume 1586 of Lect. Notes in Comp. Science, pages 468–182, San Juan, Puerto Rico, April 1999. Held in conjunction with IPPS/SPDP 1999., Springer-Verlag.
F. Breg, S. Diwan, J. Villacis, J. Balasubramanian, E. Akman, and D. Gannon. Java RMI performance and object model interoperability: Experiments with Java/HPC++. In Proceedings of the ACM 1998 Workshop on Java for High-Performance Network Computing, pages 91–100, Palo Alto, California, February 1998.
D. Caromel, W. Klauser, and J. Vayssiere. Towards seamless computing and metacomputing in Java. Concurrency: Practice and Experience, 10:1125–1242, 1998.
X. Chen and V. Allan. MultiJav: A distributed shared memory system based on multiple Java virtual machines. In Proceedings of the Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas, Nevada, June 1998.
A. Ferrari. JPVM: Network parallel computing in Java. In Proceedings of the ACM 1998 Workshop on Java for High-Performance Network Computing, pages 245–249, Palo Alto, California, 1998.
V. Getov, S. Flynn-Hummell, and S. Mintchev. High-performance parallel programming in Java: Exploiting native libraries. In Proceedings of the ACM 1998 Workshop on Java for High-Performance Network Computing, pages 45–54, Palo Alto, California, February 1998.
J. Gosling, W. Joy, and G. Steele Jr. The Java Language Specification. Addision-Wesley, Reading, Massachusetts, 1996.
P. Launay and J.-L. Pazat. A framework for parallel programming in Java. In High-Performance Computing and Networking HPCN’ 98, volume 1401 of Lect. Notes in Comp. Science, pages 628–637. Springer-Verlag, 1998.
G. Muller, B. Moura, F. Bellard, and C. Consel. Harissa: A flexible and efficient Java environment mixing bytecode and compiled code. In Third Usenix Conference on Object-Oriented Technologies and Systems, Portland, Oregon, June 1997.
R. Namyst and J.F. Mehaut. PM2: Parallel Multithreaded Machine: A computing environment for distributed architectures. In ParCo’95 Parallel Computing, pages 279–285. Elsevier Science Publishers, September 1995.
M. Philippsen and M. Zenger. JavaParty-transparent remote objects in Java. Concurrency: Practice and Experience, 9(11):1125–1242, November 1997.
T. Proebsting, G. Townsend, P. Bridges, J. Hartman, T. Newsham, and S. Watterson. Toba: Java for applications-a way ahead of time (WAT) compiler. In Third Usenix Conference on Object-Oriented Technologies and Systems, Portland, Oregon, June 1997.
L. Prylli and B. Tourancheau. BIP: A new protocol designed for high performance networking on Myrinet. In Proceedings of First Workshop on Personal Computer Based Networks Of Workstations, volume 1388 of Lect. Notes in Comp. Science. Springer-Verlag., April 1998.
T. von Eicken, D. Culler, S. Goldstein, and K. Schauser. Active messages: A mechanism for integrated communication and computation. In International Symposium on Computer Architectures, pages 256–266, Gold Coast, Australia, May 1992.
W. Yu and A. Cox. Java/DSM: A platform for heterogeneous computing. In Proceedings of the Workshop on Java for High-Performance Scientific and Engineering Computing, Las Vegas, Nevada, June 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Antoniu, G., Bougé, L., Hatcher, P., MacBeth, M., McGuigan, K., Namyst, R. (2000). Compiling Multithreaded Java Bytecode for Distributed Execution. In: Bode, A., Ludwig, T., Karl, W., Wismüller, R. (eds) Euro-Par 2000 Parallel Processing. Euro-Par 2000. Lecture Notes in Computer Science, vol 1900. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44520-X_148
Download citation
DOI: https://doi.org/10.1007/3-540-44520-X_148
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67956-1
Online ISBN: 978-3-540-44520-3
eBook Packages: Springer Book Archive