Please use this identifier to cite or link to this item:
Title: Dynamic cache contention detection in multi-threaded applications
Authors: Zhao, Q.
Koh, D.
Raza, S.
Amarasinghe, S.
Bruening, D.
Wong, W.-F. 
Keywords: Cache contention
Dynamic instrumentation
False sharing
Shadow memory
Issue Date: 2011
Source: Zhao, Q.,Koh, D.,Raza, S.,Amarasinghe, S.,Bruening, D.,Wong, W.-F. (2011). Dynamic cache contention detection in multi-threaded applications. Proceedings of the 2011 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2011 : 27-37. ScholarBank@NUS Repository.
Abstract: In today's multi-core systems, cache contention due to true and false sharing can cause unexpected and significant performance degradation. A detailed understanding of a given multi-threaded application's behavior is required to precisely identify such performance bottlenecks. Traditionally, however, such diagnostic information can only be obtained after lengthy simulation of the memory hierarchy. In this paper, we present a novel approach that efficiently analyzes interactions between threads to determine thread correlation and detect true and false sharing. It is based on the following key insight: although the slowdown caused by cache contention depends on factors including the thread-to-core binding and parameters of the memory hierarchy, the amount of data sharing is primarily a function of the cache line size and application behavior. Using memory shadowing and dynamic instrumentation, we implemented a tool that obtains detailed sharing information between threads without simulating the full complexity of the memory hierarchy. The runtime overhead of our approach - a 5 × slowdown on average relative to native execution - is significantly less than that of detailed cache simulation. The information collected allows programmers to identify the degree of cache contention in an application, the correlation among its threads, and the sources of significant false sharing. Using our approach, we were able to improve the performance of some applications by up to a factor of 12 ×. For other contention-intensive applications, we were able to shed light on the obstacles that prevent their performance from scaling to many cores. Copyright © 2011 ACM.
Source Title: Proceedings of the 2011 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2011
ISBN: 9781450305013
DOI: 10.1145/1952682.1952688
Appears in Collections:Staff Publications

Show full item record
Files in This Item:
There are no files associated with this item.


checked on Dec 13, 2017

Page view(s)

checked on Dec 16, 2017

Google ScholarTM



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.