This paper presents our studies on the connectivity between objects and traversal behavior over the access paths among objects in order to devise profitable prefetching policies for object-based distributed systems. W...
详细信息
ISBN:
(纸本)9781424454037
This paper presents our studies on the connectivity between objects and traversal behavior over the access paths among objects in order to devise profitable prefetching policies for object-based distributed systems. We propose a profiling strategy that can classify classes and fields into a handful of generic types exhibiting distinctive and exploitable access patterns during the runtime. Based on the classifications, we propose an improved algorithm of object prefetching to select best candidates to prefetch under practical message size limits. We implement the methodology into our JESSICA2 distributed java virtual machine and evaluate its effectiveness. Our experimental results show that our prefetching policies are able to eliminate over 93% cache coherence protocol messages and halve the execution time for fine-grained applications.
The popularity of java and recent advances in compilation and execution technology for java are making the language one of the preferred ones in the field of high-performance scientific and engineering computing. A di...
详细信息
The popularity of java and recent advances in compilation and execution technology for java are making the language one of the preferred ones in the field of high-performance scientific and engineering computing. A distributed java virtual machine supports transparent parallel execution of multi-threaded java programs on a cluster of computers. It provides an alternative platform for high-performance scientific computations. In this paper, we present the design of a global object space for a distributed JVM. It virtualizes a single java object heap across machine boundaries to facilitate transparent object accesses. We leverage runtime object connectivity information to detect distributed shared objects (DSOs) that are reachable from threads at different nodes to facilitate efficient memory management in the distributed JVM. Based on the concept of DSO, we propose a framework to characterize object access patterns, along three orthogonal dimensions. With this framework, we are able to effectively calibrate the runtime memory access patterns and dynamically apply optimized cache coherence protocols to minimize consistency maintenance overhead. The optimization devices include an object home migration method that optimizes the single-writer access pattern, synchronized method migration that allows the execution of a synchronized method to take place remotely at the home node of its locked object, and connectivity-based object pushing that uses object connectivity information to optimize the producer-consumer access pattern. Several benchmark applications in scientific computing have been tested on our distributed JVM. We report the performance results and give an in-depth analysis of the effects of the proposed adaptive solutions. (C) 2003 Elsevier B.V. All rights reserved.
暂无评论