Java is a very commonly used computer programming language, although its use amongst the scientific and High Performance Computing (HPC) communities remains relatively low. In this thesis, we investigate the use of Java for scientific applications in HPC environments, taking into account modern Java Virtual Machines (JVMs), the tools and libraries available for Java applications and the current HPC trends. We present our middleware application, MPJ-Cache, that has been designed for the efficient distribution of data within a distributed-memory HPC environment, maintaining high throughput, and avoiding bottlenecks and deadtime. We also present a hierarchical framework for the launching, monitoring and management of Java applications in HPC environments. We describe approaches for profiling, and later tuning, the execution of Java applications and of JVM components --- especially the garbage collector and the JIT compiler. We present our Memory Usage Model (MUM) tool that can be used to simulate the memory pattern of other applications. All this work has been performed within the context of the preparation of the data reduction pipeline for the Gaia space mission, which serves as a case-study of a Java-based large scientific software project running in HPC environments.
Directors: Jordi Portell de Mora i Raúl Siervent Pardell. Tutor: F.Xavier Luri Carrascoso.
Monday, 21 January, 2013
Sala de Graus Eduard Fontseré. Planta 1 Física
William O'Mullane. Jefe de desarrollo de Operaciones de Ciencia para el proyecto Gaia. ESAC. (Presidente) Eduard Masana Fresno. Resarcher. IEEC (Secretari). Guillermo López Taboada. Profesor Contrato Doctora. Universidad de La Coruña (Vocal).