• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2008, Vol. 30 ›› Issue (1): 119-122.

• 论文 • 上一篇    下一篇

一种基于线程的数据预取方法

欧国东 张民选   

  • 出版日期:2008-01-01 发布日期:2010-05-19

  • Online:2008-01-01 Published:2010-05-19

摘要:

多线程、多核处理器的推广受限于应用。目前,大部分应用尤其是桌面应用都是单线程程序,不能充分利用多线程处理器提供的多个现场并行执行来提高速度。使用空闲现场加速单线程应用是目前研究的一个热点,研究主要集中在提高传统串行应用存储访问的效率和分支预测的精度。在基于线程的数据预取方法中,数据预取线程是从主线程的执执行踪迹中提取的。它们使用空闲的现场,和主线程并行执行,在主线程需要数据之前把数据取到离处理器更近的存储层次。基于线程的数据预取方法能够有效地解决传统数据预取方法难以处理的诸多问题,如不规则内存访问模式。本文具体分析了应用程序中访存行为的特点,结合控制流处理,设计并验证了一种基于线程的数据预取方法TDP。模拟结果显示,使用TDP可以获得7%左右的性能提升。

关键词: 单线程应用 多线程处理器 数据预取线程 TDP

Abstract:

Most applications, especially desktop applications, are single-threaded. For lack of threaded applications, most multi-threaded/multi-core microproces  sors can not unlock their full power. Many researches have been proposed to speed up single-threaded applications on modern multi-threaded microprocessors. Most of them focus on the efficiency of memory access and the accuracy of branch prediction. Thread-based data prefetching executes in spare context s and actual codes decoupled from the main program, allowing much more flexibility than traditional data prefetching techniques. In this paper, we inves tigate the access patterns of modern applications and the effect of control flow; design and evaluate a new data prefetching method using helper threads  . TDP. For a set of benchmarks, an average speedup of 7% is achieved.

Key words: single-threaded application;multi-threaded/multi-core microprocessor, data prefetching thread, TDP