» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 22 12
发新话题
打印

[其他] 一篇关于移动四核处理器应用前景的好文,分享一下

原文地址:http://www.eettaiwan.com/ART_8800655411_622964_TA_5191b4b3.HTM

现在是选择四核心处理器行动平台的最佳时机吗?
作者: Marco Cornero / 意法·爱立信 (ST-Ericsson)
我们正处于行动运算时代的过渡期,每天都有令人震撼的设备发布,行动计算性能不断提高,令人充满期待。
行动平台目前正在经历如PC之前一样的演变路线:单核心处理器的频率一路攀升,达到最大允许功耗的极限;为了继续提升计算性能,并保持合理的功耗,处理器厂商又推出了多核心处理器。
意法·爱立信早在2009年就推出了双核心处理器平台,是第一批推出双核心处理器的芯片厂商,其NovaThor平台开发计划也是基于ARM双核心处理器。根据公司的分析报告,现有的软件以及近期上市的软件还不能充分发挥四核心技术的优势。
从最高可达频率和存储器存取开销(penalties)角度看,增加核心不是没有代价的。只有在添加核心的做法与软件能力之间取得很好的平衡,才能充分利用添加核心后所提升的硬件平行处理能力。
本文将透过对比的方式探讨频率较高的双核心架构与频率较低的四核心架构的优缺点。不过,芯片技术和软件处理的折衷解决方案正在迅速发展,而且,爱立信也将根据技术未来发展趋势调整产品计划。
在本文中,我们把讨论的焦点放在性能上,功耗问题只稍加提示。事实上,在执行高性能任务时,四核心处理器的频率和电压都较低,因此节能省电效果更好;但是,如果不执行高性能任务,四核心就失去了省电的特色。
多核心是需要付出代价的
目前大多数最新的行动平台所使用的多核心架构是对称是多核心处理系统(Symmetric Multi Processing,SMP),其特点是多个核心完全相同,且存取系统资源(包括存储器)面临相同的开销。此外,执行SMP功能的作业系统的基本需求是多核心必须共享一个存储器空间。
为确保多个实体存储器之间的一致性来实现共享存储器空间,还需要配备专用电路。在今天的多核心处理器中,每个核心都有各自的一级快取存储器,每个内核心的一级快取存储器必须保持相互一致,而且还要与唯一的多核心共享的二级快取存储器保持一致。
存储器一致性硬件位于快取存储器的重要执行通道内,因此,该硬件在很大程度上决定了多核心架构的扩展性。增加核心不可避免地导致一致性协议的额外管理,产生额外的延迟,从而对性能造成负面影响。这就是为什么SMP架构不能无限地扩展的原因,即使在超级计算机上, 也不能无限扩展。
不断增加的1级/2级快取存储器资料流程量和共享2级快取存储器而产生的资料拥堵问题也限制了多核心处理技术的扩展性能。每增加一个内核心,就需要更大的芯片面积和更高的2级快取存储器容量。这进一步增加了芯片布局限制,并在存储器分层结构内部引起访问延迟。
意法·爱立信的实验表明,对于典型负载,当处理器从双核心变成四核心时,每增加一个内核心,每核心性能将会受到25~30%影响,虽然这是核心频率损失和在系统的不同部分浪费更多的时钟周期的综合影响,但是,我们可以将其简化为等效的频率降低。
软件的扩展性
只有把软件设计成平行运行才能充分发挥多核心处理器的优势。软件平行应用分为两类:平行应用软件和多工处理。平行应用遵循著名的Amdahl定律,如方程式1所示:

如果处理器数量N是预设的,我们利用这个方程式可以确定一个应用软件能够取得的最高加速比S,其中P代表平行运作应用在软件中所占的百分比,即P随着处理器数量增加而线性提高((1-P)是串列运行应用的百分比)。
我们特别关注的是,对于一个预设的应用软件(即P值已知),何时才是改用四核心处理器的最佳时机。对于一个预设的应用软件,有一个很有趣的分析方法:合并一个四核心处理器与一个双核心处理器的可达加速比,并考虑前文描述的硬件额外开销因素,把硬件对相关频率F的影响考虑进去,即当Fquad * S4 > Fdual * S2时,四核心性能是优良的。
图一所示是用比较S4/S2比与Fdual/Fquad的方法解上面的不等式。蓝色横线代表Fdual/Fquad = 1.37,这个数值对应四核心处理器每核心25~30%的额外性能开销。这条线与S4/S2曲线相交于P = 70%的点;这意味着,应用软件的平行占比必须超过70%,才能把四核心处理器的优势发挥出来,否则四核心性能比不上速度高出25~30%的双核心处理器。在现阶段P > 70%这个比例太大了!这意味着70%的应用代码都要很好地平行运行,这是非常罕见的。

图一 当Fquad * S4 > Fdual * S2时,S4/S2 Fdual/Fquad 对比
有人可能提出,如果单核心与双核心解决方案对比,结论也是同样的,这在理论是正确的,但实际数值却让我们得出相反的结论:图二中的红线与图一中的红线相同,而绿线则代表单核心与双核心的加速比特性。两条线的走势相同,但是绿线总是在红线上方延伸,结果P值比双核心与四核心曲线的P值小很多,在这种情况下,速度较慢的双核心优于速度较快的单核心。
此外,架构从单核心转向双核心的性能代价也比从两核心转向四核心低很多,进一步将P的阈值降到一个合理的数值(大约30~35%)。

图二 比较单核心对双核心(绿色曲线)与双核心对四核心(红色曲线)的加速比提高幅度  

我们继续比较双核心和四核心处理器:根据经验,平行比例超过70%的应用软件是很少的。多媒体应用软件和某些视讯应用是一个例外,考虑到它们需要的大量平行处理和优化计算,其P值非常高,甚至达到了90~95%。
但是,我们所讨论的上下文有其特殊性:行动平台的相关多媒体功能几乎全都是硬件加速,导致这种特殊性的原因是:没有任何其他方式能够达到所需的性能并且/或者行动平台的功耗是受限的。非硬件加速的多媒体应用软件确实可充分发挥四核心处理器的优势,但是,它们会很快耗尽任何一种行动设备的电池,因此非硬件加速的使用是有疑问的。
网页浏览器是推动行动运算性能提高的主要力量之一。今天的网页浏览器能够在双核心处理器上取得1.4~1.5的加速比,对应的P值在55~65%之间,仍远低于70%阈值。另外,实际的应用情况甚至要比理论更差,因为在今天的网页浏览器内并不能找到Amdahl定律定义的平行百分比P。
事实上,大多数加速比来自关联的支援活动,例如,使用者界面、多媒体、网络等,某些活动会分几个执行绪执行,因此,这些系统级的平行活动让双核心处理器优势(1.4-1.5的加速比)得以充分发挥。
即便我们在网页浏览中使用Amdahl定律,由于所涉及的平行算法之间的相互差异,我们也无法在四核心处理器上得出1.8~2.0的理论加速比。事实上,我们倾向于四核心处理器的1.6~1.7的理论加速比,这个比值对应一个更具实际意义的50-55%的等效P值。
即使行动多核心处理器的处理优势将会极大地推进网页浏览器的平行化机制,但是,鉴于所涉及软件的复杂性,这个过程肯定需要一段相当长的时间。
视讯游戏是另一类值得考虑的运算密集型应用软件。与网页浏览器相似,,今天的大多数商业游戏引擎并非平行且不适用于Amdahl定律。我们发现,有些游戏具有与网页浏览器一样的系统级特性,从而在双核心处理器上能取得很好的加速比,当然,其P 值仍然低于推动四核心处理器应用的门限值。
此外,行动视讯游戏的瓶颈是图形处理,而不是CPU。因此目前四核心这一点激励因素不足以让软件厂商在如此复杂的系统的平行化工程上花费大力气。我们预期这种情况会逐渐改观,但还是尚需时日。

多工处理的任务量有多大?
多工处理是软件平行化的另一个推动力,当然,多工处理肯定受益于多核心处理器。多工处理指同时处理多个相互关联性很小或无关联的粗粒度(coarse-grain)活动。多工处理的例子很多,例如,一边听音乐一边上网或进行多页浏览(现代的多页浏览实现方法将针对不同的页面分支出不同的进程。)。
因为多工处理完全取决于并发任务的数量和属性,所以并没有类似Amdahl定律一样的数学公式来帮助我们确定其加速比。我们需要设法找到貌似合理的、能够把下一代2GHz双核心处理器发挥到极限的用例,一边听音乐一边做其他事情当然是一个很普通的用例,但是播放音乐甚至播放资料流程的工作量并不是很大。
今天虽然有很多Widget微件生成多工处理请求,但不幸地是,这些程序的代码量还是很小,甚至不能接近一个单核心处理器的满负荷。把手机视频转码在外接显示器上播放同时浏览网页或玩视频游戏是一个任务量很大的多工处理用例。
不过,行动平台的多媒体功能多数是采用硬件加速技术,否则很快就会把电池用尽,无需考虑双核心与四核心处理器。总之,很难发现足以激励人选用四核心的平行用例。
时机尚不成熟
按照PC产业的市场发展轨迹,部分行动产业将很快进入四核心处理器平台时代。「四大于二」是一个非常有效的营销口号,然而对终端用户来说,事实并非如此。
正如本文所述,四核心处理器可能会对使用者的成本和性能感觉构成负面影响。当然,某些高阶小众市场或特殊使用场合不会受此影响,然而,事实上,今天的软件的平行化程度还是不够高,此时选择四核心处理器不是明智之举。
只有软件改进了,才是选择四核心的正确时机。目前,意法·爱立信宁愿集中精力优化速度更快且功耗更低的双核心处理器,我们相信这将会给大多数消费者带来更切合实际的好处。
附件: 您所在的用户组无法下载或查看附件


本帖最近评分记录
  • s2 激骚 +3 精品文章 2011-12-17 12:27
  • arcwater 激骚 +1 最骚 Rated by wap for mark 2011-12-16 17:57

TOP

看见数学公式脑袋疼



TOP

关键是,nv、苹果、三星、德仪、高通的四核开卖的时候,意法的东西还在实验室


TOP

意法的意思是他们压根就没想上四核,因为四核的需要软件具备70%以上的并行度,在目前软件并行度普遍不高的时候很难体现出四核的性能优势

TOP

posted by wap, platform: Nokia (E71)

@arcwater mark

TOP

所以一干Arm众就洗干净脖子等着Atom等高性能内核杀下来吧。堆小核而弱的核心是邪道。

TOP

很难发现足以激励人选用四核心的平行用例。

TOP

引用:
原帖由 dboy99 于 2011-12-16 17:50 发表
意法的意思是他们压根就没想上四核,因为四核的需要软件具备70%以上的并行度,在目前软件并行度普遍不高的时候很难体现出四核的性能优势
四核并不比双核贵,即使目前支持软件不多同样的钱为什么不选择四核?

除非现在意法就能把高频双核A15拿出来,否则都是在放屁

TOP

意思是不该上4核a9
应该直接双核a15吗

TOP

posted by wap, platform: UC

意法的意思是在可见的将来里绝大部分的移动应用的并行度都不会达到70以上,所以他们的目标已经确定为开发更高效能更省电的双核架构移动设备处理器

我是比较认同这个观点,现在pc中四核已经很普遍了,但是除了压片之外能用得上四核的普通应用程序实在少见,行业软件也只是部分为多核做了优化。

本帖最后由 dboy99 于 2011-12-17 13:37 通过手机版编辑

TOP

posted by wap, platform: UC

风怒了,编辑掉

本帖最后由 dboy99 于 2011-12-17 13:39 通过手机版编辑

TOP

引用:
原帖由 dboy99 于 2011-12-17 13:33 发表
posted by wap, platform: UC

意法的意思是在可见的将来里绝大部分的移动应用的并行度都不会达到70以上,所以他们的目标已经确定为开发更高效能更省电的双核架构移动设备处理器
这种话看似有道理可仔细分析并没有意义,现在PC上面我也可以说70%的应用软件连双核都用不到,那是不是大家买的多核心CPU都浪费了呢?

要看有没有用并不是看软件支持总量,而是要看日常使用最多几种软件对多核支持度如何。就拿web来说天生支持多线程,html5和flash更不用说。游戏现在也有越来越多支持四核。android更是一个多线程多任务的操作系统。

更重要的一点是,现在有四核A9现成产品,价格不比双核A9贵。拿一个空气去对比实际产品这实在太扯淡了

[ 本帖最后由 u571 于 2011-12-17 13:41 编辑 ]

TOP

posted by wap, platform: UC

四核a9其实是比双核a9贵的,起码核心面积就大了一倍,成本不可能小。
可以这样假设一下,同等核心面积下,四核a9是否能赢双核a15呢?我是倾向于后者

TOP

引用:
原帖由 dboy99 于 2011-12-17 13:46 发表
posted by wap, platform: UC

四核a9其实是比双核a9贵的,起码核心面积就大了一倍,成本不可能小。
可以这样假设一下,同等核心面积下,四核a9是否能赢双核a15呢?我是倾向于后者
TF201售价并不比双核A9平板更贵,单单谈论芯片面积tegra3比A5和猎户座都要小的多,尽管tegra3实际上是一个五核心CPU。

ARM的核心相比X86来说小的多,多核+低工作频率更适合移动平台,高通,NV,三星这三家主要ARM厂商都有四核产品/计划。

由于移动平台对功耗敏感度更高,PC上都已经走不通的高频路线还能在手机平板上延续吗?

TOP

posted by wap, platform: Nokia (E66)
引用:
原帖由 @u571  于 2011-12-17 13:40 发表
这种话看似有道理可仔细分析并没有意义,现在PC上面我也可以说70%的应用软件连双核都用不到,那是不是大家买的多核心CPU都浪费了呢?

要看有没有用并不是看软件支持总量,而是要看日常使用最多几种软件对多核支持 ...
不能用桌面系统进行对此。文章一开始提到的功耗问题对于台式机用户来说是可以忽略的,但是对于移动用户来说是非常重要的。四核的功耗大于二核,而性能又没有取得成比例的提升,对于用户来说这就不是好的产品。

TOP

 22 12
发新话题
     
官方公众号及微博