Project
Parallel IT — True Object Oriented Parallelisation
Tools, libraries, and language enhancements for parallelising object-oriented applications, with a unique focus on interactive GUI software.
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 divided into three corresponding sub-projects 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).
Parallel Task
Elegantly integrates task parallelism into object-oriented languages, in particular Java, using a few new keywords and a unifying task approach. It consists of a source-to-source compiler and a supporting runtime that automatically and efficiently schedules and manages tasks and processors.
Pyjama
A Java implementation of OpenMP-like directives and runtime routines, comprising the Pyjama compiler and its supporting runtime.
PARCutils
Utilities usable by any parallel processing framework, including Parallel Task and Pyjama — featuring the Parallel Iterator (OO parallelisation of loops over iterators) and RedLib (a comprehensive set of ready-to-use reduction classes for primitive and complex data structures).
If you use RedLib in software development or research, please cite: M. Mehrabi, X. Fan, N. Giacaman, O. Sinnen, “RedLib: Nestable Reductions for Collections in Java,” in Proc. of the 18th International IEEE Conference on High Performance Computing and Communication (HPCC 2016), Sydney, Australia.