[Abstract] There is an increasing interest to adopt Java as the parallel programming language for the multi-core
era. Although Java offers important advantages, such as built-in multithreading and networking support,
productivity and portability, the lack of efficient communication middleware is an important drawback
for its uptake in High Performance Computing (HPC). This PhD Thesis presents the design, implementation
and evaluation of several solutions to improve this situation: (1) a high performance Java sockets
implementation (JFS, Java Fast Sockets) on high-speed networks (e.g., Myrinet, InfiniBand) and shared
memory (e.g., multi-core) machines; (2) a low-level messaging device, iodev, which efficiently overlaps
communication and computation; and (3) a more scalable Java message-passing library, Fast MPJ (F-MPJ).
Furthermore, new Java parallel benchmarks have been implemented and used for the performance evaluation
of the developed middleware. The final and main conclusion is that the use of Java for HPC is feasible
and even advisable when looking for productive development, provided that efficient communication
middleware is made available, such as the projects presented in this Thesis.[Resumen] La tesis doctoral "Design of Efficient Java Communications for High Performance Computing"
parte de la hipótesis inicial de que es posible desarrollar aplicaciones Java en computación
de altas prestaciones, un ámbito en el que el rendimiento es crucial, siempre que esté
disponible un middleware de comunicación eficiente. Así, se han diseñado, desarrollado y
evaluado diferentes bibliotecas de comunicación en Java, desde el nivel de sockets al de
paso de mensajes, obteniendo notables incrementos de eficiencia, confirmando que la hipótesis
inicial es factible