Performance of memory intensive applications executed on multi-core multi-socket environments is closely related to the utilization of shared resources in the memory hierarchy. Depending on the characteristics of the application, the shared resources utilization can lead to a significant performance degradation. The exploration of different thread affinity configurations allows the selection of a proper configuration that balances the performance improvement obtained by increasing parallelism with the performance degradation due to memory contention. However, as the number of cores per processor and the number of processors per node increases, testing all possible configurations is not reasonable. We propose a performance model to estimate the execution time for a thread configuration (number and affinity distribution) for an OpenMP application parallel region based on runtime hardware counters information and the estimation of performance degradation due to memory contention generated at last level cache (LLC). The latter is estimated considering features obtained from the memory access pattern and the memory footprint. The experimental results show that the proposed methodology identifies the thread configurations which maximize the application performance by preventing memory contention on main memory.
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
Tel.: +1 703 830 6300
Fax: +1 703 830 2300 firstname.lastname@example.org
(Corporate matters and books only) IOS Press c/o Accucoms US, Inc.
For North America Sales and Customer Service
West Point Commons
Lansdale PA 19446
Tel.: +1 866 855 8967
Fax: +1 215 660 5042 email@example.com