Ce projet de recherche doctorale est publié a été réalisé par gilles MULLER

Description d'un projet de recherche doctoral

Java Virtual Machine Optimizations for Constraint Solvers

Mots clés :

Résumé du projet de recherche (Langue 1)

Optimally placing applications on devices in a pervasive computing environment is a challenge, since many applications with differing requirements share a common infrastructure. Therefore, optimal application placement requires resolving a number of conflicting constraints about resource usage and availability. The context of this PhD is to implement constraint solving within a pervasive computing infrastructure as close as possible to the information about resources. Since modern pervasive middlewares are typically implemented using Java, this implies the implementation of an efficient constraint solver on top of the JVM. However, constraint solvers have specific characteristics that are not appropriately supported by current JVMs, leading to poor performance. Solving constraints requires searching through a state space, which is typically implemented using a backtracking algorithm that induces frequent saving and restoring of memory. This induces a significant usage of memory that stresses the GC. Additionally, copying objects in Java can only be implemented at the field level, which prevents the use of well known low-level optimizations.

Résumé du projet de recherche (Langue 2)

The topic of the PhD is first to develop monitoring techniques for understanding the precise sources of inefficiency of a constraint solver on top of a JVM. This information will then be used to improve the constraint solver either at the application level, or by proposing new extensions at the JVM level. The context of this PhD is the Infra-JVM research project founded by the ANR (French NSF). Developments will be based on the Choco constraint solver [2], which is a reference implementation of the JSR 331 that defines a Java runtime API for constraint programming, and VMkit [1], a research substrate for the implementation of managed runtime environments.

Informations complémentaires (Langue 2)

Various Information:
Location: Paris downtown (Jussieu).

The candidate should have a strong background in Managed Runtime Environments, Programming Languages or Operating Systems. The candidate should submit a complete vitae and the name of two persons that may recommend him or her. Applications will be reviewed as soon as they are received.

[1] N. Geoffray, G. Thomas, J. Lawall, G. Muller, and B. Folliot. VMKit: a Substrate for Managed Runtime Environments. In Proceedings of VEE 2010, pages 51-62, Pittsburgh, USA, Mar. 2010. ACM.
[2] CHOCO Team. Choco: an Open Source Java Constraint Programming Library. Research report 10-02-INFO. Ecole des Mines de Nantes. 2010.