
Enhancing Jikes Research Virtual Machine with Distributed Runtime Capabilities
Document information
Author | Ken H. Lee |
School | ETH Zurich |
Year of publication | 2008 |
Place | Zurich |
Document type | thesis |
Language | English |
Number of pages | 85 |
Format | |
Size | 733.75 KB |
- Distributed Systems
- Java Virtual Machine
- Cluster Computing
Summary
I. Introduction
The document presents a comprehensive exploration of enhancing the Jikes Research Virtual Machine (JikesRVM) with distributed runtime capabilities. The introduction outlines the significance of multi-threading and thread synchronization in Java applications, emphasizing the ease of constructing parallel applications on a single Java Virtual Machine (JVM). The emergence of cluster computing as a cost-effective alternative to multi-core systems is highlighted, setting the stage for the need for a distributed runtime environment. The authors propose a solution that integrates a distributed runtime system into JikesRVM, aiming to facilitate true parallel execution of multi-threaded Java applications across clusters of workstations. This section establishes the foundational context for the research, underscoring the relevance of the study in the evolving landscape of computing.
II. Distributed Runtime System Implementation
The core of the document details the implementation of a distributed runtime system within JikesRVM. A virtual global object space is introduced to abstract the complexities of distribution from developers, enhancing usability. The authors describe mechanisms for object access, thread synchronization, distributed classloading, and scheduling. Each mechanism is evaluated for overhead through microbenchmarks, providing empirical evidence of performance impacts. The prototype developed demonstrates the potential for parallel execution in a distributed environment, showcasing the benefits of embedding a virtual object heap into the JVM. This integration allows the JVM to leverage runtime information for optimizations, significantly improving performance. The section emphasizes the practical applications of the research, particularly in environments requiring high-performance computing.
III. Evaluation and Results
The evaluation section presents a thorough analysis of the prototype's performance, focusing on the effectiveness of the implemented mechanisms. The authors provide quantitative data from microbenchmarks, illustrating the overhead introduced by the new features. The results indicate that the distributed runtime system successfully maintains performance while enabling parallel execution. The significance of these findings lies in their implications for real-world applications, particularly in fields that demand efficient processing of large datasets. The ability to run multi-threaded applications in a distributed manner opens new avenues for research and development in cluster computing. The authors conclude that the enhancements made to JikesRVM not only improve its functionality but also contribute to the broader discourse on distributed systems.
IV. Future Work and Extensions
The document concludes with a discussion on potential future work and extensions of the research. The authors suggest exploring additional optimizations that could further enhance the distributed runtime capabilities of JikesRVM. They highlight the importance of community engagement, particularly with the Jikes Research Virtual Machine community, to foster collaboration and innovation. The potential for integrating emerging technologies, such as cloud computing and machine learning, into the distributed runtime system is also considered. This forward-looking perspective underscores the ongoing relevance of the research and its adaptability to future technological advancements. The section serves as a call to action for researchers and practitioners to build upon the findings, ensuring the continued evolution of distributed computing solutions.
Document reference
- Distributed Java Virtual Machine (Ken H. Lee)
- Jikes Research Virtual Machine (Prof. Thomas R. Gross)
- Hyperion
- JavaSplit
- Java/DSM