Parallel IT · Parallel Task
Parallel Task — About
Parallel Task (ParaTask for short) aims to help programmers develop parallel programs with as little change as possible to the familiar development process of object-oriented applications.
ParaTask is designed for desktop applications, with the unique feature of supporting
graphical user interface (GUI) applications. It consists of a source-to-source compiler
that parses PTJava files (*.ptjava) into multi-threaded Java code, and a supporting
runtime library to manage the tasks.
Because ParaTask can multi-thread GUI applications, programmers can use it to improve the interactivity and responsiveness of their applications — even when the application runs on a single processor. The ParaTask tasking model is much easier to use than Java’s threading model, and it allows applications to scale automatically on multi-core processors.
Features supported by ParaTask include:
- A tasking model — better performance and easier to use than the threading model.
- An object-oriented approach, promoting code reuse, encapsulation, decoupling, and inheritance.
- Integration of different tasking concepts into one model: one-off tasks (compute-intensive), multi-tasks (executed multiple times, with group awareness), and I/O tasks (I/O-bound computations that replace the need for threads).
- Support for multi-threaded GUI applications, adhering to the restrictions imposed by GUI toolkits such as Java Swing.
- An intuitive dependency-handling mechanism.
- Non-blocking notification of task completion and of partial results.
- Exception-handling support.
- Pluggable runtime scheduling: work-stealing (fairness), work-stealing (recursive parallelism), and a mixed mode combining work-stealing and work-sharing.
- An Eclipse plugin (syntax highlighting, code auto-completion, task viewer, error handling, behind-the-scenes source-to-source compiling).
More information can be found in the publications section.
Getting started
Download the compiler and take a look at the Quick Start guide.