多核环境下的线程级流水

多核环境下的线程级流水

ID:13292694

大小:130.00 KB

页数:17页

时间:2018-07-21

多核环境下的线程级流水_第1页
多核环境下的线程级流水_第2页
多核环境下的线程级流水_第3页
多核环境下的线程级流水_第4页
多核环境下的线程级流水_第5页
资源描述:

《多核环境下的线程级流水》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、多核环境下的线程级流水声明:本文作者提出的某些观点纯属在一定理论和实践基础上的虚构,未经过实际严格验证,仅作为对多核环境下线程级流水设计和实现的思考和参考。这些虚构的观点在文中有相应的描述,若发现不妥之处,敬请谅解。摘要:本文主要叙述了多和处理器在最近流行起来的原因以及多核处理器的发展趋势,对多和处理器的总体看法进行总结。在此基础上,重点对现在多核处理器发展的一个重要分支CMP处理器。CMP处理器分为同构和异构两种,本文侧重介绍异构多核处理器的体系结、异构多核处理器对编译器的新的要求和这些要求可能涉及的具体方面,并在对异构CMP的潜在性能分析的基础上,对线程调度的策路进行了详细的阐述

2、和分析。最后就线程的运行和调度等问题提出了许多想法以及对这些问题的一些思考。关键词:多核,线程级流水,超标量处理器,VLIW处理器,CMP1.引言超标量技术和单处理器日益复杂的结构使得业界的发展往多核方向推进。多线程应用程序可以自然地在多核处理器上提高吞吐量,然而对于单线程应用程序,它就不能自动利用多核处理器潜在的性能。本文我们将介绍一种编译器驱动的异构多处理器结构,包括紧耦合超长指令字(VLIW)和单芯片超标量处理器,不需要支持多线程程序的能力,来自动地提升单线程应用程序性能[4]。在假定的多核结构中,使用高性能的超长指令字核心来运行由编译器产生的具有高性能线程级并行的代码段;超标

3、量核心可以用来解决运行时事件,这些事件一般对于超长指令字核心来说难以处理,比如二级缓存失效。我们最初的实验结果通过运行原本在超标量核心处理器的线程以便减轻在超长指令字核心处理器运行时主线程产生的二级缓存失效来获得,这些结果表明,我们设想的超长指令字/超标量多核处理器可以自动地提高单线程为目标的应用程序的性能。17随着单核处理器复杂性的提高,计算机工业界的发展已经向单个芯片的多核处理器(CMP)迅速发展。这些多核处理器一般是把单个核复制成两个或多个核,在本文中我们把这类的处理器称为同构多核处理器。同构多核单芯片处理器的主要好处是减小了设计的复杂度,提高了可重用的能力以及高吞吐量。这些多

4、核处理器可以自然地提高多道程序和多线程代码的吞吐量,但是对单个程序或者多线程程序的单个线程来说,其延时并没有改变。不幸的是,许多重要的应用程序是采用顺序语言如C和C++编写的,这些语言通常是单线程执行模式。因此,这样的单线程程序不能直接从这些多核处理器中直接获益。因此,我们有必要研究能够减小单线程应用程序的延时同时保证多线程程序能够获得高吞吐量的技术。如果编译器可以把单线程程序自动进行并行化处理,那么这些但线程程序就能同时在多个核上同时运行多个任务。然而,多年来并行编译技术的研究取得的成就非常有限。科学计算方面的应用程序由于存在数据访问的规则性和可预测的控制流,可以获得比较成功的并行

5、性;而对于基于编译器并行化技术的其他没有一致性数据访问模式和控制流难以预测的应用程序所取得的并行性就非常有限了。许多研究者进而去研究通过投机的方法来发掘并行性的技术。可是,这些技术通常需要硬件的支持来解决错误预测,这将大大地增加多核处理器的硬件复杂性。而且这些预测技术的成功高度依赖于投机的充分性和准确度。选择什么样的核来进行多个复制?这里作者提到了两种目前常用的方法,一个是把简单的、频率和性能都比较低的核进行多次复制,另外一是采用复杂结构的具有强大的性能的核来进行复制。其中前者对多线程程序的整体性能比较有效,而后者对提高单个线程的性能有比较大的作用。当然了,还可以是这两种核的结合体。

6、由于保守的投机技术相对没有使用投机技术一般得到的性能提高很有限,而过分的投机将导致错误投机的增加,因此投机技术不但要考虑到性能,还要关心能源的浪费。因为投机技术使得原本可以空闲的各个硬件部分都变得非常忙碌。对于多核单芯片处理器,同时获得高吞吐量和低延时的另外一种方法是使用单指令集结构的异构多处理器。这种单指令集异构多核体系结构由不同大小、性能和复杂度的核心构成,但使用的是同样的指令集。在这种结构下,单线程程序不需要重新编写或编译程序就可以利用强大的核心(比如复杂的超标量处理器)达到很高的性能和很低的延时。另一方面,多道程序或多线程程序可以被分配到许多个简单的核上获得高吞吐量。17对于

7、多核单芯片处理器,同时获得高吞吐量和低延时的另外一种方法是使用单指令集结构的异构多处理器。这种单指令集异构多核体系结构由不同大小、性能和复杂度的核心构成,但使用的是同样的指令集。在这种结构下,单线程程序不需要重新编写或编译程序就可以利用强大的核心(比如复杂的超标量处理器)达到很高的性能和很低的延时[1]。另一方面,多道程序或多线程程序可以被分配到许多个简单的核上获得高吞吐量。然而,为了使单线程的性能能够与当前技术水平的单处理器相比,最高级的也是最复杂的单处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。