Detailed Information

Cited 0 time in webofscience Cited 19 time in scopus
Metadata Downloads

APRES: Improving Cache Efficiency by Exploiting Load Characteristics on GPUs

Authors
OhY.KimK.YoonM.K.ParkJ.H.Park, YongjunY.RoW.W.AnnavaramM.
Issue Date
2016
Publisher
IEEE
Keywords
GPGPU; Warp Scheduling; Data Prefetching
Citation
Proceedings - 2016 43rd International Symposium on Computer Architecture, ISCA 2016, pp.191 - 203
Journal Title
Proceedings - 2016 43rd International Symposium on Computer Architecture, ISCA 2016
Start Page
191
End Page
203
URI
https://scholarworks.bwise.kr/hongik/handle/2020.sw.hongik/13524
DOI
10.1109/ISCA.2016.26
ISSN
1063-6897
Abstract
Long memory latency and limited throughput become performance bottlenecks of GPGPU applications. The latency takes hundreds of cycles which is difficult to be hidden by simply interleaving tens of warp execution. While cache hierarchy helps to reduce memory system pressure, massive Thread-Level Parallelism (TLP) often causes excessive cache contention. This paper proposes Adaptive PREfetching and Scheduling (APRES) to improve GPU cache efficiency. APRES relies on the following observations. First, certain static load instructions tend to generate memory addresses having very high locality. Second, although loads have no locality, the access addresses still can show highly strided access pattern. Third, the locality behavior tends to be consistent regardless of warp ID. APRES schedules warps so that as many cache hits generated as possible before any cache misses generated. This is to minimize cache thrashing when many warps are contending for a cache line. However, to realize this operation, it is required to predict which warp will hit the cache in the near future. Without directly predicting future cache hit/miss for each warp, APRES creates a group of warps that will execute the same load instruction in the near future. Based on the third observation, we expect the locality behavior is consistent over all warps in the group. If the first executed warp in the group hits the cache, then the load is considered as a high locality type, and APRES prioritizes all warps in the group. Group prioritization leads to consecutive cache hits, because the grouped warps are likely to access the same cache line. If the first warp missed the cache, then the load is considered as a strided type, and APRES generates prefetch requests for the other warps in the group. After that, APRES prioritizes prefetch targeted warps so that the demand requests are merged to Miss Status Holding Register (MSHR) or prefetched lines can be accessed. On memory-intensive applications, APRES achieves 31.7% performance improvement compared to the baseline GPU and 7.2% additional speedup compared to the best combination of existing warp scheduling and prefetching methods.
Files in This Item
There are no files associated with this item.
Appears in
Collections
College of Engineering > School of Electronic & Electrical Engineering > 1. Journal Articles

qrcode

Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.

Altmetrics

Total Views & Downloads

BROWSE