Complutense University Library

Máquina virtual de Java Distribuida

Guijarro Crespo, Rafael and Molina García, Pablo and Jarabo de la Llana, Luis (2005) Máquina virtual de Java Distribuida. [Coursework] (Unpublished)

[img]
Preview
PDF
482kB
View download statistics for this eprint

==>>> Export to other formats

Abstract

El incipiente crecimiento de Java ha hecho que crezca su importancia en la implementación de aplicaciones para servidores. Puesto que muchas de estas aplicaciones están caracterizadas por ser multi-hilo y la comunicación entre dichos hilos no es excesiva, una distribución de una máquina virtual Java sobre un cluster, en principio podría ser una herramienta interesante puesto que elevaría el rendimiento sin un excesivo coste.
Una buena manera de hacerlo, sería implementar una máquina virtual distribuida que utilice traducción dinámica de bytecode a otros nodos. Además una buena distribución de los objetos mediante un sistema distribuido especializado aprovecharía mejor la semántica de Java que una versión distribuida con memoria compartida.
Jikes RVM (Jikes Research Virtual Machine) proporciona un campo de pruebas flexible para distintas tecnologías sobre máquinas virtuales y experimentar con una gran cantidad de alternativas de diseño. Adelanta tecnologías de compilación dinámica, optimización adaptativa, recolección de basura, manejo y sincronización de hilos de hilos, en máquinas virtuales. Una característica que distingue a Jikes sobre el resto de máquinas virtuales es que está completamente implementada en Java y es autosuficiente; es decir, su código Java corre bajo sí misma sin la necesidad de una segunda máquina virtual. La mayoría de las máquinas virtuales existentes están escritas en código nativo (típicamente C o C++). Una implementación en Java proporciona facilidad de portabilidad, e integración entre la máquina virtual y recursos de las distintas aplicaciones como puedan ser objetos, hilos y interfaces de sistemas operativos.
DJVM (Distributed Java Virtual Machine) es una máquina virtual Java distribuida que se sitúa sobre JikesRVM para obtener una implementación distribuida basada en nodos conectados mediante TCP/IP. Esta máquina permite la implementación, evaluación y análisis de las distintas técnicas de distribución y soporte de algoritmos para aplicaciones multihilo destinadas a servidores. Así pues el objetivo de este proyecto es la implementación del cluster desarrollado por la Universidad Nacional Australiana sobre el cluster situado en el DACYA de la UCM así como profundo estudio de su estructura, la evaluación de su rendimiento y su manejo de memoria.
[ABSTRACT]
Java is becoming increasingly important in implementing server applications. As many of these applications are multi-threaded with limited interaction between threads, a distributed JVM on a cluster platform may provide a cost-effective and high performance solution.
A promising approach, would be to base the distributed JVM on an existing JVM using dynamic translation of bytecodes into machine codes for high performance. Furthermore, organizing the distribution of objects using a specialized scheme would be better able to take advantage of Java's semantics than a general Distributed Shared Memory implementation. Jikes RVM (Research Virtual Machine) provides a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives.JikesRVM advances the art of virtual machine technologies for dynamic compilation, adaptive optimization, garbage collection, thread scheduling, and synchronization. A distinguishing characteristic of Jikes RVM is that it is implemented in the Java programming language and is self-hosted i.e., its Java code runs on itself without requiring a second virtual machine. Most other virtual machines for the Java platform are written in native code (typically, C or C++). A Java implementation provides ease of portability, and a seamless integration of virtual machine and application resources such as objects, threads, and operating-system interfaces.
DJVM (Distributed Java Virtual Machine) is a distributed Java virtual machine which extend the JikesRVM to have a distributed implementation, over nodes connected by TCP/IP. This machine allow the implementation, evaluation and analysis of distribution techniques and distributed runtime support algorithms for multi-threaded server applications. So the objetive of this project is to implement the distributed virtual machine dJVM developed by the Australian National University over the cluster placed on DACYA (computer arquitecture and automatic department) at UCM, do a deep study of its structure, check the performance and memory management.


Item Type:Coursework
Additional Information:

Trabajo de clase de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2004-2005)

Uncontrolled Keywords:Máquina virtual, Cluster, Java, JikesRVM, dRVM, Recolector de Basura, Benchmark, Aneto, Jalapeño, Servidor
Subjects:Sciences > Computer science > Expert systems (Computer science)
ID Code:8962
Deposited On:10 Jul 2009 07:07
Last Modified:06 Feb 2014 08:17

Repository Staff Only: item control page