多核的多重挑战—新联盟在编制多核通信API的规范

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:asa333
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文从定义、结构差异、CAPI以及嵌入式软件的角度介绍了多核处理器技术。
  关键词:多核;对称;非对称;CAPI
  是对还是错?目前所称的多核处理器仅是处理器厂家和IP供应商为多卖芯片和内核而制造的过渡性热炒。将单核直接倍增用于台式计算机及服务器的这种多核处理器芯片的所谓开发技术也在直接推向嵌入式系统。如果相信会刊上的这类关于多核处理器的言语,那么等将来有一天知晓对多核处理器性能的真实要求时,定会大为震惊。真实的多核处理器原本指的是一种关于未来微处理器的新技术。目前多核的欺骗确实能够多卖芯片和内核,而且在性能和功耗方面也能够表现出某些期望的实用效果。但不幸的是,多年来用于台式机和服务器中使用上述直接的或称无痛倍增式的多核技术对于嵌入式的使用帮助有限。为深入研究新型多核结构的挑战,最近一些公司成立了一个非营利性的多核联盟的组织,其宗旨在于协助嵌入式工业解决弹片式多核处理器的共性难题。该组织着手解决的第一个挑战是弹片多内核之间的通信难题。现正在开发核间通信用的API规范。因该联盟尚未正式获准注册,所以其成员现在不便公布。然而,提出申请并已缴纳首次会费的公司至少已有15个。
  
  多核的多重含义
  
  首先应该给多核下个定义。多核存在多种定义,尤其不幸的是,多核已被市场频频滥用,乃至被责之为一种骗局。
  多核联盟认为单片的多核器件应当存在两个及以上的自治处理单元。自治或自主是处理单元的重要条件。按此定义,凡主机流程中有协处理器的系统便被排斥在多核处理器之外,而与主机连接着执行自己指令流的DSP核的则是多核系统。这是定义中的简明部分。
  若论及AMP(非对称处理)与SMP(对称处理),同构与异构,存储器共用与分布等结构形式,简明定义将被突破。
  多核处理中的SMP是含有两个及以上的场合,各有同样芯片,同结构的核,运行同样的软件。SMP可共用内存及缓存粘接部分。SMP使用同构的核,尽管同构的内核再不必一定是SMP。若内部是同构的核,但各核运行的不是相同的操作系统,那就变成非对称多处理(AMP)。AMP系统也可以用异构的核和共用存储接口或使用分布存储器。有时,AMP与NUMA(非均一存储器结构)可以看作同义词。任何情况下,同构或异构核都可构成多核处理器,多核处理器都可以按SMP(对称)或AMP(非对称)模式运行。
  往后,弄清每个嵌入式多核处理器的构成十分重要,因不同要求有不同的构成。Freescale和Intel以高端的工业和通信应用为目的,选用同构双核的嵌入式多核结构。Freescale、ST和TI公司以各类多媒体消费电子产品为目标,使用异构多核嵌入式芯片,如Freescale的i.MX和ST的Nomadik。其他公司,如PicoChip Design和Connex Technology公司构建的则是具有数十、数百乃至数千个核的同构或异构多核处理器。这些本质上差异巨大的多核处理器,在软件编程和硬件的高并行度方面都更加的专业化。
  
  AMP与SMP更多的差异
  
  关于AMP或SMP的优缺点的争论,从通用计算领域的多计算机与多处理器开始,长期以来一直在争辩和磋商。虽然持续了数十年,依然没见明确的赢家浮出水面。两种方案的上下高低说不清道不明,最后由应用的需要为准各行其是。现在,这场争论又传递给了嵌入式。
  使用SMP,从应用角度看,操作系统掩盖了CPU结构的优劣并提供一些附加的功能。能够支持SMP的操作系统有许多,包括实时操作系统。其中既有商用的又有开放源码的。SMP的编程较AMP容易,尽管SMP的多线程编程也较难。已知软件的价格在项目开发中占有相当的数目。另外,SMP因硅粒面积较大、耗能和保持高速缓存的粘合复杂等问题,素有高价方案之名。又有连接带宽、同步、锁定等因素加大内核的开销,使SMP的可伸缩性受到限制。再有,移动式的SMP系统,因需高度使用片上的网络,多核的频繁连接耗费更多宝贵的电力。高速缓存的粘合,引发SMP系统产生不可预期的存取延时,使一些实时应用系统无法接受。SMP系统较长的存取时间,即使可以采用硬件的多线程进行弥补,依然会产生性能的下降。SMP系统的伸缩性的不良,当核的使用数量增加时,会有更多的核由于等待线程资源而使性能下降。
  AMP,在有硬件支持的条件下,功耗、硅粒面积等方面有所改善,效率比SMP高。按传统的说法,AMP的编程较难。一般来说,将应用程序分割成松耦合的程序段,再映射给分布的AMP硬件结构并非是一件轻松的事。一些倡导者曾争辩说,应当给AMP创造能够优化程序分段的健康生态环境。然而想要将多个程序段汇集成具有竞争能力的整体,依然并非易事。但是,当片上的的多核数目增长到一定程度时,采用SMP和AMP混合方案似乎更为可行。
  
  多种存储器结构也是问题
  
  多核结构也可以按存储器结构形式和通信采用的机制来讨论。
  对于共用存储器结构多核系统,传统上多采用SMP编程模式。每个核都可以访问到全局地址空间中的所有存储器。访问共用存储器的典型方法是通过总线,使用查询的控制机制,来避免多个核同时访问同一个存储器。为使片上的每一个核都能够访问到所有的存储器,这是一种最直接明了的方法。另外,共用存储结构可以使用引用方式传递数据,数据不必真实地移动。当太多的核同时存取时,共用存储器会变成瓶颈。传统的SMP编程模式,不太能够适应多核系统处理器。因为SMP传统编程模式假定,有均一的存取结构和缓存等机制。SMP的功耗不理想,在伸缩方面也达不到嵌入式多核系统期望的数十乃至数百个核的水平。SMP频繁地同步对于多数嵌入式多核系统是过度的耗费。嵌入式多核系统需要适合流式的通信和编程,而SMP对于流模式却笨拙不灵。
  分布式结构包括从全球英特网、广域网(WAN)到局域网(LAN),服务器、含有各种处理内核的单芯片器件。对于分布存储的多核系统,各核都有自己的局部存储器。尽管可能有全局存储地址空间,但需要各种形式的信息传输和资源同步机制才能通信。具有自己局部存储器的核不必与其它核分享存取以求效率与支持伸缩。当某个核要求从其它单个或多个核取得数据或命令时,必须在它们之间进行同步,而且数据必须物理地在处理器间移动而取代引用。并行编程支持便携形态的信息传送。分布式的编程通常比多线程(但它在SMP系统中能工作的很好)编程容易。然而,信息传输所需代码大于并行传输的共用代码。信息传输方式最初就是为串行通信过程(CSP)而设计的。从串行通信的字眼上就可联想到,它不会运行于现代要求紧凑代码的科学应用上面,更不用说用到嵌入式可伸缩的系统上了。   为了支持这些多种不同存储和通信结构,多年来开发了多种API标准。其中有称之为OpenMP(开放多处理)和MPI(信息传输接口)的两个标准。
  


  MPI是大范围分布计算系统中广为应用的信息传输API。它可用于多种分布的存储结构,因而也适宜于移动系统。每个运行的硬件都可自行优化,因而它又是高速的。MPI虽然功能强大,但是复杂。要是把各种功能都发挥出来,单片多核上的内存远远不足,同时计算开销之大也使存储系统时延过大。
  
  开发更快的通信API
  
  处理器间的通信标准尽管很多,但是没有一个是为近邻分布(紧耦合)、存储紧凑、性能约束苛刻的嵌入式多核的系统所设计的。在嵌入式世界里,多数的应用在性质上是非对称的。多核系统可以在同一个单芯片内使用异构的核,或是在同构核上运行不同的操作系统而成为非对称结构,或者在同一芯片上令二者共存。
  为应对向多核系统的转移,业界同意抽象化并发概念,令其通用、简单、有效,直观地表达为一组编程用的API。这即是多核协会的宗旨。编写嵌入式多核系统的规范时,应对资源管理(核、存储、连接、I/O),核间通信,和片内行为的同步等有所陈述。编写API不应只针对单一操作系统,或单一的SMP操作系统。当异构多核系统跨越多个核运行多个操作系统时,需要考虑任一操作系统均不能操作的资源。硬件加速器不运行任何操作系统,仅依靠当时运行核的操作系统对它的交互作用来工作。硬件加速器更加重了这种系统的复杂性。
  联盟已经着手编制关于嵌入式分布基础通信方面的信息传输和资源管理的API。内部称它为通信API(即CAPI)。CAPI的目标系统包括多维异构核,片上连接,存储器,操作系统,软件开发工具,和编程语言。CAPI是关于API的编写规范,而并非是其实现。联盟的成员可以自由地参照它完成自己所需处理器结构和选用操作系统的CAPI实现。
  尽管有了多处理器编程的MPI和OpenMP工业标准,但其初始目标尚只集中于大型SMP分布系统及个别特定的应用领域(如科学计算)。
  关于伸缩性,其CAPI的限制比其他标准的目标更多一些。再有,对比于应用方面,其CAPI更为通用化一些。
  如图1所示,CAPI形成单独的一层,其上可以是应用层或开发者构建的抽象层。为性能最佳,将核间通信、同步和资源分配划出,由应用层和CAPI层直接交互,跨过一系列耗时的操作系统的调用。CAPI有一长串要支持的独特性能和函数。
  
  编写软件想着未来
  
  许多支持SMP的RTOS透明地平衡多处理器间的工作负担,免除了再写这部分软件。联盟希望把这种方便也引入AMP系统,尽管开发这部分软件并不轻松。开发应用软件的主要挑战在于设计的重用和程序的快捷。编程人员在编程时更多地致力于优化、快速和重用,并不关心对不同硬件结构适应性、市场的需要和工业标准的要求等等。一个普通的硬件的改变可能牵联到增加很多个核,甚至不同的处理器。相应地,还会涉及软件的生命周期。开发者需要维护巨大的代码库和曾经延续过多少代的产品演化。对于主机的处理器,若使用的是相当稳定和标准化的操作系统,将有助于开发可重用和可重复映射的软件。但是现在的焦点已转移到居于操作系统之上的应用构架。多媒体的应用构架如OpenMax,GStreamer和Di-rect Show对于编写软件有非常大的帮助。然而,多数嵌入式的软件是为特殊功能而运行在专用的处理器上,通常并无符合标准的操作系统。在如此情况之下,映射和快速都变成十分艰难的问题。今天,多数嵌入式应用都存在固有的并行性,等待着程序员去开发。它们向SMP结构映射比较容易,而对AMP至今仍是挑战。新浮出水面的进程间通信(IPC)标准解决这类问题很有帮助,多核联盟也正在开发中。它可以编写出将来对现行结构上的旧软件能够予以修改的软件,并且将其转移到AMP。若使用CAPI则必须修改软件,为使得移动容易,可能还需重新构建成松度的耦合才行。CAPI还将提供源代码的移植和重用,令结构独立和伸缩。甚至还可以设想,用这些特点将CAPI变成一个构架,用于评价程序套件EEMBC之中。
  面向消息的中间件能增加应用的互操作性、移植性和灵活性。它能够将应用程序在多个异构处理器核之间进行分布。它能够通过将每个操作系统的细节对多操作系统应用中的其他操作系统隔离开来,减少编程的复杂性。
  实现消息传送中间件的典型形式,是采用中间件的软件堆栈。CAPI是使用消息传送API中间件的一例子。尽管CAPI的重要性极其关键,但它处于中间件堆栈的底层,堆栈中的一切高层中间件都是以它为基础演进而来。PolyCore软件的Poly-Messenger是消息传送中间件的一个例子。等CAPI完成之后,期望为PolyCore能够提供一套具备映射和配置能力的Poly-Messenger CAPI。它为多核系统提供的是一套统一的API。只要再将硬件各异和软件各异的组件都抽象化之后,它将提供从双核到数百个核的高效伸缩能力。
  不同的嵌入式应用需要不同的并行结构。应用及SoC会越来越复杂,软件也将发展成包含多种算法的并发运行及它们彼此间的协调。视频解码算法将要求有驱动多核的能力。大量的应用将要求多核的处理器。其中许多应用使用多核的SoC是唯一的选择。
  多核联盟已不可避免地被卷入多核调试领域。有许多厂家宣称他们的开发工具内部支持任何嵌入式处理器组合的多核和多处理器系统。如现存的方案中包括有JTAG探头及另一端的服务端子,再备有多个因处理器而异的开发调试专用的适配器。它们虽可勉强调试多核系统,但是并不全面,系统多于双核就不行了。如对于一个16核的系统想象中就将用16个调试器。多核联盟的计划中,准备开发一个标准的调试样机及相应的API,希望厂家能够参照研制出统一的多核系统调试器。
  为了迎接即将到来的巨型多核革命,业界必须携起手来推进多核的生态环境。多核联盟欲将操作系统的厂商、中间件提供商、处理器厂商、EDA厂商、应用开发者、OEM厂商及其他集聚一堂,鼓舞信心,坚定信念,齐心协力,拟定一个符合共同需要的规划蓝图,保证其实施。新事物的诞生,初始虽慢,继之加速。多核联盟已经有了初始者们奠定的坚固基石,已经着手处理关键的挑战,随着事业的发展,后继者的涌现,任重道远,前途光明!(梁合庆译自《Microprocessor Report》)
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
全球FPGA整体市场最近几年迅速扩大,其中与嵌入式FPGA处理器相关的DesignWin(设计中标)数量正在迅速增长,潜力巨大。就像打开潘多拉的盒子,有了可以运行操作系统或实时操作系统的处理器内核,相信FPGA正在真正意义上大规模进入嵌入式设计领域。    从Xilinx、Altera到Actel、Lattice,FPGA提供商都已经有可在FPGA逻辑模块旁实现的“硬”核,或者可以直接在FPGA结
期刊
近日,“Linear technology,杯高校模拟设计应用竞赛”圆满结束,全国各大院校的百余件模拟设计参赛作品经过专家评审,最终评出来自北京理工大学禹健的参赛作品一高性能电容传感器检测系统获得一等奖,大赛还评出二等奖1名、三等奖3名和若干优秀奖。为了深入了解本次大赛,本刊采访了大赛主要评委、凌力尔特有限公司(LinearTechnology)应用技术工程经理卢志豪。  本次大赛的目的是鼓励大学
期刊
摘要:本文介绍的ESL技术为传统的DSP系统设计人员提供了有效的FPGA的设计实现方法。  关键词:DSP;FPGA;ESL  传统的、基于通用DSP处理器并运行由C语言开发的算法的高性能DSP平台,正在朝着使用FPGA预处理器和/或协处理器的方向发展。这一最新发展能够为产品提供巨大的性能、功耗和成本优势。  尽管优势如此明显,但习惯于使用基于处理器的系统进行设计的团队,仍会避免使用FPGA,因为
期刊
泰克公司  摘要:本文简要介绍了解决数字RF测试的实时频谱分析仪技术以及数字RF测试涉及到的不同应用领域。  关键词:数字RF;测试;实时频谱分析仪  无线频谱是一种稀缺的资源。当前频谱分配被公认为效率不足。分配的频谱在大部分时间利用率低,并存在干扰问题。数字RF技术使得随时间变化的技术能够更有效地利用可用的频谱,避免干扰,保证无缝操作。例如,WLAN信号寻找干净的频率,调整调制类型,以最好地利用
期刊
摘要:本文提出了一种傅立叶光谱仪中USB数据采集系统的简易实现。  关键词:USB;微控制器;多通道;数据采集    引言    在微机测控系统中,经常会遇到需要输入各种模拟信号的情况,这时必然要进行A/13转换。有时在某些实际项目中,为了采集某些模拟量而选用一些专用的数据采集卡,不仅使得系统更加复杂,不容易实现功能扩展,还增加了系统设计成本。另一方面,USB接口操作简单越来越得到广泛的应用,因此
期刊
摘要:根据当前虚拟仪器技术网络化的需求,提出了一种利用Labwindows/CVI多线程技术、ActiveX、DCOM技术(分布式COM)和SBS实时光网开发网络化虚拟示波器的实现方法,该方法在工程实践中得到了很好的应用,并为今后搭建实时虚拟仪器测控网络提供了依据。  关键词:Labwindows/CVI;SBS实时光网;多线程;ActiveX;DCOM;虚拟仪器  随着计算机软硬件技术不断发展与
期刊
3G WCDMA/UMTS刚开始在全球范围部署,热衷于新技术的人士就对这曾经一度热门的新技术失去了热情,转而开始关注高速下行分组接入(HSDPA)技术的美好未来了。技术行业似乎总是如此的风云变幻。一旦我们确信部署某种技术是可行的,我们就会开始寻求下一个重大的创新突破,HSDPA正是如此。因此,在加入论战之前,请允许我说明一点:问题并非在于HSDPA是否会对UMTS取而代之,而是HSDPA是否会顺应
期刊
摘要:本文讨论了LDO的特点以及RF电路对LDO的电源抑制比和噪声的选择。  关键词:低压差线性稳压器;电源抑制比;噪声    引言      便携产品电源设计需要系统级思维,在开发由电池供电的设备时,诸如手机、MP3、PDA、PMP、DSC等低功耗产品,如果电源系统设计不合理,将影响到整个系统的架构、产品的特性组合、元件的选择、软件的设计和功率分配。同样,在系统设计中,也要从节省电池能量的角度出
期刊
10月10日,无锡太湖畔,意法半导体公司(ST)和海力士半导体为总投资额为20亿美元的存储器芯片制造厂举行了正式的开业典礼。  新工厂负责制造NAND闪存和DRAM存储器芯片,在制造工艺和产品开发上实现优势互补。一方面将加快ST在NAND闪存市场的前进步伐,同时还将为嵌入式系统厂商提供能够与闪存叠装在一起的具有成本竞争力的DRAM芯片。另一方面,新工厂将有助于扩大海力士的12英寸生产线的产能,加强
期刊
THz电磁波的应用前景    THz电磁波段处在亚毫米波与远红外线之间,显然低端THz波具有微波辐射特性,高端THz波具有光波辐射特性,加上它是非离子化辐射和占有极宽波谱,它的应用前景是非常可观的。例如THz波能够透过许多非导电材料,包括衣料、纸张、木材、泥土、塑料、陶瓷。THz波还可穿过云雾,但被金属和水吸收,大气层对它也是强吸收体,故THz辐射的传播距离很短,限制它在地面的视线距离通信应用。 
期刊