一句话:提出 PIM-STM:为 UPMEM 存内计算系统提供多种软件事务内存实现,并系统评估设计空间与内存层级影响。
存内计算(PIM)通过在 DRAM 芯片中集成轻量逻辑,可将计算卸载到内存侧,从而缓解现代工作负载的数据瓶颈。本文关注如何在 PIM 上构建高效的软件事务内存(STM)实现,提出 PIM-STM:一个面向首个商用 PIM 系统 UPMEM 的库,提供多种不同的事务内存实现。作者对 TM 算法设计空间中的替代选择进行了广泛研究,评估其在 UPMEM 上的效率;并量化使用 UPMEM 不同内存层级(在延迟与容量之间取舍)存储各 TM 实现元数据所带来的影响。最后,论文评估了用 PIM-STM 加速原本面向传统 CPU 系统设计的 TM 应用时,在性能和内存效率方面可获得的收益。
Processing-In-Memory (PIM) is a novel approach that augments existing DRAM memory chips with lightweight logic. By allowing to offload computations to the PIM system, this architecture allows for circumventing the data-bottleneck problem that affects many modern workloads. This work tackles the problem of how to build efficient software implementations of the Transactional Memory (TM) abstraction by introducing PIM-STM, a library that provides a range of diverse TM implementations for UPMEM, the first commercial PIM system. Via an extensive study we assess the efficiency of alternative choices in the design space of TM algorithms on this emerging architecture. We further quantify the impact of using different memory tiers of the UPMEM system (having different trade-offs for what concerns latency vs capacity) to store the metadata used by different TM implementations. Finally, we assess the gains achievable in terms of performance and memory efficiency when using PIM-STM to accelerate TM applications originally conceived for conventional CPU-based systems.