thesis

Etude et validation de l'architecture d'une machine java de hautes performances

Defense date:

Jan. 1, 2006

Edit

Institution:

Paris 6

Disciplines:

Authors:

Directors:

Abstract EN:

The Java language is used by many embedded and wireless applications developers. Its execution on the embedded processors runs up against the slowness of its interpretor (JVM). Some manufacturers thus turned to direct execution of the intermediate Java code (Bytecode) by dedicated processors. These processors are based on stack architectures and have some integrated mechanisms to speed up the Bytecode execution. This thesis is about a new architecture called JMQ (Java Machine on Queue) which uses a queue to implement the Java execution stack. This approach allows increasing the Java execution parallelism. The JMQ is compared to a Java stack processor called JMS (Java Machine on Stack) based on the PicoJava-II architecture developed by Sun Microsystems. The JMQ allows speeding the execution of Java program up from 1. 05 to 1. 69 (depending on the programs). The hardware complexity is increased by 13% compared to that of the JMS.

Abstract FR:

Le langage Java est très utilisé par les concepteurs d'applications mobiles et sans fil. Son exécution sur les processeurs embarqués se heurte à la lenteur de son interpréteur (JVM). Un certain nombre de fabricants se sont donc tournés vers l'exécution directe du code intermédiaire Java (Bytecode) par des processeurs spécialisés. Ceux-ci sont basés sur des machines à pile et intègrent certains mécanismes destinés à accélérer l'exécution du Bytecode. Cette thèse présente une nouvelle architecture appelée JMQ (Java Machine on Queue) dont la pile d'exécution Java est remplacée par une file. Cette approche permet d'augmenter le parallélisme de l'exécution de Java. La JMQ est comparée à un modèle de machine à pile appelé JMS (Java Machine on Stack) basé sur le PicoJava-II développé par Sun Microsystems. Par rapport à la machine sur pile, les résultats montrent un facteur d'accélération de l'exécution des applications Java de 1,05 à 1,69 selon les programmes testés. Ceci est obtenu au prix d’une augmentation de la complexité matérielle de l'ordre de 13%.