排序方式: 共有1条查询结果,搜索用时 0 毫秒
1
1.
Ferad Zyulkyarov Srdjan Stipic Tim Harris Osman S. Unsal Adrián Cristal Ibrahim Hur Mateo Valero 《International journal of parallel programming》2012,40(1):25-56
Many researchers have developed applications using transactional memory (TM) with the purpose of benchmarking different implementations,
and studying whether or not TM is easy to use. However, comparatively little has been done to provide general-purpose tools
for profiling and optimizing programs which use transactions. In this paper we introduce a series of profiling and optimization
techniques for TM applications. The profiling techniques are of three types: (i) techniques to identify multiple potential
conflicts from a single program run, (ii) techniques to identify the data structures involved in conflicts by using a symbolic
path through the heap, rather than a machine address, and (iii) visualization techniques to summarize how threads spend their
time and which of their transactions conflict most frequently. Altogether they provide in-depth and comprehensive information
about the wasted work caused by aborting transactions. To reduce the contention between transactions we suggest several TM
specific optimizations which leverage nested transactions, transaction checkpoints, early release and etc. To examine the
effectiveness of the profiling and optimization techniques, we provide a series of illustrations from the STAMP TM benchmark
suite and from the synthetic WormBench workload. First we analyze the performance of TM applications using our profiling techniques
and then we apply various optimizations to improve the performance of the Bayes, Labyrinth and Intruder applications. We discuss
the design and implementation of the profiling techniques in the Bartok-STM system. We process data offline or during garbage
collection, where possible, in order to minimize the probe effect introduced by profiling. 相似文献
1