A Hierarchical Thread Scheduler and Register File for Energy-Efficient Throughput Processors
Abstract
Modern graphics processing units (GPUs) employ a large number of hardware threads to hide both function unit and memory access latency. Extreme multithreading requires a complex thread scheduler as well as a large register file, which is expensive to access both in terms of energy and latency. We present two complementary techniques for reducing energy on massively-threaded processors such as GPUs. First, we investigate a two-level thread scheduler that maintains a small set of active threads to hide ALU and local memory access latency and a larger set of pending threads to hide main memory latency. Reducing the number of threads that the scheduler must consider each cycle improves the scheduler’s energy efficiency. Second, we propose replacing the monolithic register file found on modern designs with a hierarchical register file. We explore various trade-offs for the hierarchy including the number of levels in the hierarchy and the number of entries at each level. We consider both a hardware-managed caching scheme and a software-managed scheme, where the compiler is responsible for orchestrating all data movement within the register file hierarchy. Combined with a hierarchical register file, our two-level thread scheduler provides a further reduction in energy by only allocating entries in the upper levels of the register file hierarchy for active threads. Averaging across a variety of real world graphics and compute workloads, the active thread count can be reduced by a factor of 4 with minimal impact on performance and our most efficient three-level software-managed register file hierarchy reduces register file energy by 54%.
Document Details
- Document Type
- Pub Defense Publication
- Publication Date
- Apr 01, 2012
- Source ID
- 10.1145/2166879.2166882
Entities
People
- Bill Dally
- Daniel R. Johnson
- David Tarjan
- Erik Lindholm
- Kevin Skadron
- Mark Gebhart
- Stephen W. Keckler
Organizations
- Defense Advanced Research Projects Agency
- Division of Computing and Communication Foundations
- Nvidia
- University of Illinois Urbana–Champaign
- University of Texas at Austin
- University of Virginia