Home | english  | Impressum | Sitemap | KIT

Transparent Distributed Threads for Java

Transparent Distributed Threads for Java
Tagung:

Konferenzartikel 

Jahr:

2003 

Autoren:

Bernhard Haumacher
Thomas Moschny
Jürgen Reuter
Walter F. Tichy

Links:PDF

Summary

Remote method invocation in Java RMI allows the flow of control to pass across local Java threads and thereby span multiple virtual machines. However, the resulting distributed threads do not strictly follow the paradigm of their local Java counterparts for at least three reasons: Firstly, the absence of a global thread identity causes problems when reentering monitors. Secondly, blocks synchronized on remote objects do not work properly. Thirdly, the thread interruption mechanism for threads executing a remote call is broken. These problems make multi-threaded distributed programming complicated and error prone. We present a two-level solution: On the library level, we extend KaRMI, a fast replacement for RMI, with global thread identities for eliminating problems with monitor reentry. Problem with synchronization on remote objects are solved with a facility for remote monitor acquisition. Our interrupt forwarding mechanism enables the application to get full control over its distributed threads. On the language level, we integrate these extensions with JavaParty’s transparent remote objects to get transparent distributed threads. We finally evaluate our approach with benchmarks that show costs and benefits of our overall design.

Beteiligte Mitarbeiter (zufällige Reihenfolge)
Titel Vorname Nachname

Projekte
Titel


Bibtex

@inproceedings{,
author={Bernhard Haumacher, Thomas Moschny, J{\"u}rgen Reuter, Walter F. Tichy},
title={Transparent Distributed Threads for Java},
year=2003,
month=Apr,
booktitle={Proceedings of the 5th International Workshop on Java for Parallel and Distributed Computing in conjunction with the International Parallel and Distributed Processing Symposium (IPDPS 2003)},
url={https://ps.ipd.kit.edu/downloads/ka_2003_transparent_distributed_threads_java.pdf},
abstract={Remote method invocation in Java RMI allows the flow of control to pass across local Java threads and thereby span multiple virtual machines. However, the resulting distributed threads do not strictly follow the paradigm of their local Java counterparts for at least three reasons: Firstly, the absence of a global thread identity causes problems when reentering monitors. Secondly, blocks synchronized on remote objects do not work properly. Thirdly, the thread interruption mechanism for threads executing a remote call is broken. These problems make multi-threaded distributed programming complicated and error prone. We present a two-level solution: On the library level, we extend KaRMI, a fast replacement for RMI, with global thread identities for eliminating problems with monitor reentry. Problem with synchronization on remote objects are solved with a facility for remote monitor acquisition. Our interrupt forwarding mechanism enables the application to get full control over its distributed threads. On the language level, we integrate these extensions with JavaParty’s transparent remote objects to get transparent distributed threads. We finally evaluate our approach with benchmarks that show costs and benefits of our overall design.},
number={ISBN-0-7695-1926-1},