Parallel Task for parallelizing object-oriented desktop applications - Giacaman, Nasser; Sinnen, Oliver (2010 IEEE International Symposium on Parallel and Distributed Processing, Workshops and Phd Forum, 2010)
As multi-cores arrive for mainstream desktop systems, developers must invest the effort to parallelize their applications. We present Parallel Task (short ParaTask), a solution to assist the parallelization of object-oriented applications, with the unique feature of including support for the parallelization of graphical user interface (GUI) applications. In the simple, but common, cases concurrency is introduced with a single keyword. Due to the wide variety of parallelization needs, ParaTask integrates different task types into the same model, provides intuitive support for dependence handling, non-blocking notification, interim progress notification and exception handling in an asynchronous environment as well as supporting a pluggable task scheduling runtime (currently work-sharing, work-stealing and a combination of the two are supported). The performance is compared to traditional Java parallelization approaches using a variety of different workloads.