TCP: Thread Contention Predictor for Parallel Programs
Aparna Mandke, Bharadwaj Amrutur, Y.N.Srikant and Chiranjib Bhattacharyya
Abstract:
With proliferation of chip multicores (CMPs) on desktops and embedded
platforms, multi-threaded programs have become ubiquitous. Existence of
multiple threads may cause resource contention, such as, in on-chip shared
cache and interconnects, depending upon how they access resources. Hence,
we propose a tool - Thread Contention Predictor (TCP) to help quantify the
number of threads sharing data and their sharing pattern. We demonstrate
its use to predict a more profitable shared, last level on-chip cache
(LLC) access policy on CMPs. Our cache configuration predictor is 2.18
times faster compared to the cycle-accurate simulations. We also
demonstrate its use for identifying hot data structures in a program which
may cause performance degradation due to false data sharing. We fix layout
of such data structures and show up-to 10% and 18% improvement in
execution time and energy-delay product (EDP), respectively.
pdf