Increasing multicore system efficiency through intelligent bandwidth shifting
- 1 February 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 39-50
Abstract
Memory bandwidth is a crucial resource in computing systems. Current CMP/SMT processors have a significant number of cores and they can run many threads concurrently. This large thread count adds high pressure to the memory bus, which demands high bandwidth to service memory requests from the cores. Hardware data prefetching is a well-known technique for hiding memory latency. Due to its speculative nature, however, in some situations prefetching does not effectively work, wasting memory bandwidth and polluting the caches. Data prefetching efficiency depends on the prefetching algorithm. It also depends on the characteristics of the applications running on the system. In this paper we propose an online bandwidth shifting mechanism that dynamically assigns bandwidth to applications according to their prefetch efficiency. This mechanism maximizes the utilization of memory bandwidth, thereby improving system performance and/or reducing memory power consumption. To the best of our knowledge, this solution is the first to not require hardware support. We evaluate the benefits of using our bandwidth shifting mechanism on a real system - the IBM POWER7. We obtain speedups in the order of 10-20% (in one instance, speedup exceeds 1.6X). Our mechanism does not generate a significant degree of unfairness among the applications. In many cases individual thread performance increases by 10-35%, while virtually no thread experiences a slowdown larger than 5%.Keywords
This publication has 35 references indexed in Scilit:
- Making data prefetch smarter2012
- Machine learning-based prefetch optimization for data center applications2009
- Server-Level Power Control2007
- Using the First-Level Caches as Filters to Reduce the Pollution Caused by Speculative Memory ReferencesInternational Journal of Parallel Programming, 2005
- Stride Directed Prefetching In Scalar Processors2005
- A prefetch taxonomyIEEE Transactions on Computers, 2004
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers2002
- Push vs. pull2000
- Sequential hardware prefetching in shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1995
- An effective on-chip preloading scheme to reduce data access penalty1991