# HPDCJ

The **HPDCJ** (*Heterogenous parallel and distributed computing with Java*) project has been finaced by [CHIST-ERA](http://www.chistera.eu/). The project started at 1st Ostober 2014 and lasted 4 years. The budget is about 1 mln euro.

Partners:

* ICM University of Warsaw (Watrsaw, Poland)
* IBM Research Lab (Zurich, Switzerland)
* Queen's University of Belfast (Belfast, UK)
* Bilkent Üniversitesi (Ankara, Turkey)

Contact: prof. Piotr Bała (ICM University of Warsaw) e-mail: [bala@icm.edu.pl](mailto:bala@icm.edu.pl?subject=HPDCJ)

The project is funded by CHIST-ERA consortium through: NCN, SNSF, EPSRC, TUBITAK

The project focuses on the ease of use and programmability of Java for distributed heterogeneous computing in order to make it exploitable by the huge user base of mainstream computing. Based on PCJ library we will introduce and transparently expose parallelism in Java, with minimal change to the specifics of the language, thus allowing programmers to focus on the application. We have demonstrated power and scalability of the PCJ library for the parallel systems and we will extend it for the cases where communication cost and latency could be higher.

Project extended the existing solution with the capability of running on the heterogeneous systems including GPU and mobile devices. The user will obtain the possibility to execute computational intensive parts of the application on multiple GPUs. Since our solution is based on Java it can be easily run on mobile devices. Within the project we will extend the library capabilities with the optimized communication and scheduling mechanism necessary to fully use such devices.

Project utilized the potential of the parallel Java library to process distributed data. The existing solution benefits from the parallel I/O performed by the multiple JVMs. We used this solution to optimize the process of data distribution and storage including streaming of the large data sets.

Project addreses dependability and resilience by adding fault tolerance mechanisms to the parallel Java library including fault detection and rescheduling of the application execution. The mechanism will extend capabilities of the existing PCJ library and will be transparent to the users.

Project showed the applicability of our framework for distributed heterogeneous systems by a set of selected, key applications including data-intensive Big Data applications.

### Media coverage

* PCJ is mentioned in the [TechEnablement talk with NVIDIA’s John Ashley](http://www.techenablement.com/openpower-and-cuda-accelerated-java-as-a-path-into-the-enterprise/) (TechEnablement, 14.04.2015)
* [Prof. Piotr Bała was talking about heterogeous paralell computing in the TOK FM radio](http://audycje.tokfm.pl/odcinek/22327) (20.01.2015, in Polish, 40 minutes)
* [Project HPDCJ has been presented in the weekly biulletin of the Polish Ministry of Science and Higher Education](http://www.nauka.gov.pl/archiwum-biuletynu-mnisw/12-grudnia-2014-r.html) (12.12.2014, in Polish)
* [About HPDCJ project](http://innpoland.pl/114227,polak-na-czele-miedzynarodowego-projektu-ktory-zrewolucjonizuje-programowanie) (INN Poland 11.12.2014, in Polish)
* [HPDC project has been announced on the Universoty of Warsaw web page](http://en.uw.edu.pl/how-to-improve-the-programmability-of-java-applications/) (10.12.2014, [in Polish](http://www.uw.edu.pl/rewolucja-w-programowaniu/) and [in English](http://en.uw.edu.pl/how-to-improve-the-programmability-of-java-applications/))
* [Information on the HPDCJ project on the National Centre (Poland) web pages](http://ncn.gov.pl/aktualnosci/2014-12-08-chist-era-wyniki) (8.12.2014, in Polish)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pcj.icm.edu.pl/projects/hpdcj.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
