服务器 频道

众核时代 英特尔MARC研究社区落户中国

  【IT168 评论】英特尔在服务器领域的芯片产品有哪些?

  你也许会想到至强、安腾等多核处理器。不过,答案并不完整。实际上,英特尔还有即将面市的MIC(集成众核架构,Many Integrated Core)处理器,以及面向未来前瞻性应用的SCC(单芯片云计算机,Single Chip Cloud Computer)众核并行计算研究平台。

  7月21日,Intel全球众核高性能并行计算研究中国区项目成立大会在江苏无锡举行,正式宣布在中国引入众核研究社区(MRAC,Many-core Applications Research Community),由英特尔(R)中国并行计算中心(ICCPC)运营,以提供代表国内“众核”最高水平的高层信息沟通平台。来自英特尔、中科院、清华大学、华为等机构的国内外著名与专家学者共同探讨了众核并行编程领域所面临的关键性问题和研究方向。

  会后,IT168服务器频道记者就众核应用研究这一话题,采访到了英特尔并行编程器资深专家Tim Mattson和英特尔技术战略资深总监Bob Noradki。其中,Tim Mattson在英特尔工作的18年间,参与了第一个万亿次计算机项目(ASCI Red)、共享内存编程OpenMP API、异构平台的OpenCL编程语言、英特尔48核SCC研究处理器、英特尔首例TFLOP芯片(80核心研究芯片)等一系列重量级项目。Bob Noradki则主要负责英特尔实验室的产品开发及研究技术战略转移。

  同样是众核,SCC与MIC有啥区别

  如前所述,英特尔的众核芯片,包括了MIC(了解2011年英特尔高性能计算研讨会上的MIC内容 )和SCC(推荐阅读:CPU性能不够快 英特尔48核芯片再提速)两种。其中,MIC首款50核产品Knights Corner将在2012年面世,那么,SCC与MIC有什么区别呢?

同样是众核,SCC与MIC有啥区别
▲拥有48个内核的SCC芯片

  “MIC是英特尔推出的一个商业化平台,有明确的产品发展路线图,目前有超过500个工程师在上面工作,同时会把MIC的实验平台发到有潜力的客户手中,比如在中国就有数家。” Tim Mattson谈到,而SCC完全是一个研究性平台,可以把那些还不适合放到商业化产品中的技术放到这个平台上来研究,目前在全球有5名全职英特尔研究人员,同时通过MARC社区合作,吸引了全球来自23个国家92个研究机构的300多名研究人员参与其中。

同样是众核,SCC与MIC有啥区别
▲英特尔并行编程器资深专家Tim Mattson

  另外,与GPU、Tilera等其他厂家的众核产品也不同,48核的SCC主要有两大区别:一是SCC平台非常开放,英特尔将其软硬件技术规范、源代码都完全开放,供业界共同研究;二是SCC提供了非常独特的功耗管理机制,可以通过软件来控制和调整每个瓦块(Tile)和通信网络的频率和电压,让应用和硬件进行非常细粒度的交互,从而最大程度地实现功耗优化。Tim Mattson希望研究人员可以通过这一开放平台来进行更多创新性应用开发。

  目前,MARC中国社区主要是由设立在江苏无锡的英特尔(R)中国并行计算中心来运营。英特尔(R)中国并行计算中心主任唐爽告诉记者,目前在无锡的数据中心里已经部署了4套SCC平台,供浪潮、联想、曙光、清华大学、华南理工、上海大学、中科院超算中心、中科院计算所、中科院软件所等10家来自产、学、研的单位申请使用。随着未来更多研究成果与需求的出现,还会增加更多的资源。

同样是众核,SCC与MIC有啥区别
▲英特尔技术战略资深总监Bob Noradki

  Bob Noradki告诉记者,过去,在欧洲和美国,SCC的研究人员是分开的,但随着这些研究人员开始合作,通过MARC社区,做出了更多有趣的研究成果。因此,MARC社区落户中国,正是希望中国来自大学和研究院所的科研人员也能够打破这些界限,在公共平台上实现联合创新。

  让人意想不到的创新研究成果

  Tim和Bob还向IT168记者各自分享了一个在SCC平台上,让他们印象最深刻的有趣的研究成果。

  “在一次英特尔研究开放日活动上,我碰到了两个斯坦福大学的研究生,他们做了一个非常有趣的实验,他们把SCC的电压降得非常、非常低,大家知道,电压降低,功耗也会很低,但同时也会产生一些错误,因为计算机可能分不清楚是0还是1。” Bob Noradki兴致勃勃地谈到,“不过,这并不意味着这种模式没有实际价值。由于有一些应用对错误的容忍度较高,象一些流媒体、游戏,每秒钟要刷新几十帧,有一帧发生错误,不会有什么大碍。因此,我们看到,即便把SCC的电压降得非常非常低,只要CPU有90%的精确度,一些应用在不伤害用户体验的情况下仍然能正常运行。这是我见过的一个非常有趣的试验。”

  对Tim来说,让他印象最深刻的则是来自德国RWTH AACHEN的一项研究,研究人员做了一个Hypervisor虚拟层,对资源进行虚拟化,使得一个通用Linux可以控制48个核,而缓存的一致性是由软件保证的(目前SCC是通过48个Linux去控制硬件资源,它们彼此之间不保证缓存一致性)。Tim解释说,SCC是一种伸缩性非常强的架构,因为不支持硬件的缓存一致性——它带来很多开销,基于软件的缓存一致性可以让SCC未来可能扩展到1000个核。

让人意想不到的创新研究成果
▲SCC芯片的结构与主要特性

  软件编程是首要解决的问题

  了解众核芯片的朋友都知道,针对众核产品的软件编程是一大难点。比如,近年来,使用拥有数百个核的GPU来加速高性能计算的做法受到一些用户的关注,不过,其编程难的问题也让更多的用户和ISV们望而却步。为此,对于一些新型的众核芯片而言,如何简化编程也成为业界普通关心的话题。英特尔在其集成众核架构MIC产品中,就特别强调其区别于GPU的一大特色:可以使用基于通用X86架构的统一编程模型,以此来保障应用软件无须重写就能迁移到新平台上来(推荐阅读:英特尔众核技术受关注 MIC比拼GPU  )。那么,对于用作研究平台的SCC来说,又是怎样的呢?

  Tim谈到,SCC要解决的第一个问题就是要让并行编程更加容易,这也是需要MARC社区的研究人员共同要去解决的问题。目前SCC提供了非常强的消息传递的编程模型(RCCE),与传统的消息传递编程模型难度相当。另外也提供了不同层次的共享内存的编程模型,对于绝大多数程序员来说,这种编程模型可能更容易一些。

  Tim告诉记者,为了推进并行软件的编程,英特尔已经努力地提供了很多产品和方案,包括面向任务并行的Cilk、面向数据并行的Array Building Blocks编程系统(原来代号Ct),同时也有世界上最好的MPI实现、OpenMP实现和OpenCL等。

  SCC是云计算机还是高性能计算机?

  不过,对于普通用户来说,真正有意思的是SCC未来可能的应用前景。

  在此次研讨会上,记者注意到,许多与会人员都来自于传统的高性能计算领域。而从名称上看,SCC却是一种“单芯片云计算机”,似乎主要面向云计算领域。那么,SCC未来的前景在哪里呢?

  “精细的功耗管理机制和高效的通信机制,是SCC对高性能计算研究人员的两大吸引点。”Tim告诉记者,此外,针对即将到来的百亿亿次计算时代(2018-2020年),一定会出现上百个、上千个核的运算器件,高性能计算用户很自然地会需要一种可以扩展到上千个核的架构。SCC则毫无疑问是目前大家可以开始研究的一种可行方案。

  但英特尔并没有把SCC限制在高性能计算领域。Bob谈到,其实最早跑在SCC上面的应用正是一个带有云计算特点的JavaScript程序,另外也有人花了4个小时把Hadoop成功运行在SCC上面,这些都说明SCC作为一个开放的平台,并不只局限于某一个领域。

  Tim补充说,尽管SCC的技术是由高性能计算专家开始推动的,但其中的通信模型、编程模型、高伸缩性的操作系统等特性,也正在从高性能计算走向通用计算。而且,跟通用的至强处理器不同,在SCC上,研究人员可以放下很多包袱,尝试一些“疯狂”的设计理念。

SCC是云计算机还是高性能计算机?

  他解释到,对于至强这样已经被广泛使用的商业产品而言,需要一个统一的编程模型,以确保软件可以在新旧平台上都能使用,但这些统一的模型也带来了一定的限制。而在SCC上,可以抛掉这些包袱与限制,不必象至强那样必须关注主流应用,而是可以面向未来去做一些看似不可能的创新应用研究。比如,Tim所在的视觉应用计算实验室,正是研究视觉感应、手势识别、虚拟个人世界等非常前瞻性的领域,以革命性地改变人与计算机交互的过程,SCC提供了这样的一个研究基础。

  “SCC没有一个边界,最重要的是你的想像。从金融分析、传统科学计算、云计算、企业应用,都有可能运行在SCC上面。”Bob最后总结道。

0
相关文章