|Title||:||CAFFEINE: A Utility-driven Prefetcher Aggressiveness Engine for Multi-cores|
|Speaker||:||Biswabandan Panda (IITM)|
|Details||:||Thu, 18 Jun, 2015 2:30 PM @ BSB 361|
To improve the performance of applications, multi-core systems employ hardware prefetchers, which hide the off-chip latency. However, a prefetcher of one core interferes with the prefetch and demand requests of other cores at the shared resources resulting in prefetcher-caused inter-core interference, which degrades system performance significantly. Prefetcher aggressiveness engines minimize this interference by controlling the aggressiveness of each prefetcher. However, state-of-the-art engines have two major shortcomings: (i) usage of thresholds, which are dependent on the system configuration and have to be tuned appropriately (ii) thresholds are oblivious to the phase change behavior of applications.
Our Goal: Our goal is to design a robust and effective prefetcher aggressiveness engine, which can improve the system performance by (i) tolerating prefetcher-caused inter-core interference as long as performance is improved, and by (ii) minimizing the prefetcher-caused inter-core interference that affects performance.
Our Contribution: CAFFEINE, a utility-driven prefetcher aggressiveness controller that uses a metric called net-utility where net-utility quantifies the net processor cycles saved by a prefetcher, at the shared resources. CAFFEINE consists of two sub-techniques (i) CAFFEINATION and (ii) DE-CAFFEINATION. CAFFEINATION is used when the prefetcher-caused interference is tolerable and DE-CAFFEINATION is used when the prefetcher-caused interference is intolerable.
Highlight of the Results: One of the key features of this idea is that 'it is free from setting and tuning of thresholds, and changes in applications’ phases'. CAFFEINE outperforms the state-of-the-art aggressiveness controller by 9.5% and 11% for 4-core and 8-core systems, respectively.
The results are part of a work that will appear in the upcoming issue of the ACM Transactions on Architecture and Code Optimization (TACO).