芯片多处理器上的模板应用优化与数组重组技术探索
1. 模板应用优化的未来方向
在模板应用领域,当前工作取得了显著成果,但仍有诸多未来工作值得探索。利用数据依赖图(DDG)进行局部性优化的研究,可朝着两个主要方向拓展。其一,扩大其适用范围,使其能应用于更多类型的应用程序;其二,将其他技术融入所提出的形式化框架中。
目前的研究成果仅解决了单核芯片动态随机存取存储器(DRAM)内存访问的难题。如何运用数据依赖图对分布式内存应用程序在多个多核芯片间进行分区,是未来的一个研究课题。
此外,还需评估屏障同步和点对点同步之间的权衡。像相位器(phasers)这类消费者 - 生产者同步原语,有可能降低模板应用中的执行噪声。未来的工作还将聚焦于提供通用的数学优化框架。在当前优化的模板应用中,所有优化步骤均由作者手动设计。更理想的方法是设计一种一致的方法论,可应用于任何应用程序,而不受特定应用类别的限制,但在发布时,作者尚不清楚这是否可行。
2. 芯片多处理器(CMP)上的数组重组
现代处理器行业依赖于处理器级并行性的持续提升,这使得内存带宽被越来越多的线程和进程共享,其使用变得比以往更为关键。数组重组是一种通过增强空间局部性和减少缓存冲突来减少内存事务的方法,在单核处理器的顺序程序中已展现出良好效果。
数组重组的基本思想是将经常被紧密访问的多个数组元素交错排列,合并成一个新的大数组。例如,对于以下代码:
for(i=0;i<N;i++){
A[C[i]] += B[C[i]];
}
可重组为: <