现在想象一下:先不考虑阿姆达尔定律(它用于发现仅当系统的某一部分改进时系统的最大期望改进量),以及不限制裸片尺寸。从应用编程的角度来看,理想的多内核架构应该是同质(对称)的,因此依赖性并不建立在一个特殊的ISA基础之上。IBM、索尼和东芝联合开发的Cell微处理器采用了异质架构,尽管它并没有采用单一的ISA。目前对多内核处理器的编程还是相当费劲的,因为软件开发人员编的代码在很大程度上与架构有关。Raza微电子公司的首席架构师Dave Haas表示,当你可以避免的时候,你应当小心地不要将自己归附到某个特定的供应商或架构,从而使同质架构在有选择时成为一个更安全的选择。
如果不考虑最佳的方法,那么对于今天的嵌入式和通用系统设计师来说还是有一些选择。如果你从事嵌入式领域的工作,那么你会有好几种异质多内核处理器选择。如果你从事的是通用领域的工作,那么你可能只有一个同质的多内核处理器选择。
编程决策指南
在给多内核处理器编程时,现有好几种折衷方法可以让晶体管发挥出最大的性能(见表)。例如,有一个线程对内核的折衷方法。MIPS公司首席架构师Kevin Kissell指出,你必须首先通过分析你的系统来决定哪些应用程序可以被分解成众多的子任务或线程。
“单片多内核处理器的并行化常常是可能的,但很少是容易的,而且开发一个较大的科学代码通常比开发一个较小的嵌入式实时应用程序要容易些。”Kissell说。如果希望进一步节省裸片面积,可以考虑采用多线程架构。该想法的意图是最大化每瓦的性能,以及选择可以充分利用存储器和功率预算的架构。“当单线程内核由于存储器时延和缓慢的功能单元而无法充分利用其管道时,多线程可以在面积相对温和增加的情况下提高吞吐量,而且在许多情况下可以取得超线性的性能。”他说。
举例来说,你可以在增加15%的CPU和缓存子系统面积的情况下将吞吐量提高30%。“如果丢失带宽的恢复允许多线程内核运行在一个比等效单线程内核更低的频率上,而且仍能满足性能目标,那么这就相当于实现了功率优化。”Kissell表示。
因此,如果你的应用不需要大量的共享数据或指令,那么分布式存储器方案可能就是最佳选择。“每个处理单元的存储器容量可以针对其专注任务进行调整。”Kissell说,“而且你可以为不同的处理单元使用不同的处理器频率、不同的处理器型号、甚至不同的处理器架构,以取得最佳的面积/功耗/性能值。”但如果有大量的代码和/或数据共享,对称配置可能就是你最好的选择。Kissell指出:“与分布式存储器模型相比,这一方法增加了复杂性,并损失了一点峰值性能,因为共享存储器阵列会有一些竞争,而且各个内核之间必须使用缓存一致性协议,以确保各个内核在每个存储位置能看到相同的值,不管是否存在缓存。”
但AMD公司的高级研究员Chuck Moore认为,最终用户可能对多内核技术抱有不正确的期望。“多内核架构对提高吞吐量和响应能力非常好,但由于大多数应用仍是串行的,因此它们实际上不会推动多内核架构的发展。”Moore表示,“随着时间的推移,将会有越来越多的并行应用出现,但这需要的时间似乎比大多数人认为的要更长。”
不同的开发观点
当谈到多内核处理器时,所有的“教练”都相信他们的团队采用了最好的开发战略。以AMD和英特尔为例,众所周知它们在下一代多内核处理器上采用了截然相反的开发战略,英特尔公司坚信同质内核是正确的方向,而AMD认为未来的方向是异质内核。
“明天的多内核解决方案将是异质的,”AMD公司的Moore表示,“它们最初将包含架构上兼容但性能不同的内核,但未来将包含更多专用和更高功效的硬件,这些硬件可通过精心定义的应用编程接口(API)进行访问。”
英特尔和Vivace半导体公司在针对嵌入式应用领域的多内核处理器方面的观点也完全不同。“英特尔公司的嵌入式与通信部门估计,在今后三到四年中该部门开发的所有多核平台中,使用不对称多处理(AMP)的多核设计的比例约为10%。”英特尔公司嵌入式与通信部门平台解决方案架构师Edwin Verplanke表示。“一旦内核数量达到或超过32个,采用AMP的设计可能就会增加。”Verplanke补充道,“我们的一些客户拥有专有的且通常是实时的操作系统,它们不能提供对称多处理(SMP)。这些客户可能对在不同的内核上运行一些特定功能感兴趣。这些功能包括转发引擎、加密、模式匹配等。”这与Vivace半导体公司总裁兼首席执行官Cary Ussery的观点绝然相反。他认为,AMP约占所有嵌入式多核设计的90%。令我们感到奇怪的是,为什么来自不同机构的两位专家对市场抱有全然相反的意见?
系统优化
一旦你为下一个系统选择好架构后,假定是一个多处理环境,你很可能需要回顾一下你的代码,以决定如何自然地利用多核和/或多线程的优势。
异质多处理架构要求预先理解如何对应用代码做出最佳划分,以充分利用可用的线程/内核。换句话说,如何将目标程序最佳地划分成较小的块?同类多处理方案一般没有这种要求,因为操作系统可以根据某些基本的任务定义和预先计算执行大部分的划分工作。
今天的部分并行性是虚拟的,并知道何时使用它。根据英特尔,如果你的现有代码有较低的性能要求,那么它可能就是一个很好的虚拟化对象。但Sun公司微电子部门负责Niagara项目的首席技术官Rick Hetherington提供了一个略微不同的观点。“对单个内核进行虚拟化没有任何意义。”Hetherington说。当然,Sun的看法可能更局限于通用计算领域。嵌入式领域在复杂度允许的情况下允许对单个内核进行虚拟化。
如果你对多处理环境不熟悉,你可以考虑一步步用“what-if”方法来找到瓶颈和最佳并行化方案。你还可能会发现,需要将你的代码移植到能够充分利用多处理架构的标准操作系统,如Linux。如果移植数百万行代码行不通的话,系统管理程序也许是你最好的选择。另外一种方法是从内核上卸载通用的任务,如数据加密和解密,从而释放出内核资源去处理更通用的任务。
多核的未来
马萨诸塞州科技大学教授、半导体新创公司Tilera的首席技术官Anant Agarwal在今年于美国圣克拉拉举办的Multicore Expo会议上指出,编程和调试多核处理器的工具还处于“黑暗时代”。很显然,多核处理器上有不少未被利用的内核和线程在等待着工作。但问题并不仅仅与工具有关。“第一代多核处理器只是将一组内核简单地集成进系统级芯片(SoC)。”AMCC解决方案架构总监Dan Bouvier指出。由于对付多处理和存储器瓶颈需要不少开销,因此这样做反而会降低性能。“新一代的多核处理器需要更多地关注处理器间的动态变化以及它们对软件配置和性能的影响。”Bouvier说,“在非对称多处理器子系统中集成更上层(第3层以上)加速器的主要挑战是缺少标准和API。”
采用OpenGL的计算机图形有这样的标准,OpenGL标准定义了用于产生2D和3D图形程序的交叉语言和交叉平台API。遗憾的是,由于没有在由跨领域专家推动的开源API基础上开发的工具标准,我们只能使用现有的工具,也许我们需要重新考虑我们的设计策略。
“编程模型和软件堆栈是将多核架构升级到下一层次的关键使能因素(或抑制因素)。”AMD公司的Moore表示,“通过与软件团队的紧密合作,我们将提供相应的解决方案,它可为用户带来巨大的价值。”
在软件领域又有哪些新进展呢?“随着多核、一致性和均衡的处理器间通信方案被采纳,多处理器设计正在发生根本性的转变,所使用的软件范例和模型也在发生相关变化。”ARM公司负责多处理业务的项目经理John Goodacre表示。上述转变不仅导致了嵌入式领域的全面断裂,而且也迫使系统工程师重新考虑决策过程。“随着SoC设计师考虑从ARM+DSP到多核+DSP+加速器+RISC的转变,以及存储器一致性、连续性和任务同步的挑战,硬件和软件将发生根本性的改变。”Goodacre指出。
部分这种根本性改变使得系统工程师必须重新考虑他们的设计方法。如果是自底向上的设计方法,其中处理要求基于性能、存储器和其它与系统有关参数决定,那么这可能导致下游出现灾难性问题。
“如果你在考虑商业应用软件,你应采用自顶向下、从软件到硬件的考虑方式。在嵌入式领域,如果我们仍然采用从底向上的考虑方式,那么因为产品推出太晚将造成开发进度缓慢并丧失市场机会。”Virtutech公司行销副总裁Michel Genard说道。Genard认为,约有50%的嵌入式设计从未成功,就是因为这种有问题的思维方式,而且设计受性能参数而不是商业要求驱动。“相反,我们需要不断重复硬件和软件开发来加快产品上市。”Genard表示。为了增加市场机会,在软件方面最好考虑系统级虚拟化方法,而不要考虑器件级方法。如果做法正确,Genard表示:“这种方法可以为成功的并行软硬件开发提供必要的速度、灵活性和控制能力。”
本文小结
随着越来越多的硅片采用多核架构,或大或小的公司市场部门都会不断发现它们的使用价值。因此,我们必须支持多核架构,继续开发理想的架构/软件混合方案,才能保持领先水平。
最终所有多核方案都将导致并行编程,并使处理器间通信采用更复杂的架构方案,软件事务存储器也大有用处。Agarwal认为,我们必须改变内核的连接方式,确定理想的资源大小,坚信分布式网络和更小的缓存是未来的发展趋势。
由于有如此多的问题困扰着多核,对新创企业来说就有很大的机会胜出,也许某一天就会发现所有这些未用线程和内核的用武之地。
关键字:架构 异质 编程 晶体管 线程 应用 系统 编辑:汤宏琳 引用地址:https://news.eeworld.com.cn/news/control/200803/article_18155.html
上一篇:Silverthorne上市,MID时代将来临
下一篇:Intel 2008年下半年推出六核处理器
推荐阅读
最新视频课程更多
- CGD和Qorvo将共同革新电机控制解决方案
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 贸泽开售可精确测量CO2水平的 英飞凌PASCO2V15 XENSIV PAS CO2 5V传感器
- 玩法进阶,浩亭让您的PCB板端连接达到新高度!
- 长城汽车研发新篇章:固态电池技术引领未来
- 纳芯微提供全场景GaN驱动IC解决方案
- 解读华为固态电池新专利,2030 叫板宁德时代?
- 让纯电/插混车抓狂?中企推全球首款-40℃可放电增混电池,不怕冷
- 智驾域控知多少:中低端车型加速上车,行泊一体方案占主体
- Foresight推出六款先进立体传感器套件 彻底改变工业和汽车3D感知