directly characterizing cross core interference through contention synthesis
In this paper, we present a direct methodology and framework for the measurement and characterization of an application's cross-core interference sensitivity on multicore microarchitectures. While prior works use indirect indicators, such as last level cache miss rate, to infer an application's cross-core interference sensitivity, our approach is direct , in that it characterizes the application's cross-core interference sensitivity using the performance impact due to actual contention. Our methodology and framework, the C ross-core i nterference P rofiling E nvironment, or CiPE , is composed of a lightweight runtime environment on which a host application runs, along with a carefully designed contention synthesis engine that executes on a neighboring core. CiPE manipulates the co-running contention synthesis engine, while monitoring and analyzing the resulting dynamic impact on the host application. CiPE is able to characterize the cross-core interference sensitivity of the entire application, its individual phases, or source level code regions. To demonstrate the effectiveness of CiPE, we use CiPE characterizations to address two pressing problems. First, we use CiPE characterizations to perform contention conscious batch scheduling that minimizes cross-core interference, resulting in a 12\% performance improvment on average when applied to the SPEC2006 benchmark suite, and beyond 20\% in the case of mcf and omnetpp. Second, we use CiPE to design a performance analysis tool that is capable identifying contentious bottlenecks in application code.
contention cross-core interference multicore dynamic analysis execution runtimes program understanding profiling framework