Parallel Task for Parallelising Object-Oriented Desktop Applications

被引:0
作者
Nasser Giacaman
Oliver Sinnen
机构
[1] University of Auckland,Department of Electrical and Computer Engineering
来源
International Journal of Parallel Programming | 2013年 / 41卷
关键词
Parallel computing; Task parallelism; Object-oriented programming; Desktop applications; Graphical user interface; Event dispatch thread;
D O I
暂无
中图分类号
学科分类号
摘要
With the arrival of multi-cores for mainstream desktop systems, developers must invest the effort of parallelising their applications in order to benefit from these systems. However, the structure of these interactive desktop applications is noticeably different from the traditional batch-like applications of the engineering and scientific fields. We present Parallel Task (short ParaTask), a solution to assist the parallelisation of object-oriented applications, with the unique feature of including support for the parallelisation of graphical user interface applications. In the simple, but common, cases concurrency is introduced with a single keyword. ParaTask sets itself apart from the many existing object-oriented parallelisation approaches by integrating different task types into the same model and its careful adherence to object-oriented principles. Due to the wide variety of parallelisation needs, ParaTask provides intuitive support for dependence handling, non-blocking notification and exception handling in an asynchronous environment as well as supporting a flexible task scheduling runtime (currently work-sharing, work-stealing and a combination of the two are supported). The performance is excellent compared to traditional Java parallelisation approaches, shown using a variety of different workloads.
引用
收藏
页码:621 / 681
页数:60
相关论文
共 24 条
  • [1] Creeger M(2005)Multicore CPUs for the masses Queue 3 63-64
  • [2] Sutter H(2005)Software and the concurrency revolution Queue 3 54-62
  • [3] Larus J(2005)The price of performance Queue 3 48-53
  • [4] Barroso LA(2000)A survey of concurrent object-oriented languages Concurr. Practice Exp. 12 917-980
  • [5] Philippsen M(1985)Multilisp: a language for concurrent symbolic computation ACM Trans. Program. Lang. Syst. 7 501-538
  • [6] Philippsen M(1975)Exception handling: issues and a proposed notation Commun. ACM 18 683-696
  • [7] Robert J(1999)Scheduling multithreaded computations by work stealing J. ACM 46 720-748
  • [8] Halstead H(1998)The performance of work stealing in multiprogrammed environments (extended abstract) ACM SIGMETRICS Perform. Eval. Rev. 26 266-267
  • [9] Goodenough JB(1977)Gauss and the eight queens problem: a study in miniature of the propagation of historical error Historia Mathematica 4 397-404
  • [10] Blumofe RD(1998)Concurrency and distribution in object-oriented programming ACM Comput. Surv. 30 291-329