Modest computers of all kinds including home used PCs and largest supercomputers are composed out of few or more processors. The number of computational units can be as high as thousands and hundreds of thousands. The processors are also complicated and are usually built of couple or dozens of computational units called cores. Processors used in the gaming consoles or novel graphical cards are good example. Writing programs utilizing multicore devices is complicated. The traditional programming methods are not effective and do not allow to utilize novel multicore architectures.

 

Programming such computers is not easy. Programmers have to develop programs utilising large number of cores. This requires parallel programming which is difficult and not trivial. The another challenge is efficient usage of the different types of processors, graphical cards or numerical coprocessors.

 

– We have to remember that there is no other choice. We have already hit the limit in making single processors faster and more efficient. The only way to make computers faster is by increasing number of processors and cores – says prof. Piotr Bała, “Heterogenous Parallel and Distributed Computing in Java” project coordinator. – Multimode and multicore computers require new programming methods and tools. Current tools are limited to relatively small number of cores and only few applications can be run on the computers with large number of cores. Moreover, this applications are developed using traditional programming languages such as FORTAN or C. Recently there have been other solutions proposed but they are still not mature enough. Most of them is based on C or C++ and did not gained high popularity. The same time Java programming language is gaining high popularity especially while processing of large data sets is considered. However still there are no good programming tools and libraries which allow to write scalable Java code which can be run efficiently in hundreds and thousands of cores – explains prof. Bała.

 

The focus of the HPDCJ project is to adapt the Java language for heterogeneous parallel and distributed computing and significantly improving the programmability of Java applications. The project is lead by the ICM University of Warsaw (Poland) with Queens University of Belfast (Belfast, UK), Bilkent Üniversitesi (Ankara, Turkey) and IBM Research Lab (Zurich, Switzerland). Most of the partners have worked in close collaboration in previous (EU) projects with remarkable success. We believe this to become a key pilot project that can open the way for future research, which will have a profound impact on mainstream computing. The project is funded by CHIST-ERA consortium.

 

Java is the everyday work tool of a huge user base. Numerous applications are written in Java, and almost all students in computer science are very early exposed to Java, much earlier than to parallel computing (if ever). We already hold clear evidence that it is possible to enable parallel computing within Java, with minimal change to the specifics of the language, transparently exposing parallelism and thus allowing programmers to focus on the application than on the parallelization. In particular, last couple of years we have been developing PCJ (Parallel Compiting in Java) library which allows for easy development parallel programs using Java programming language. The scientists will focus on demonstrating the deployment possibility in heterogenous and distributed environments.

 

– Our plan is to show the applicability of the framework on a set of carefully selected applications that are deemed key for the future – says prof. Piotr Bała. – We will work with key Big Data applications and kernels that are ubiquitously used by our massive target user base. To achieve this, we develop and adapt our preexisting parallel Java library to parallel heterogenous and distributed platforms. In view of 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 – explains prof. Bała.