Improving Memory Subsystem Performance Using ViVA: Virtual Vector Architecture
Improving Memory Subsystem Performance Using ViVA: Virtual Vector Architecture
复制标题
使用 ViVA 提高内存子系统性能:虚拟向量架构
DOI:
10.1007/978-3-642-00454-4_16
复制
发表时间:
2009
期刊:
影响因子:
--
通讯作者:
K. Yelick
中科院分区:
文献类型:
--
作者:
Joseph Gebis;L. Oliker;J. Shalf;Samuel Williams;K. Yelick
The disparity between microprocessor clock frequencies and memory latency is a primary reason why many demanding applications run well below peak achievable performance. Software controlled scratchpad memories, such as the Cell local store, attempt to ameliorate this discrepancy by enabling precise control over memory movement; however, scratchpad technology confronts the programmer and compiler with an unfamiliar and difficult programming model. In this work, we present the Virtual Vector Architecture (ViVA), which combines the memory semantics of vector computers with a software-controlled scratchpad memory in order to provide a more effective and practical approach to latency hiding. ViVA requires minimal changes to the core design and could thus be easily integrated with conventional processor cores. To validate our approach, we implemented ViVA on the Mambo cycle-accurate full system simulator, which was carefully calibrated to match the performance on our underlying PowerPC Apple G5 architecture. Results show that ViVA is able to deliver significant performance benefits over scalar techniques for a variety of memory access patterns as well as two important memory-bound compact kernels, corner turn and sparse matrix-vector multiplication — achieving 2x–13x improvement compared the scalar version. Overall, our preliminary ViVA exploration points to a promising approach for improving application performance on leading microprocessors with minimal design and complexity costs, in a power efficient manner.