Thread-spawning schemes for speculative multithreading

Thread-spawning schemes for speculative multithreading
复制标题

推测性多线程的线程生成方案

DOI:
10.1109/hpca.2002.995698
复制
发表时间:
2002
期刊:
Proceedings Eighth International Symposium on High Performance Computer Architecture
影响因子:
--
通讯作者:
Antonio González
Antonio González
中科院分区:
--
文献类型:
--
作者:
P. Marcuello;Antonio González

文献摘要

被引文献

相似文献

推测性多线程技术是近年来提出的一种通过在难以并行化的应用程序中利用线程级并行来提高性能的方法。这些处理器的性能在很大程度上取决于用于将程序拆分为线程的分区策略。以前的工作使用的是基于易于检测的程序结构(如循环或子程序)的推测性线程。在这项工作中,我们提出了一个基于配置文件的机制,通过搜索那些部分的代码,有一定的功能,可以受益于潜在的线程级并行程序划分为线程。我们的配置文件为基础的产卵计划进行评估,在一个可扩展的投机多线程处理器和结果显示出很大的性能优势。当提出的产卵计划与传统的算法相比,我们优于他们近20%。当考虑实际值预测器和8周期线程初始化惩罚时,它们之间的性能差异得以维持。对于16个线程单元的处理器,单线程执行的速度提升高于5倍,对于4个线程单元的处理器,接近2倍。
Speculative multithreading has been recently proposed to boost performance by means of exploiting thread-level parallelism in applications difficult to parallelize. The performance of these processors heavily depends on the partitioning policy used to split the program into threads. Previous work uses heuristics to spawn speculative threads based on easily-detectable program constructs such as loops or subroutines. In this work we propose a profile-based mechanism to divide programs into threads by searching for those parts of the code that have certain features that could benefit from potential thread-level parallelism. Our profile-based spawning scheme is evaluated on a Clustered Speculative Multithreaded Processor and results show large performance benefits. When the proposed spawning scheme is compared with traditional heuristics, we outperform them by almost 20%. When a realistic value predictor and a 8-cycle thread initialization penalty is considered, the performance difference between them is maintained. The speed-up over a single thread execution is higher than 5x for a 16-thread-unit processor and close to 2x for a 4-thread-unit processor.