In current microarchitectures, due to the complex memory hierarchies and different latencies on memory accesses, thread and data mapping are important issues to improve application performance. Software transactional memory (STM) is an abstraction used for thread synchronization, replacing the use of locks in parallel programming. Regarding thread and data mapping, STM presents new challenges and mapping opportunities, since (1) STM can use different conflict detection and resolution strategies, making the behavior of the application less predictable and; (2) the STM runtime has precise information about shared data and the intensity with each thread accesses them. These unique characteristics provide many opportunities for low-overhead, but precise statistics to guide mapping strategies for STM applications. The main objective of this paper is to survey the existing work about thread and data mapping that uses solely information gathered from the STM runtime to guide thread and data mapping decisions. We also discuss future research directions within this research area.
翻译:在目前的微观结构中,由于记忆层结构复杂,内存存存存取、线和数据绘图存在各种迟缓,这是改进应用性能的重要问题。软件交易内存(STM)是用于线性同步的抽象数据,取代平行编程中的锁的使用。关于线性和数据绘图,STM提出了新的挑战和绘图机会,因为(1)STM可以使用不同的冲突探测和解决冲突战略,使应用行为不那么可预测;(2)STM运行时掌握关于共享数据和每种线性能的准确信息。这些独特的特征为低管理者提供了许多机会,但精确的统计数据指导STM应用的绘图战略。本文的主要目的是调查目前关于线性和数据绘图的工作,这些只是利用从STM运行时间收集的信息来指导线性和数据绘图决定。我们还讨论了这一研究领域的今后研究方向。