XJava']Java: Exploiting Parallelism with Object-Oriented Stream Programming

被引:0
|
作者
Otto, Frank [1 ]
Pankratius, Victor [1 ]
Tichy, Walter F. [1 ]
机构
[1] Univ Karlsruhe, D-76131 Karlsruhe, Germany
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper presents the XJava compiler for parallel programs. It exploits parallelism based on an object-oriented stream programming paradigm. XJava extends Java with new parallel constructs that; do not; expose programmers to low-level details of parallel programming on shared memory machines. Tasks define composable parallel activities; and new operators allow an easier expression of parallel patterns, such as pipelines, divide and conquer; or master/worker. We also present an automatic run-time mechanism that extends our previous work to automatically reap tasks and parallel statements to threads. We conducted several case studies with an open source desktop search application and a suite of benchmark programs. The results show that XJava reduces the opportunities to introduce synchronization errors. Compared to threaded Java, the amount of code could be reduced by up to 39%. The run-tune mechanism helped reduce effort for performance tuning and achieved speedups up to 31.5 on all eight core machine.
引用
收藏
页码:875 / 886
页数:12
相关论文
共 50 条
  • [1] Object-oriented programming and parallelism: Introduction
    Radenski, AA
    [J]. INFORMATION SCIENCES, 1996, 93 (1-2) : 1 - 7
  • [2] Object-oriented database programming in Java']Java
    Ege, RK
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS - TOOLS 34, PROCEEDINGS, 2000, : 441 - 441
  • [3] Introduction to concurrent object-oriented programming in Java']Java
    Holmes, D
    Lea, D
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES - TOOLS 33, PROCEEDINGS, 2000, : 457 - 457
  • [4] Logic Java']Java: Combining Object-Oriented and Logic Programming
    Majchrzak, Tim A.
    Kuchen, Herbert
    [J]. FUNCTIONAL AND CONSTRAINT LOGIC PROGRAMMING, 2011, 6816 : 122 - 137
  • [5] Object-oriented Programming Laws for Annotated Java']Java Programs
    Freitas, Gabriel Falconieri
    Cornelio, Marcio
    Massoni, Tiago
    Gheyi, Rohit
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2010, (21): : 65 - 76
  • [6] Logic Java: Combining object-oriented and logic programming
    Department of Information Systems, University of Münster, Münster, Germany
    [J]. Lect. Notes Comput. Sci., (122-137):
  • [7] Counterfeit Object-Oriented Programming Vulnerabilities: An Empirical Study in Java']Java
    Santos, Joanna C. S.
    Zhang, Xueling
    Mirakhorli, Mehdi
    [J]. PROCEEDINGS OF THE 1ST INTERNATIONAL WORKSHOP ON MINING SOFTWARE REPOSITORIES APPLICATIONS FOR PRIVACY AND SECURITY, MSR4P&S 2022, 2022, : 21 - 28
  • [8] Constraint-Logic Object-Oriented Programming on the Java']Java Virtual Machine
    Winkelmann, Hendrik
    Kuchen, Herbert
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1258 - 1267
  • [9] Towards Automated Testing and Feedback of Object-Oriented Programming Tasks in Java']Java
    Muncey, Andrew
    [J]. PROCEEDINGS OF THE 2023 CONFERENCE ON UNITED KINGDOM & IRELAND COMPUTING EDUCATION RESEARCH, UKICER 2023, 2023,
  • [10] Counterfeit object-oriented programming vulnerabilities: An empirical study in Java
    Santos, Joanna C. S.
    Zhang, Xueling
    Mirakhorli, Mehdi
    [J]. MSR4P and S 2022 - Proceedings of the 1st International Workshop on Mining Software Repositories Applications for Privacy and Security, co-located with ESEC/FSE 2022, 2022, : 21 - 28