2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA) (2000)
Jan. 8, 2000 to Jan. 12, 2000
Todd C. Mowry , Carnegie Mellon University
Sherwyn R. Ramkissoon , University of Toronto
To help tolerate the latency of accessing remote data in a shared-memory multiprocessor, we explore a novel approach to switch-on-miss multithreading that is software-controlled rather than hardware-controlled. Our technique uses informing memory operations to trigger the thread switches with sufficiently low overhead that we observe speedups of 10% or more for four out of seven applications, with one application speeding up by 14%. By selectively applying register partitioning to reduce thread switching overhead, we can achieve further gains: e.g., an overall speedup of 23% for FFT. Although this software-controlled approach does not match the performance of hardware-controlled schemes on multithreaded workloads, it requires substantially less hardware support than previous schemes and is not likely to degrade single-thread performance. As remote memory accesses continue to become more expensive relative to software overheads, we expect software-controlled multithreading to become increasingly attractive in the future.
Multithreading, cache performance, shared-memory multiprocessing
Todd C. Mowry, Sherwyn R. Ramkissoon, "Software-Controlled Multithreading Using Informing Memory Operations", 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), vol. 00, no. , pp. 121, 2000, doi:10.1109/HPCA.2000.824344