Parallel Programming in Actor-Based Applications via OpenCL

被引:4
|
作者
Harvey, Paul [1 ]
Hentschel, Kristian [1 ]
Sventek, Joseph [2 ]
机构
[1] Univ Glasgow, Sch Comp Sci, Glasgow, Lanark, Scotland
[2] Univ Oregon, Dept Comp & Informat Sci, Eugene, OR 97403 USA
来源
PROCEEDINGS OF THE 16TH ANNUAL MIDDLEWARE CONFERENCE | 2015年
基金
英国工程与自然科学研究理事会;
关键词
parallel programming; actors; performance; OpenCL; middleware;
D O I
10.1145/2814576.2814732
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
GPU and multicore hardware architectures are commonly used in many different application areas to accelerate problem solutions relative to single CPU architectures. The typical approach to accessing these hardware architectures requires embedding logic into the programming language used to construct the application; the two primary forms of embedding are: calls to API routines to access the concurrent functionality, or pragmas providing concurrency hints to a language compiler such that particular blocks of code are targeted to the concurrent functionality. The former approach is verbose and semantically bankrupt, while the success of the latter approach is restricted to simple, static uses of the functionality. This paper presents an extension to an existing actor-based programming model and runtime to support executing applications on parallel hardware architectures. Besides the glove-like fit of a kernel to the actor abstraction, quantitative code analysis shows that actor-based kernels are always significantly simpler than API-based coding, and generally simpler than pragma-based coding. The structuring of applications in this manner, enables the runtime to automate the initialisation and interaction with these parallel hardware platforms. Performance measurements show that the overheads of actor-based kernels are commensurate to API based kernels, and range from equivalent to vastly improved for pragma-based annotations, both for sample and real world applications.
引用
收藏
页码:162 / 172
页数:11
相关论文
共 50 条
  • [1] OpenCL Actors - Adding Data Parallelism to Actor-Based Programming with CAF
    Hiesgen, Raphael
    Charousset, Dominik
    Schmidt, Thomas C.
    PROGRAMMING WITH ACTORS: STATE-OF-THE-ART AND RESEARCH PERSPECTIVES, 2018, 10789 : 59 - 93
  • [2] Library Support in an Actor-Based Parallel Programming Platform
    Park, Hae-woo
    Jung, Hanwoong
    Oh, Hyunok
    Ha, Soonhoi
    IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 2011, 7 (02) : 340 - 353
  • [3] A Productive and Scalable Actor-Based Programming System for PGAS Applications
    Paul, Sri Raj
    Hayashi, Akihiro
    Chen, Kun
    Sarkar, Vivek
    COMPUTATIONAL SCIENCE - ICCS 2022, PT I, 2022, : 233 - 247
  • [4] Actor-Based Parallel Dataflow Analysis
    Rodriguez, Jonathan
    Lhotak, Ondrej
    COMPILER CONSTRUCTION, 2011, 6601 : 179 - 197
  • [5] Programming Actor-Based Collective Adaptive Systems
    Casadei, Roberto
    Viroli, Mirko
    PROGRAMMING WITH ACTORS: STATE-OF-THE-ART AND RESEARCH PERSPECTIVES, 2018, 10789 : 94 - 122
  • [6] May-Happen-in-Parallel Analysis for Actor-Based Concurrency
    Albert, Elvira
    Flores-Montoya, Antonio
    Genaim, Samir
    Martin-Martin, Enrique
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2016, 17 (02)
  • [7] An Actor-Based Framework for Edge Computing
    Aske, Austin
    Zhao, Xinghui
    PROCEEDINGS OF THE 10TH INTERNATIONAL CONFERENCE ON UTILITY AND CLOUD COMPUTING (UCC' 17), 2017, : 199 - 200
  • [8] Thespis: Actor-Based Causal Consistency
    Camilleri, Carl
    Vella, Joseph G.
    Nezval, Vitezslav
    2017 28TH INTERNATIONAL WORKSHOP ON DATABASE AND EXPERT SYSTEMS APPLICATIONS (DEXA), 2017, : 42 - 46
  • [9] A case study of OpenCL-based parallel programming for low-power remote sensing applications
    Castro Angulo, A.
    Carrasco Alvarez, R.
    Ortegon Aguilar, J.
    Vazquez Castillo, J.
    Palma Marrufo, O.
    Castillo Atoche, A.
    2015 12TH INTERNATIONAL CONFERENCE ON ELECTRICAL ENGINEERING, COMPUTING SCIENCE AND AUTOMATIC CONTROL (CCE 2015), 2015,
  • [10] Accelerated parallel genetic programming tree evaluation with OpenCL
    Augusto, Douglas A.
    Barbosa, Helio J. C.
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2013, 73 (01) : 86 - 100