Runtime optimizations for a Java DSM implementation

  • Authors:
  • R. Veldema;R. F. H. Hofman;R. A. F. Bhoedjang;H. E. Bal

  • Affiliations:
  • Department of Computer Science, Vrije Universiteit, Amsterdam, The Netherlands;Department of Computer Science, Vrije Universiteit, Amsterdam, The Netherlands;Department of Computer Science, Cornell University, Ithaca, NY;Department of Computer Science, Vrije Universiteit, Amsterdam, The Netherlands

  • Venue:
  • Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Jackal is a fine-grained distributed shared memory implementation of the Java programming language. Jackal implements Java's memory model and allows multithreaded Java programs to run unmodified on distributed-memory systems.This paper focuses on Jackal's runtime system, which implements a multiple-writer, home-based consistency protocol. Protocol actions are triggered by software access checks that Jackal's compiler inserts before object and array references. We describe optimizations for Jackal's runtime system, which mainly consist of discovering opportunities to dispense with flushing of cached data. We give performance results for different runtime optimizations, and compare their impact with the impact of one compiler optimization. We find that our runtime optimizations are necessary for good Jackal performance, but only in conjunction with the Jackal compiler optimizations described in [24]. As a yardstick, we compare the performance of Java applications run on Jackal with the performance of equivalent applications that use a fast implementation of Java's Remote Method Invocation (RMI) instead of shared memory.