Exploiting Inter-Warp Heterogeneity for Enhanced GPGPU Performance

Exploiting Inter-Warp Heterogeneity for Enhanced GPGPU Performance
Slide Note
Embed
Share

This research delves into leveraging inter-warp heterogeneity to optimize GPGPU performance by addressing memory divergence and reducing cache misses. The study proposes a Memory Divergence Correction solution leading to significant performance and energy efficiency improvements compared to existing methods.

  • GPGPU Performance
  • Memory Divergence
  • Cache Misses
  • Inter-Warp Heterogeneity
  • Energy Efficiency

Uploaded on Feb 17, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Exploiting Inter-Warp Heterogeneity to Improve GPGPU Performance Rachata Ausavarungnirun Saugata Ghose, Onur Kayiran, Gabriel H. Loh Chita Das, Mahmut Kandemir, Onur Mutlu

  2. Overview of This Talk Problem: A single long latency thread can stall an entire warp Observation: Heterogeneity: some warps have more long latency threads Cache bank queuing worsens GPU stalling significantly Our Solution: Memory Divergence Correction Differentiate each warp based on this heterogeneity Prioritizes warps with fewer of long latency threads Key Results: 21.8% Better performance and 20.1% better energy efficiency compared to state-of-the-art 2

  3. Outline Background on Inter-warp Heterogeneity Our Goal Solution: Memory Divergence Correction Results 3

  4. Latency Hiding in GPGPU Execution GPU Core Status Time Warp A Warp B Active Warp C Warp D Stall Active GPU Core 4

  5. Different Sources of Stalls Cache misses 5

  6. Heterogeneity: Cache Misses Warp A Warp B Warp C Stall Time Cache Hit Reduced Stall Time Time Main Memory Cache Miss Cache Hit 6

  7. Different Sources of Stalls Cache misses Shared cache queuing latency 7

  8. Queuing at L2 Banks Request Buffers Bank 0 Bank 1 45% of requests stall 20+ cycles at the L2 queue Queuing latency gets worse as parallelism increases Bank 2 To Memory Scheduler DRAM Bank n Shared L2 Cache 8

  9. Outline Background on Inter-warp Heterogeneity Our Goal Solution: Memory Divergence Correction Results 9

  10. Our Goals Improve performance of GPGPU applicaion Take advantage of warp heterogeneity Lower L2 queuing latency Eliminate misses from mostly-hit warp Simple design 10

  11. Outline Background on Inter-warp Heterogeneity Our Goal Solution: Memory Divergence Correction Warp-type Identification Warp-type Aware Cache Bypassing Warp-type Aware Cache Insertion Warp-type Aware Memory Scheduling Results 11

  12. Mechanism to Identify Warp-type Key Observations Warp retains its ratio of hit ratio Hit ratio number of hits / number of access High intra-warp locality high hit ratio Warps with random access pattern low hit ratio Cache thrashing additional reduction in hit ratio 12

  13. Mechanism to Identify Warp-type Key Observations Warp retains its ratio of hit ratio Warp 1 Warp 2 Warp 3 Warp 4 Warp 5 Warp 6 1.0 0.9 Mostly-hit 0.8 0.7 Hit Ratio 0.6 0.5 Balanced 0.4 0.3 0.2 0.1 Mostly-miss 0.0 Cycles 13

  14. Mechanism to Identify Warp-type Key Observations Warp retains its ratio of hit ratio Mechanism Profile hit ratio for each warp Assign warp-type based on profiling information Warp-type get reset periodically 14

  15. Warp-types in MeDiC Request Buffers Bank 0 Balanced Memory Request All-hit Mostly-hit Mostly-miss All-miss Bank 1 Low Priority Bypassing Logic N Warp Type ID Bank 2 High Priority To Y DRAM Higher Priority Lower Priority Bank n Any Requests in High Priority Shared L2 Cache Memory Scheduler 15

  16. MeDiC Warp-type aware cache bypassing Warp-type aware cache insertion policy Warp-type aware memory scheduling Request Buffers Bank 0 Memory Request Bank 1 Low Priority Bypassing Logic N Warp Type ID Bank 2 High Priority To Y DRAM Bank n Any Requests in High Priority Shared L2 Cache Memory Scheduler 16

  17. MeDiC Warp-type aware cache bypassing Mostly-miss, All-miss Request Buffers Bank 0 Memory Request Bank 1 Low Priority Bypassing Logic N Warp Type ID Bank 2 High Priority To Y DRAM Bank n Any Requests in High Priority Shared L2 Cache Warp-type Aware Memory Scheduler Warp-type aware cache Insertion Policy 17

  18. Warp-type Aware Cache Bypassing Goal: Only try to cache accesses that benefit from lower latency to access the cache Our Solution: All-miss and mostly-miss warps Bypass L2 Other warp-types Allow cache access Key Benefits: All-hit and mostly-hit are likely to stall less Mostly-miss and all-miss accesses likely to miss Reduce queuing latency for the shared cache 18

  19. MeDiC Warp-type aware cache bypassing Mostly-miss, All-miss Request Buffers Bank 0 Memory Request Bank 1 Low Priority Bypassing Logic N Warp Type ID Bank 2 High Priority To Y DRAM Bank n Any Requests in High Priority Shared L2 Cache Warp-type Aware Memory Scheduler Warp-type aware cache Insertion Policy 19

  20. Warps Can Fetch Data for Others All-miss and mostly-miss warps sometimes prefetch cache blocks for other warps Blocks with high reuse Shared address with all-hit and mostly-hit warps Solution: Warp-type aware cache insertion 20

  21. Warp-type Aware Cache Insertion Goal: Ensure cache blocks from all-miss and mostly-miss warps are more likely to be evicted Our Solution: All-miss and mostly-miss Insert at LRU All-hit, mostly-hit and balanced Insert at MRU Benefits: All-hit and mostly-hit are less likely to be evicted Heavily reused cache blocks from mostly-miss are likely to remain in the cache 21

  22. MeDiC Warp-type aware cache bypassing Mostly-miss, All-miss Request Buffers Bank 0 Memory Request Bank 1 Low Priority Bypassing Logic N Warp Type ID Bank 2 High Priority To Y DRAM Bank n Any Requests in High Priority Shared L2 Cache Warp-type Aware Memory Scheduler Warp-type aware cache Insertion Policy 22

  23. Not All Blocks Can Be Cached Despite the best effort, accesses from mostly-hit warps can still miss in the cache Compulsory misses Cache thrashing Solution: Warp-type aware memory scheduler 23

  24. Warp-type Aware Memory Sched. Goal: Prioritize mostly-hit over mostly-miss Mechanism: Two memory request queues High-priority all-hit and mostly-hit Low-priority balanced, mostly-miss and all-miss Benefits: Memory requests from mostly-hit are serviced first Still maintain high row buffer hit rate only a few mostly-hit requests 24

  25. MeDiC: Putting Everything Together Warp-type aware cache bypassing Mostly-miss, All-miss Request Buffers Bank 0 Memory Request Bank 1 Low Priority Bypassing Logic N Warp Type ID Bank 2 High Priority To Y DRAM Bank n Any Requests in High Priority Shared L2 Cache Warp-type Aware Memory Scheduler Warp-type aware cache Insertion Policy 25

  26. MeDiC: Example Warp A Warp A Queuing Latency High Priority Lower stall time Cache/Mem Latency Cache Miss Warp B Warp B Cache Hit Bypass Cache Lower queuing latency MRU Insertion 26

  27. Outline Background on Inter-warp Heterogeneity Our Goal Solution: Memory Divergence Correction Results 27

  28. Methodology Modified GPGPU-sim modeling GTX480 Model L2 queue and L2 queuing latency Comparison points: FR-FCFS [Rixner+, ISCA 00] Commonly used in GPGPU-scheduling Prioritizes row-hit requests Better throughput EAF [Seshadri+, PACT 12] Tracks blocks that is recently evicted to detect high reuse PCAL [Li+, HPCA 15] Uses tokens to limit number of warps that gets to access the L2 cache Lower cache thrashing Warps with highly reuse access gets more priority 28

  29. Results: Performance of MeDiC FR-FCFS EAF PCAL MeDiC 2.5 Speedup Over Baseline 2.0 MeDiC is effective in identifying warp-type and taking advantage of latency heterogeneity 21.8% 1.5 1.0 0.5 NN CONS SCP BP HS SC IIX PVC PVR SS BFS BH DMR MST SSSP Average 29

  30. Results: Energy Efficiency of MeDiC FR-FCFS EAF PCAL MeDiC 4.0 Norm. Energy Efficiency 3.5 3.0 2.5 Performance improvement outweighs the additional energy from extra cache misses 2.0 20.1% 1.5 1.0 0.5 30

  31. Other Results in the Paper Comparison against PC-based and random cache bypassing policy MeDiC provides better performance Breakdowns of WMS, WByp and WIP Each component is effective Explicitly taking reuse into account MeDiC is effective in caching highly reuse blocks Sensitivity analysis of each individual components Minimal impact on L2 miss rate Minimal impact on row buffer locality 31

  32. Conclusion Problem: A single long latency thread can stall an entire warp Observation: Heterogeneity: some warps have more long latency threads Cache bank queuing worsens GPU stalling significantly Our Solution: Memory Divergence Correction Differentiate each warp based on this heterogeneity Prioritizes warps with fewer of long latency threads Key Results: 21.8% Better performance and 20.1% better energy efficiency compared to state-of-the-art 32

  33. Exploiting Inter-Warp Heterogeneity to Improve GPGPU Performance Rachata Ausavarungnirun, Saugata Ghose, Onur Kayiran, Gabriel H. Loh, Chita Das, Mahmut Kandemir, Onur Mutlu

Related


More Related Content