Transparent Distributed Threads for Java

نویسندگان

  • Bernhard Haumacher
  • Thomas Moschny
  • Jürgen Reuter
  • Walter F. Tichy
چکیده

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 [16], 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 [17] to get transparent distributed threads. We finally evaluate our approach with benchmarks that show costs and benefits of our overall design.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Transparent Distributed Java

We describe our modi cations to the Ka e Java runtime to support transparent distribution of Java threads and objects across multiple processors and machines. We also discuss the design of a shared object system used by the Java runtime to provide transparent object sharing to Java applications. Although we also implemented a version for symmetric multiprocessors (SMPs), this paper focuses on a...

متن کامل

Lightweight Transparent Java Thread Migration for Distributed JVM

A distributed JVM on a cluster can provide a highperformance platform for running multi-threaded Java applications transparently. Efficient scheduling of Java threads among cluster nodes in a distributed JVM is desired for maintaining a balanced system workload so that the application can achieve maximum speedup. We present a transparent thread migration system that is able to support high-perf...

متن کامل

A New Transparent Java Thread Migration System Using Just-in-time Recompilation

Thread migration is to support the movement of threads across machine boundaries in a distributed computing environment. It can improve load balancing and the execution efficiency of multithreaded programs. In this paper, we introduce a new approach that employs the technique of Just-in-Time (JIT) recompilation to support transparent thread migration. With JIT recompilation, the native thread e...

متن کامل

Safe-Threads: A New Model for Object-Oriented Multi-Threaded Languages

Threads have been present in programming languages for some time now. However, they have a bad image among software developers because they lead to unreliable applications. Most of the problems are produced by unexpected critical sections, which are very difficult to find. Little research has been done recently to increase the safety of thread programming. In this paper we present a new model o...

متن کامل

CEJVM: "Cluster Enabled Java Virtual Machine"

CEJVM is a cluster enabled Java Virtual Machine, which executes in a distributed fashion among collaborating nodes of a dedicated cluster. It extends Java‘s multithreading mechanism to parallel computing paradigm by transparent migration of independent application threads modeled in master worker paradigm. The goal is to obtain improved performance for computationally-intensive multi-threaded J...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003