Parallel IT -- True Object Oriented Parallelisation

This project is dedicated to tools, libraries and language enhancements for the parallelisation of object oriented (OO) applications. Based on three new concepts: Parallel Iterator, Parallel Task and Pyjama, the project is currently divided into three corresponding sub-projects, see below. They provide good parallelisation performance, while adhering to OO concepts, with a unique focus on interactive GUI applications.

Implementations in and for Java are Open Source (GPL).

This is a project of the Parallel and Reconfigurable Computing Group at UoA.

Parallel Task is a technology that elegantly integrates task parallelism into Object Oriented languages, in particular Java. This is done in a Software Engineering approach, using only a few new keywords and a unifying task approach. It consists of a source-to-source compiler and a supporting runtime system to automatically and efficiently schedule and manage tasks and processors.

Pyjama is a Java implementation of OpenMP-like directives and runtime routines. It consists of the Pyjama compiler and the supporting runtime.

PARCutils integrates utilities that can be used by any parallel processing framework including the ones developed by Parallel and Reconfigurable Computing Group: ParallelTask, Pyjama. These utilities can be listed as follows.

Parallel Iterator
Parallel Iterator provides libraries for Object-Oriented parallelization of loops over iterators.
RedLib provides a comprehensive set of ready-to-use reduction classes that cover most of the commonly used reduction operations on both primitive and complex data strucutres. If you use RedLib in the development of a software, or in a research project, please cite the following work:
M. Mehrabi, X. Fan, N. Giacaman, O. Sinnen, "RedLib: Nestable Reductions for Collections in Java", In Proc. of 18th International IEEE Conference on High Performance Computing and Communication (HPCC 2016), Sydney, Australi