Quantitative Characterization of Memory Contention
David Eklöv, Nikos Nikoleris, David Black-Schaffer, Erik Hägersten · 2012
On multicore processors, co-executing applications compete for shared resources, such as cache capacity and memory bandwidth. This leads to suboptimal resource allocation and can cause substantial performance loss, which makes it im-portant to effectively manage these shared resources. This, however, requires insights into how the applications are im-pacted by such resource sharing. While there are several methods to analyze the perfor-mance impact of cache contention, less attention has been paid to general, quantitative methods for analyzing the im-pact of contention for memory bandwidth. To this end we introduce the Bandwidth Bandit, a general, quantitative, profiling method for analyzing the performance impact of contention for memory bandwidth on multicore machines. The profiling data captured by the Bandwidth Bandit is presented in a bandwidth graph. This graph accurately cap-tures the measured application’s performance as a function of its available memory bandwidth, and enables us to deter-mine how much the application suffers when its available bandwidth is reduced. To demonstrate the value of this data, we present a case study in which we use the bandwidth graph to analyze the performance impact of memory contention when co-running multiple instances of single threaded ap-plication. 1.