最新热门芯片大会 多核处理器瞄准网格互连
扫描二维码
随时随地手机看文章
在最近的热门芯片大会(HotChipsconference)上,新创企业Tilera公司发布了其大规模并行通用嵌入式处理器Tile64。据称,该芯片能突破性的使具有几十个内核的CPU更易编程。
不少初创公司已经开始涉足多种大规模并行架构,试图抢占传统上由FPGA和DSP占据的高端市场,然而迄今为止几乎还没有谁已获得了足够的市场动力。但是,Tilera公司声称自己的设计已经在10多个主要的小型或中型网络及视频OEM厂商那里赢得了订单,其中包括3Com公司。
Tilera公司首席技术专家AnantAgarwal长期在麻省理工学院(MIT)从事多内核研究工作,他承认,其公司的工具并非是解决大规模并行架构编程这个计算机科学大难题的灵丹妙药。“多内核编程中不存在一劳永逸的方法。”他说。
不过,该公司似乎即将一矢中的。“很多顾客都采用了现成代码,能在几分钟之内对其进行编译和运行。”Agarwal透露,“我们的网格互连与软件工具都极具震撼力,适用于所有的嵌入式应用。”
Tilera公司的做法非常简单易懂。其单独内核均是完整的通用处理器,每个都能运行对称多处理(SMP)版Linux。每个内核还具有一个嵌入式交换器,可以连接到裸片上的任意其他内核,从而在一个网格网络(meshnetwork)上进行互联。
这样一来,OEM厂商就能将其应用方便地连接到一个或几个内核上。然后,他们可以利用该新创公司的优化工具,来确定程序及数据流通信库中存在的瓶颈,以便增加更多内核来达到所需的内存或处理带宽。Agarwal表示,在一些诸如数据包嗅探器以及数字视频编码等应用中,客户已经可以使用裸片上的全部64个内核。
“我看到的每家新创公司都需要采用两步走的软件开发流程,但听起来流程应该可以得到简化。”市场调查公司ForwardConcepts总裁WillStrauss言简意赅地发表了对该款芯片的评价。
Strauss说,Tilera的方案很独特,这部分在于其每个内核都拥有支持完整操作系统所需的中断和缓存结构。其他公司则倾向于使用简化的内核以及新的编程方法。
“他们的产品极具价值,因为它花了200美元,用五个TI最好的DSP来处理H.264的实时解码。”他补充道。
Tilera基于Eclipse的开发环境目前支持Linux和标准C编译器。未来的软件版本将支持C++,以及其它语言和操作系统。
“这些大规模并行处理器的成功归结为软件工具的有效性。”TheLinleyGroup总裁LinleyGwennap表示。
“你可以在一个裸片上放置数十甚至数百个内核。这些内核的互连存在一定难度,但真正的问题是开发一种方式,使软件可以利用所有的处理器内核。”Gwennap指出,“很难找到一种能利用多个处理器的自动化软件。”
的确,即使热门芯片大会的一名组织者也表示,今年的活动关于多核芯片的论文特别多,但有关多核编程模型的创新性工作则太少了。
迄今为止,Tilera的客户中仅有TopLayer公司愿意谈论使用该芯片的经验。该公司首席策略官MichaelPaquette透露,TopLayer公司计划在其下一代网络安全设备中采用Tile64芯片。
“我们目前的架构非常适合Tilera方法,因为它是由ASIC和FPGA组成的,这在本质上来说就是一个多处理器系统。”Paquette表示,“在我们的下一代平台中,我们打算把应用从这些处理器中的一部分转移到多个Tilera内核。”
TopLayer公司的研发人员才刚开始采用Tilera工具,将其应用扩展到处理器中的全部64个内核。该公司之所以选择Tile64,部分原因是Tilera公司计划在2009年提供120个内核的产品,这为那些网络设备年发货量小于10,000部的OEM厂商们的下一代设计远景增强了信心。
具有讽刺意味的是,去年热门芯片大会上的主要论文也关注于大规模并行嵌入式处理器。与Tilera类似,初创的Ambric公司正在瞄准高端数字视频与网络处理,该公司明白,其成功的关键是自己的并行编程软件。二者的目标虽然相似,但是实现方法却有所不同。
Tilera在网格上放置了64个完整的处理器内核,并采用较为传统的软件模型进行传输和优化。Ambric公司利用了一种新颖的寄存器设计,将其作为其360个简化RISC内核与异步通信信道(在Kestrel芯片内连接RISC内核)的一个组成模块,。
Ambric的编程模型要求开发者利用Java子集在固定层中创建一组定义严谨的对象,以及允许对象间相互通讯的消息机制。Ambric使用了一个Java子集,其中去掉了虚拟机、垃圾收集和浮点支持,同时增加了处理该公司独特寄存器硬件的类库。合成的软件通过Ambric工具被映像到其芯片硬件上。
“我们认为,首先必须定义好适当的软件编程模型,然后开发支持电路——这正是我们采取的方式。”Ambric公司研究员兼副总裁MikeButts指出。Butts曾在去年的热门芯片大会上进行论文演讲。
一年过去了,该公司尚未公布任何用户,但是声称已在诸如视频、医疗成像、数据包处理以及国防等“数十个”领域赢得了设计定单,而其中一些公司将在今年年底之前发布其系统,Ambric公司协创人兼行销和业务拓展副总裁JayEisenlohr透露。
“我们的做法是伸开双臂来迎接,而且这样做的确有效。”他说。
Eisenlohr透露,迄今为止,60人的Ambric公司已经筹集了将近2,000万美元,并且至少还要进行一轮风险融资。
[!--empirenews.page--]Ambric和Tilera只是从事新处理器开发的众多新创公司中的两家,这些公司采用新型并行或可配置设计来实现诸如H.264视频编码等应用。还有一家公司CSwitch,也是在2006年成立的。此外,初创的Stretch和StreamProcessors公司正在将其CPU应用于数字视频监控系统。
网格是内核连接的未来趋势
其他公司,例如PicoChip公司、AzulSystems公司以及RazaMicroelectronics公司等,使用多个内核,但一般将其处理器瞄准一系列更受关注的应用,通常包括专用于其领域的硬件加速器等。也有一些公司采用了新型编译器和手写软件的组合,将其作为自己编程模型的一部分。在芯片级,他们采用一系列总线、多个片上网络(或环)和网格来连接其内核。
“我相信多核处理器的未来将采用网格互连。”Tilera的Agarwal表示。
“在一个网格中,你用每片新的网块(tile)来增加对分带宽。在环技术中,增加内核并非个案。”他说,“对分带宽是性能的关键性决定因素。”
Tile64中的每个内核实际上支持五个并行的32位信道,这些信道分别传输中断、内存、I/O以及其它数据流。由于64个内核中的每个核之间有五个双向连接,该芯片能支持32Tbps的总带宽。
即使Agarwal曾开发过第一款多线程处理器架构,但Tile64是单线程的。“线程切换往往消耗大量功耗,且会占用缓存。”Agarwal认为。
Tile64芯片的不同版本运行速率从600MHz到1GHz,平均消耗17-30W的功耗。该芯片集成了四个DDR2内存控制器,高达两个10Gbps的Xaui、两个PCIExpress、以及两个Gb以太网路接口。芯片今年年底将达到量产,一万颗时起价435美元。
在2004年10月创立的Tilera公司是Agarwal先生在MIT多年从事网格多内核架构的产物,包括Raw芯片,这是一款由美国国防先进研究项目局提供部分经费的16内核CPU。迄今为止,Tilera在两轮风险投资中已获得大约4,000万美元的投资。
Tile64把64个通用内核放在一个网格互连上。每个内核有一个网格开关,且该内核上能够运行一个完整的Linux操作系统。