多核挑战与机遇选择最佳解决方案.PDF

多核挑战与机遇选择最佳解决方案.PDF

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多核挑战与机遇选择最佳解决方案.PDF

多核挑战与机遇:选择最佳解决方案 Tomas Evensen 风河公司首席技术官 提要 许多技术和市场趋势正在彻底改变未来的设备架构和开发方式,主要包括:芯片运行频率已 经接近物理极限;将多核技术用于硬件负载分流 (Offload );将多处理器系统集中化为多 核架构;在嵌入式设备中运用Hypervisor ;使用“封装”来达到特定的性能目标、在特定的 设备融入更多的功能;又或者,为了追求更高的安全性和保密性,需要采用经过认证的系统。 多核和虚拟化有望使上述趋势化为现实。本文会更加明了地呈现这些趋势。 商业和技术趋势 频率极限 留意一下芯片厂商处理器产品路线图的右上角,最常看到的就是多核处理器。多核意味着在 芯片内拥有一个以上的处理器内核或CPU 。为什么几乎所有的芯片厂商突然都同时转向了多 核? 这一切都归结于物理上的原因。在很长一段时间内,芯片厂商可以通过提升时钟频率来稳步 实现越来越快速的处理器。这种方式不可避免地会增加功耗,但与此同时,另一个发展趋势 是芯片线宽越来越小,这反过来要求降低功耗。这两种趋势在几年前开始出现严重的冲突。 不过,人们对更高性能的处理器的需求一点都没有停歇,于是处理器架构设计师不惜投入更 多的电路、运用很多技巧来追求性能提升,例如超流水 (super-pipelining ,每条指令通过更 多环节以便更快地执行)、超递增 (super-scaling,每个周期内送出多条指令)、分支预测 (branch prediction ,通过预测跳转路径将超长流水操作的影响降到最低)、寄存器重命名 (register renaming ,在即时流水步骤期间使用虚拟寄存器,实现更多的并行操作)等等。 现在,我们已经面临着这样的困境——提升处理器频率或者提高连续代码流的并行处理能力 将会耗费大量成本,但却收效甚微。此外,即使你能够获得少量的性能提升,处理器功耗却 急剧增长。 导致这种现象出现的真正因素有三方面:第一,功耗增长与频率提高程度直接成正比;第二, 需要更高的电压来实现频率的提升,而功耗增长与电压增长的二次方成正比;第三,处理器 时钟频率越快,CPU速率和总线速率之间的差距就越大,就需要通过采用前述的手段和更大 的缓存,从而大大增加了晶体管数目,而这些大量增加的晶体管最终导致更高的功耗。 图1展示了当频率增大时功耗的变化情况。第一对柱状图对比显示了在处理器在全速率运行 下的性能和功耗;第二对柱状图对比显示了当CPU时钟频率降低到最高值的80%,功耗虽然 降低了几乎一半,却还能保持大部分的性能;最后一对柱状图对比显示了如果你加入了第二 个内核并且同样保持在80%频率运行,响应的功耗与单个CPU最高时钟速率下基本相同,但 性能却提升了约60%。这至少是理论结果。 图1:不同频率下性能与功耗对应关系 这听起来很棒!为什么我们之前没有这么做?实际上,我们以前就做过,多进程技术的运用 可以追述到数十年前。所不同的是,当时采用的是多芯片甚至多板卡,而主要目的是为了追 求更高的性能。直到最近,把多个内核置入同一芯片的技术和原因才逐渐出现。 从硬件角度来看,这是一个绝佳的解决方案——更高的MIPS 、更低的功耗。问题在于我们 很难利用这些提升的性能。在过去的每一代处理器技术中,都无需对程序进行重大改变,它 们自然就能运行的越来越快。在加入更多的处理器内核来获取更高性能的同时,也需要以多 线程并行运行来利用这些性能。对于绝大多数嵌入式应用,处理器在多数时候都是运行一个 线程。当在系统中加入了一个新的处理器,原有线程仍然让第一个CPU繁忙不堪,而新加入 的处理器却处于空闲状态。 从多核架构中获取最大性能的困难在于,应用中的每个任务都必须并发地执行起来。通常情 况下,找出并行性是一个十分困难的问题,但在一些特殊的情况下,这个问题却很容易解决。 采用多核技术进行硬件Offload 采用多核技术的一个成功之处就是可以执行原本由专用处理器、FPGA和ASIC等专用硬件来 处理的特定任务。由于这些任务原本就是由独立的硬件单元执行,并行化的问题原本就不存 在。针对特定任务,与旧的传统方法相比,使用较低档的硬件支持多个较慢速的内核,可以 获得更好的并行性能,并且更易于设计和编程。以路由器为例,它的最主要任务是分析进入 的数据包,并决定从哪一个端口转发它。通过采用一些专用硬件完成细分任务,例如缓冲器 管理和加密解密操作等,多个内核可以并发运行,从而获得更高的吞吐能力。 图2所示的是如何通过专用硬件的组合和多核架构的运用来构成高效路由器的基础。 图2

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档