Heterogenous Parallel and Distributed Computing in Java
- Principal Investigator: Prof. Piotr Bała, Interdisciplinary Centre for Mathematical and Computational Modelling, University of Warsaw
- Partners: Dr. Costas Bekas, IBM Research LAB, Switzerland; Prof. Dmitrios Nikolopoulos, Queen’s Univeristy of Belfast, UK; Dr. Buğra Gedik, Bilkent Üniveristesi, Turkey
- Project title: Heterogenous Parallel and Distributed Computing in Java
- Funding scheme: CHIST-ERA Heterogeneous Distributed Computing
On October 1st 2014 the Interdisciplinary Centre for Mathematical and Computational Modelling (ICM, University of Warsaw) commenced the HPCDJ project funded within the CHIST-ERA framework. The aim of the project is a change in developing code on the parallel and distributed heterogeneous computer architecture; in particular, introducing Java as the programming language for such applications.
Modern computers of all kinds, including home-use PCs and the largest supercomputers, can be composed of many processors. Each processor can be made up of dozens of computational units (cores). Each computer, therefore, can possibly contain cores numbering in the hundreds of thousands. Writing programmes utilising such multicore devices is complicated. The traditional programming methods are not effective and do not utilise new and innovative multicore architecture.
We have already hit the limit in making single processors faster and more efficient. The only way to make computers faster is by increasing the number of processors and cores. Java programming language is gaining high popularity especially where processing of large data sets is considered. However, there are still no good programming tools and libraries which allow programmers to write scalable Java code that can run efficiently on the hundreds and thousands of cores.
The focus of the HPDCJ (Heterogenous Parallel and Distributed Computing in Java) project is to adapt the Java language for heterogeneous parallel and distributed computing and significantly improve the programmability of Java applications. Our plan is to show the applicability of the framework on a set of carefully selected applications that are deemed key for the future. We will work with these key Big Data applications and kernels that are ubiquitously used by our massive target user base. To achieve this, we will develop and adapt our pre-existing parallel Java library to parallel heterogeneous and distributed platforms. In relation to candidate exascale platforms, we will investigate solutions for parallel Java on systems that use accelerators. Thus, our potential success will create a solution for Java that will be attractive to millions of users.
The HPDCJ project will develop Java library tools and programming models for scalable parallel computing. Novel algorithms developed will address, amongst others, communication and synchronization in heterogeneous multicore systems. The PCJ library will be optimized to handle data placement and transfer of large data volumes.
The project will strengthen European industry and research in the supply, operation and use of HPC systems. In particular, we have identified a vacuum within the industry which represents an opportunity for Europe to achieve leadership in parallel and distributed computing, by developing solutions for mainstream computing. In addition, we will target world industry-wide best practice by publishing high quality scientific papers in important journals and by presenting our work at key scientific conferences and related events.
Prof. Piotr Bała
Piotr Bała is a professor at the Interdisciplinary Centre for Mathematical and Computational Modelling, University of Warsaw. His main research interest focuses on parallel and distributed computing but also includes molecular and quantum dynamics, quantum-classical molecular dynamics. The PCJ library for parallel computing in Java created by professor Bała's team received the HPC Challenge Best Productivity Award at the Supercomputing Conference in 2014.
Date of publication: 10th Oct, 2016