University of Mississippi
Performance Evaluation of Blocking and Non-Blocking Concurrent Queues on GPUs
Abstract
dc:description.abstractThe efficiency of concurrent data structures is crucial to the performance of multi-threaded programs in shared-memory systems. The arbitrary execution of concurrent threads, however, can result in an incorrect behavior of these data structures. Graphics Processing Units (GPUs) have appeared as a powerful platform for high-performance computing. As regular data-parallel computations are straightforward to implement on traditional CPU architectures, it is challenging to implement them in a SIMD environment in the presence of thousands of active threads on GPU architectures. In this thesis, we implement a concurrent queue data structure and evaluate its performance on GPUs to understand how it behaves in a massively-parallel GPU environment. We implement both <em>blocking</em> and <em>non-blocking</em> approaches and compare their performance and behavior using both micro-benchmark and real-world application. We provide a complete evaluation and analysis of our implementations on an AMD Radeon R7 GPU. Our experiment shows that non-blocking approach outperforms blocking approach by up to 15.1 times when sufficient thread-level parallelism is present.
Degree
thesis:*- Name thesis:degree_name
- M.S. in Engineering Science
- Level thesis:degree_level
- Thesis
- Discipline thesis:degree_discipline
- Computer and Information Science
- Year dc:date.available
- 2019
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Pourmeidani, Hossein
- Contributors dc:contributor
-
- Byunghyun Jang
- Conrad Cunningham
- Feng Wang
Subjects
dc:subject × 5Identifiers
dc:identifier.*- Repository record dc:identifier
- https://egrove.olemiss.edu/etd/1588
- OAI identifier oai:identifier
- oai:egrove.olemiss.edu:etd-2587