Publication | Open Access
Exploiting Core Criticality for Enhanced GPU Performance
53
Citations
94
References
2016
Year
Unknown Venue
EngineeringGpu BenchmarkingComputer ArchitectureCuda ApplicationsMemory RequestsMemory Model (Programming)Gpu ComputingHardware SecurityHigh-performance ArchitectureMemory ThroughputParallel ComputingManycore ProcessorCore CriticalityComputer EngineeringComputer ScienceGpu ArchitectureEdge ComputingCloud ComputingParallel Programming
Modern memory access schedulers employed in GPUs typically optimize for memory throughput. They implicitly assume that all requests from different cores are equally important. However, we show that during the execution of a subset of CUDA applications, different cores can have different amounts of tolerance to latency. In particular, cores with a larger fraction of warps waiting for data to come back from DRAM are less likely to tolerate the latency of an outstanding memory request. Requests from such cores are more critical than requests from others. Based on this observation, this paper introduces a new memory scheduler, called (C)ritica(L)ity (A)ware (M)emory (S)cheduler (CLAMS), which takes into account the latency-tolerance of the cores that generate memory requests. The key idea is to use the fraction of critical requests in the memory request buffer to switch between scheduling policies optimized for criticality and locality. If this fraction is below a threshold, CLAMS prioritizes critical requests to ensure cores that cannot tolerate latency are serviced faster. Otherwise, CLAMS optimizes for locality, anticipating that there are too many critical requests and prioritizing one over another would not significantly benefit performance.
| Year | Citations | |
|---|---|---|
Page 1
Page 1