Parallel application experience with replicated method invocation
نویسندگان
چکیده
We describe and evaluate a new approach to object replication in Java, aimed at improving the performance of parallel programs. Our programming model allows the programmer to define groups of objects that can be replicated and updated as a whole, using reliable, totallyordered broadcast to send update methods to all machines containing a copy. The model has been implemented in the Manta high-performance Java system. We evaluate system performance both with micro benchmarks and with a set of five parallel applications. For the applications, we also evaluate ease of programming, compared to RMI implementations. We present performance results for a Myrinet-based workstation cluster as well as for a wide-area distributed system consisting of four such clusters. The micro benchmarks show that updating a replicated object on 64 machines only takes about three times the RMI latency in Manta. Applications using Manta’s object replication mechanism perform at least as fast as manually optimized versions based on RMI, while keeping the application code as simple as with naive versions that use shared objects without taking locality into account. Using a replication mechanism in Manta’s runtime system enables several unmodified applications to run efficiently even on the wide-area system.
منابع مشابه
Wide-area parallel programming using the remote method invocation model
Java’s support for parallel and distributed processing makes the language attractive for metacomputing applications, such as parallel applications that run on geographically distributed (wide-area) systems. To obtain actual experience with a Java-centric approach to metacomputing, we have built and used a high-performance wide-area Java system, called Manta. Manta implements the Java Remote Met...
متن کاملReplicated Invocation
In today’s systems, application are composed from various components that may be located on different machines. The components may have to collaborate in order to service a client request. More specifically, a client request to one component may trigger a request to another component. Moreover, to ensure fault-tolerance, components are generally replicated. This poses the problem of a replicate...
متن کاملTransparent Fault Tolerance for Grid Applications
A major challenge facing grid applications is the appropriate handling of failures. In this paper we address the problem of making parallel Java applications based on Remote Method Invocation (RMI) fault tolerant in a way transparent to the programmer. We use globally consistent checkpointing to avoid having to restart long-running computations from scratch after a system crash. The application...
متن کاملLate Adaptation of Method Invocation Semantics Regular Talk
In distributed object systems, one has the possibility to make method invocations on objects located on other host. During such an invocation, data is sent to another host and back. However, the system tries to hide this and simulate a standcard method invocation as close as possible. Some systems [Voyager] try to offer other invocation semantics, e.g. asynchronous method invocation. We try to ...
متن کاملInvocation Support for Replicated Objects
Most object-based distributed systems do not support replicated objects. Replication is crucial because it is the only means to tolerate partial failures in distributed systems. The key issue for replicated objects is an appropriate invocation support. An object O1 must invoke an object O2 always in the same fashion regardless of their own replication policies. This paper investigates the suppo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Concurrency and Computation: Practice and Experience
دوره 13 شماره
صفحات -
تاریخ انتشار 2001