IBM开源BIOS Power8叫板X86
2014-07-16 ZDNet至顶网 编辑:张锐
IBM对于要在Power8处理器及后续产品周遭经营一个开放的生态系统是非常认真的,因而又在推进旗下的OpenPower方面迈出了新的一步。IBM日前开源了管理Power8芯片启动顺序的微码。
听起来像是个小事情,但对于IBM和OpenPower基金会合作伙伴具有重要影响。OpenPower基金会合作伙伴生产基于Power8处理器的主板。目前,Tyan生产一款单插槽主板,主要是给软件开发者和早期系统集成商使用的。
谷歌也在生产一款双插槽主板给自己内部测试用,谷歌自年初以来一直在测试IBM Power8和自主开发的Power8系统。IBM和谷歌两家公司都在四月召开的IBM Impact2014会议展示了自己的Power8主板。今年二月,我们报道了谷歌正在测试自主开发的Power8系统,谷歌软件工程师也在为这些系统打造固件。至于谷歌的固件以及由别的公司打造的固件会不会开源,目前尚不清楚。
IBM开源的固件有点类似x86系统的BIOS(基本输入输出系统的简称)。该开源固件是一段启动代码,除了一些别的用途以外,此启动代码使得处理器将内存和外设连接在一起,并负责设置好引导程序,以便它可以在测试了系统组件后载入操作系统。IBM的Linux技术中心主任Jim Wasko表示,和BIOS软件一样,Power8固件是存储在快闪记忆体里。
OpenPower基金会内有一个系统软件工作组(Systems Software working group),是对外开放的,工作组的目标是要使Power8机器运行Linux时和x86系统运行Linux尽可能的一样。工作组也负责管理开发兼容Power8芯片的64位小端Linux版本,此Linux版本的字节次序是与x86机器的字节次序一样的。(此前的Power芯片用的是大端字节次序,因此存在不兼容问题。)工作组也在打造Power8版的KVM服务器虚拟器监控程序以及相应的固件。
有关的应用程序开发工具链是由应用软件工作组(Application Software working group)负责,该工作组也是对外开放的。其他Open Server Development Platform、Hardware Architecture和Compliance工作组则是采用会员制,不向外开放。(有关网页提供工作组的详细资料。)
IBM以OpenPower基金会的名义公开了420,000行的Power8固件代码,代码可以从GitHub下载。固件的两个主要元素为hostboot和OPAL,hostboot是硬件开机和测试代码块,OPAL是Open Power Abstraction Layer(Open Power抽象层)的缩写,OPAL本身含三个组件,分别称之为skiboot、skiroot和skirun。skiboot组件在Power8系统的段服务处理器(缩写为FSP)里运行,Power8系统的FSP和x86系统底板管理控制器(baseboard management controller)类似。
Power8系统的内核虚拟机监控程序pHype在默认情况下是运行的,pHype在过去和当前的系统里会加载IBM的PowerVM虚拟机监控程序,PowerVM虚拟机监控程序然后就可以再在逻辑分区中运行自己的AIX或IBM i操作系统,或Linux版本的Red Hat和SUSE Linux操作系统。
IBM一直以来都在Power机器上装有此管理监控层,其假设是所有的商业客户都希望将工作负载整合到尽可能少的物理机上,如果在默认情况下运行它,并在监控运行时显示机器的性能,IBM实际上是有效地吸收了虚拟化的开销。如此客户则无需去管这些。但是,IBM希望Power8及更高版本的系统能用在超级计算和金融交易市场,而在这些情况下,这样的重量级虚拟机监控程序是永远不会用得到的,因为它会增加延迟和消耗机器的CPU性能。
因此在OPAL里,IBM将Power8开机顺序弄得更像x86引导顺序。在x86的引导顺序里,BIOS被载入到x86芯片里, Linux操作系统上继而可直接与芯片互动开始运行。无需pHype的引导,无需再假设会有PowerVM或轻量级的集成虚拟化管理器(Integrated Virtualization Manager)。集成虚拟化管理器是个虚拟机监控程序和分区管理程序。
分区管理程序则是虚拟I / O服务器(VIOS)堆栈的一部分。对于那些不太了解IBM的读者,VIOS是个小型AIX内核,在一个分区里运行,作用是作为I / O设备驱动程序的中心,可以与其他逻辑分区交流。VIOS对所有的I/O系统进行虚拟化,有点古里古怪的,本身也会消耗一些性能,但IBM利用VIOS只需提供一个设备驱动程序,让AIX、IBM i和Linux通过VIOS连接到设备上,而不必提供三个不同的驱动程序。(许多客户讨厌这一点,他们想用本机驱动程序。)PowerVM需要带外的虚拟化管理器,名为硬件管理控制器(Management Controller)。更轻量级的IVM工具则无需硬件管理控制器。IVM工具只能管理一些Linux分区。
OPAL的要点在于:可以启动Power8系统直接进入Linux,继而进入KVM和OpenStack,和X86的机器一样,而且使用的是智能平台管理接口(IPMI)的带外管理。(IBM正在研究名为蓝宝石的下一版OPAL。按理说,下一版会涉到将现在由段服务处理器处理的功能交给固件本身,但Wasko不愿对此多言。据推测,是否这样做将由OpenPower基金会拍板,而不只是由IBM说了算。)
Wasko解释说,“我们几乎消除了Power里所有不同的东西和一些比较难搞的东西,即是说现在Power里没有HMC、没有pHype,没有VIOS、没有PowerVM。我们希望购买x86的人现在可以插入这些Power,最好满架子插的都是Power,然后这些Power工作起来和x86机器没什么区别。“
Wasko没有具体说名字,但IBM很多的HPC和金融服务领域的客户都在争相参加Power8系统的概念证明试验,试验是在裸机上或由KVM管理的PowerKVM版本机器上运行更精简干练的固件。IBM会在今年晚些时候讲有关的使用案例。Power8固件开源后,其它主板厂商现在可能会加入OpenPower的行动,开始制作系统板。