A general purpose contention manager for software transactions on the GPU

被引:3
|
作者
Shen, Qi [1 ]
Sharp, Craig [2 ]
Davison, Richard [2 ]
Ushaw, Gary [2 ]
Ranjan, Rajiv [2 ]
Zomaya, Albert Y. [3 ]
Morgan, Graham [2 ]
机构
[1] Beihang Univ, Beijing Adv Innovat Ctr Big Data & Brain Comp, Beijing, Peoples R China
[2] Newcastle Univ, Sch Comp, Newcastle Upon Tyne, Tyne & Wear, England
[3] Univ Sydney, Sch Informat Technol, Sydney, NSW, Australia
基金
国家重点研发计划;
关键词
GPU; Parallel processing; High performance computing;
D O I
10.1016/j.jpdc.2019.12.018
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The Graphics Processing Unit (GPU) is now used extensively for general purpose GPU programming (GPGPU), allowing for greater exploitation of the multi-core model across many application domains. This is particularly true in cloud/edge/fog computing, where multiple GPU enabled servers support many different end user services. This move away from the naturally parallel domain of graphics can incur significant performance issues. Unlike the CPU, code that is hindered from execution due to blocking/waiting on the GPU can affect thousands of threads, rendering the advantages of a GPU irrelevant and reducing a highly parallel environment down to a serial one in the worst case. In this paper we present a solution that minimises blocking/waiting in GPGPU computing using a contention manager that offsets memory conflicts across threads through thread re-ordering. We consider conflicts of memory not only to avoid corruption (standard for transactional memory) but also in the semantic layer of application logic (e.g., enforcing ordering to ensure money drawn from bank account occurs after all deposits). We demonstrate how our approach is successful across a number of industry benchmarks and compare our approach to the only other related solution. We also demonstrate that our approach is scalable in terms of thread numbers (a key requirement on the GPU). We believe this is the first work of its kind demonstrating a generalised conflict and semantic contention manager suitable for the scale of parallel execution found on a GPU. (C) 2020 Elsevier Inc. All rights reserved.
引用
收藏
页码:1 / 17
页数:17
相关论文
共 50 条
  • [1] Gallatin: A General-Purpose GPU Memory Manager
    McCoy, Hunter
    Pandey, Prashant
    PROCEEDINGS OF THE 29TH ACM SIGPLAN ANNUAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, PPOPP 2024, 2024, : 364 - 376
  • [2] General Purpose Atomic Crosschain Transactions
    Robinson, Peter
    Ramesh, Raghavendra
    2021 3RD CONFERENCE ON BLOCKCHAIN RESEARCH & APPLICATIONS FOR INNOVATIVE NETWORKS AND SERVICES (BRAINS), 2021, : 61 - 68
  • [3] General Purpose Atomic Crosschain Transactions
    Robinson, Peter
    Ramesh, Raghavendra
    2021 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN AND CRYPTOCURRENCY (ICBC), 2021,
  • [4] GENERAL PURPOSE SOFTWARE
    SUNDEEN, DH
    DATAMATION, 1968, 14 (01): : 22 - &
  • [5] Profiling General Purpose GPU Applications
    Coutinho, Bruno
    Teodoro, George
    Sachetto, Rafael
    Guedes, Dorgival
    Ferreira, Renato
    PROCEEDINGS OF THE 21ST INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING, 2009, : 11 - 18
  • [6] GPU as a General Purpose Computing Resource
    Huang, Qihang
    Huang, Zhiyi
    Werstein, Paul
    Purvis, Martin
    PDCAT 2008: NINTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS AND TECHNOLOGIES, PROCEEDINGS, 2008, : 151 - +
  • [7] Evaluation of java for general purpose GPU computing
    Docampo, Jorge
    Ramos, Sabela
    Taboada, Guillermo L.
    Exposito, Roberto R.
    Tourino, Juan
    Doallo, Ramon
    Proceedings - 27th International Conference on Advanced Information Networking and Applications Workshops, WAINA 2013, 2013, : 1398 - 1404
  • [8] Computing OpenSURF on OpenCL and General Purpose GPU
    Yan, Wanglong
    Shi, Xiaohua
    Yan, Xin
    Wang, Lina
    INTERNATIONAL JOURNAL OF ADVANCED ROBOTIC SYSTEMS, 2013, 10
  • [9] TASK MANAGER FOR GENERAL-PURPOSE OPERATING SYSTEMS
    Martyshkin, Alexey, I
    TURISMO-ESTUDOS E PRATICAS, 2020,
  • [10] A Context Manager for General-purpose Operating Systems
    Olsen, Diogo
    Maziero, Carlos
    2012 BRAZILIAN SYMPOSIUM ON COMPUTING SYSTEM ENGINEERING (SBESC 2012), 2012, : 157 - 160