Toggle Main Menu Toggle Search

Open Access padlockePrints

A General Purpose Contention Manager for Software Transactions on the GPU

Lookup NU author(s): Dr Craig Sharp, Dr Rich Davison, Dr Gary Ushaw, Professor Raj Ranjan, Professor Graham MorganORCiD



This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND).


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 parralel environemnt 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 parralel execution found on a GPU.

Publication metadata

Author(s): Shen Q, Sharp C, Davison R, Ushaw G, Ranjan R, Zomaya AY, Morgan G

Publication type: Article

Publication status: Published

Journal: Journal of Parallel and Distributed Computing

Year: 2020

Volume: 139

Pages: 1-17

Print publication date: 01/05/2020

Online publication date: 28/01/2020

Acceptance date: 23/12/2019

Date deposited: 29/01/2020

ISSN (print): 0743-7315

ISSN (electronic): 1096-0848

Publisher: Elsevier


DOI: 10.1016/j.jpdc.2019.12.018


Altmetrics provided by Altmetric


Funder referenceFunder name