Transactional WaveCache:迈向内存操作的推测性与乱序数据流执行
硬件体系结构
2007-12-10 v1 分布式、并行与集群计算
摘要
WaveScalar 是第一种能够高效提供命令式语言所需顺序内存语义的数据流架构。本文提出了一种针对该架构的替代内存排序机制,即 Transactional WaveCache。我们的机制在称为 Wave 的代码块内保持内存操作的执行顺序,但增加了不同 Wave 间操作进行推测性乱序执行的能力。这种排序机制灵感来源于事务内存支持的进展。Wave 被视为原子区域并作为嵌套事务执行。如果一个 Wave 完成了其所有内存操作的执行,一旦前序 Wave 被提交,它即可被提交。如果在推测性 Wave 中检测到危害,所有后续 Wave(子代)将被中止并重新执行。我们在一系列人工基准测试上评估了 WaveCache。如果基准测试不频繁访问内存,我们可实现约 90% 的加速比。在内存密集型应用上观察到 33.1% 和 24% 的加速比,而如果内存带宽成为瓶颈,则会出现高达 16% 的减速。对于充满 WAW、WAR 和 RAW 危害的应用,验证了 139.7% 的加速比。
引用
@article{arxiv.0712.1167,
title = {Transactional WaveCache: Towards Speculative and Out-of-Order DataFlow Execution of Memory Operations},
author = {Leandro A. J. Marzulo and Felipe M. G. França and Vítor Santos Costa},
journal= {arXiv preprint arXiv:0712.1167},
year = {2007}
}
备注
Submitted to ACM International Conference on Computing Frontiers 2008, http://www.computingfrontiers.org/, 20 pages