Back to results

University of Mississippi

Reducing Cache Contention On GPUs

Abstract

dc:description.abstract

The usage of Graphics Processing Units (GPUs) as an application accelerator has become increasingly popular because, compared to traditional CPUs, they are more cost-effective, their highly parallel nature complements a CPU, and they are more energy efficient. With the popularity of GPUs, many GPU-based compute-intensive applications (a.k.a., GPGPUs) present significant performance improvement over traditional CPU-based implementations. Caches, which significantly improve CPU performance, are introduced to GPUs to further enhance application performance. However, the effect of caches is not significant for many cases in GPUs and even detrimental for some cases. The massive parallelism of the GPU execution model and the resulting memory accesses cause the GPU memory hierarchy to suffer from significant memory resource contention among threads. One cause of cache contention arises from column-strided memory access patterns that GPU applications commonly generate in many data-intensive applications. When such access patterns are mapped to hardware thread groups, they become memory-divergent instructions whose memory requests are not GPU hardware friendly, resulting in serialized access and performance degradation. Cache contention also arises from cache pollution caused by lines with low reuse. For the cache to be effective, a cached line must be reused before its eviction. Unfortunately, the streaming characteristic of GPGPU workloads and the massively parallel GPU execution model increase the reuse distance, or equivalently reduce reuse frequency of data. In a GPU, the pollution caused by a large reuse distance data is significant. Memory request stall is another contention factor. A stalled Load/Store (LDST) unit does not execute memory requests from any ready warps in the issue stage. This stall prevents the potential hit chances for the ready warps. This dissertation proposes three novel architectural modifications to reduce the contention: 1) contention-aware selective caching detects the memory-divergent instructions caused by the column-strided access patterns, calculates the contending cache sets and locality information and then selectively caches; 2) locality-aware selective caching dynamically calculates the reuse frequency with efficient hardware and caches based on the reuse frequency; and 3) memory request scheduling queues the memory requests from a warp issuing stage, frees the LDST unit stall and schedules items from the queue to the LDST unit by multiple probing of the cache. Through systematic experiments and comprehensive comparisons with existing state-of-the-art techniques, this dissertation demonstrates the effectiveness of our aforementioned techniques and the viability of reducing cache contention through architectural support. Finally, this dissertation suggests other promising opportunities for future research on GPU architecture.

Degree

thesis:*
Name thesis:degree_name
Ph.D. in Engineering Science
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer and Information Science
Year dc:date.available
2016

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Choo, Kyoshin
Contributors dc:contributor
  • Byunghyun Jang
  • Robert J. Doerksen
  • Feng Wang

Subjects

dc:subject × 5

Identifiers

dc:identifier.*
Repository record dc:identifier
https://egrove.olemiss.edu/etd/454
OAI identifier oai:identifier
oai:egrove.olemiss.edu:etd-1453

Chain of custody

source
Harvested from
University of Mississippi
Base URL
egrove.olemiss.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Choo, Kyoshin. Reducing Cache Contention On GPUs. Dissertation thesis, 2016. https://egrove.olemiss.edu/etd/454