Neither more nor less: Optimizing thread-level parallelism for GPGPUs

Onur Kayiran, Adwait Jog, Mahmut Kandemir, Chitaranjan Das

Research output: Chapter in Book/Report/Conference proceedingConference contribution

167 Scopus citations

Abstract

General-purpose graphics processing units (GPG-PUs) are at their best in accelerating computation by exploiting abundant thread-level parallelism (TLP) offered by many classes of HPC applications. To facilitate such high TLP, emerging programming models like CUDA and OpenCL allow programmers to create work abstractions in terms of smaller work units, called cooperative thread arrays (CTAs). CTAs are groups of threads and can be executed in any order, thereby providing ample opportunities for TLP. The state-of-the-art GPGPU schedulers allocate maximum possible CTAs per-core (limited by available on-chip resources) to enhance performance by exploiting TLP. However, we demonstrate in this paper that executing the maximum possible number of CTAs on a core is not always the optimal choice from the performance perspective. High number of concurrently executing threads might cause more memory requests to be issued, and create contention in the caches, network and memory, leading to long stalls at the cores. To reduce resource contention, we propose a dynamic CTA scheduling mechanism, called DYNCTA, which modulates the TLP by allocating optimal number of CTAs, based on application characteristics. To minimize resource contention, DYNCTA allocates fewer CTAs for applications suffering from high contention in the memory subsystem, compared to applications demonstrating high throughput. Simulation results on a 30-core GPGPU platform with 31 applications show that the proposed CTA scheduler provides 28% average improvement in performance compared to the existing CTA scheduler.

Original languageEnglish (US)
Title of host publicationPACT 2013 - Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques
Pages157-166
Number of pages10
DOIs
StatePublished - Nov 18 2013
Event22nd International Conference on Parallel Architectures and Compilation Techniques, PACT 2013 - Edinburgh, United Kingdom
Duration: Sep 7 2013Sep 11 2013

Publication series

NameParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
ISSN (Print)1089-795X

Other

Other22nd International Conference on Parallel Architectures and Compilation Techniques, PACT 2013
CountryUnited Kingdom
CityEdinburgh
Period9/7/139/11/13

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Neither more nor less: Optimizing thread-level parallelism for GPGPUs'. Together they form a unique fingerprint.

  • Cite this

    Kayiran, O., Jog, A., Kandemir, M., & Das, C. (2013). Neither more nor less: Optimizing thread-level parallelism for GPGPUs. In PACT 2013 - Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (pp. 157-166). [6618813] (Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT). https://doi.org/10.1109/PACT.2013.6618813