编辑:鹏飞
开源,正在成为昔日巨头们重新夺回赛道的重要手段。曾经的蓝色巨人IBM也不例外。340亿美元Red Hat后,而自从340亿美元Red Hat后,IBM推出了其最新技术:OpenPOWER指令集。
这家百十来年老店,论年纪已经超过了历史上最重要的帝国之一:元朝,如今正在经历着老龄化带来的衰退期。
IBM引以为傲的POWER架构芯片,在性能方面绝对称得上登峰造极。OpenPOWER家族中最新的POWER9 CPU具有80亿个晶体管,最多达24个处理核心。
目前最顶级的超算系统、美国能源部的Summit和Sierra超级计算机系统内采用的正是POWER9。
但由于IBM过去太倚重To B业务,倾向于卖服务给高端用户而忽视了C端市场,在WinTel联盟x86架构的重击之下,逐渐丧失了C端市场,只能在高端服务器市场寻求存活机会。
如今的IBM一直都在积极出击,寻求突围之法。如果销量上不去,那么干脆就将其开源,让更多人先用起来。就像互联网服务经常用的套路:先送给用户体验,再卖给用户定制化的打包服务。
于是IBM终于决定,开放OpenPOWER系列处理器核心的机器语言源代码。
专家点评:POWER开源易,动手开发难
对此,中科院计算所的研究员、博士生导师包云岗评论道:
这两天关于开源芯片的新闻不断,这也正反映了大势所趋。IBM开源POWER指令集,这对整个开源硬件/开源芯片生态发展是强有力的支持,因为POWER处理器在高性能计算领域具有很深厚的积累,是应付RISC-V暂时无法满足高性能计算需求这一现状很好的补充。
需要强调开源指令集ISA(指规范)与开源处理器设计(指源代码)的区别,这两点很容易被大家混淆,但非常重要。而且隐含了一个评价开源指令集ISA很重要的指标——将ISA规范转变成源代码的门槛,即成本和时间。
这方面相比于全新设计的RISC-V,POWER显得有些太过沉重了:2017年3月发布的POWER ISA Version 3.0B包含上千条指令,需要兼容早期的P1/P2/PPC/v2.00/v2.01/v2.03/..../v3.0等老版本指令,手册一共有1258页。
因此,要能真正消化开源POWER ISA并编写出源代码,可以想象难度非常大,门槛很高,全世界可能只有很少的企业持续投入一段时间才能做到。相比较而言,RISC-V社区已经有很多开源爱好者一个人或几个人的小团队花几周时间就根据手册写出一个运行Linux的RISC-V处理器。
开源的目标是为了降低门槛。POWER指令集的开源降低了费用,但如何进一步降低设计门槛,让更多人员可以参与进来?IBM的思路是提供了一个软核,这一步很关键。效果如何,拭目以待。
开源对企业利好,OpenPOWER基金会加入Linux基金会
没有人知道结局如何。但既然迈出了第一步,那就要坚定的走下去。IBM联合了谷歌、英伟达、TYAN、Mellanox几家公司,共同成立OpenPOWER联盟和OpenPOWER基金会,以期在芯片设计、系统设计和开源软件三个层面推动POWER生态环境。
自2004年成立以来,以POWER架构为中心的社区POWER.org,如今已经有30家企业会员、6000名开发者成员加入。
POWER.org社区很像是一个虚拟的DIY仓库以及供应链。有需求的企业在里面选择一个基于POWER处理器的内核,然后根据自己的需求开始添加外设。接下来,POWER.org负责将为企业提供安全的设计和可靠的生产服务。
这样的做法,无论从技术层面还是从商业角度,都显得理由充足。
技术方面,IBM觉得通过发明新材料或制造技术来提高芯片性能越来越困难,对IBM来说一点都不划算。而通过将POWER架构开源,IBM从原来的自产自销的重资产模式,转向了相对轻资产的方式,从而能够实现小步快跑。通过改善系统总体设计来培育性能的增长。
而从商业角度出发,因为IBM不仅仅只是开源了POWER架构,同时还提供了一个平台,能让众多的团体可以在硬件、软件及调校工作上进行紧密合作。在过去几年,芯片设计和制造服务,已经成为IBM芯片部门的主要突破点之一。
该公司希望能提高上述两款芯片的流行,有助于提高POWERPC芯片针对相对像如ARM、MIPS等其他架构的竞争能力。ARM和MIPS的架构是目前最流行的芯片架构之二,被广泛授权并应用到通信与消费电子等各种领域。
无论如何,IBM此举对企业是利好的。此前企业需要从IBM手里购买昂贵的许可才能使用该指令集,而如今可以免费使用了!
开源POWER架构源码后,芯片设计人员终于不需要支付任何版税,直接在处理器中构建OpenPOWER功能!而新的开源许可条款,还允许用户根据需求,针对特定应用定制指令集。
除此之外,IBM还将贡献各种教程和参考文档,进一步降低芯片设计者的学习门槛。例如如何将指令集嵌入非OpenPOWER芯片、如何实施OpenCAPI和Open Memory Interface协议(用于连接服务器CPU与板载内存)等。
目前OpenPOWER只是开放了指令集,芯片的底层物理架构尚未开源。而为了该组织的长远发展,IBM会将OpenPOWER Foundation迁移至最知名的开源软件组织Linux Foundation之下。