IBM對于要在Power8處理器及后續(xù)產(chǎn)品周遭經(jīng)營一個(gè)開放的生態(tài)系統(tǒng)是非常認(rèn)真的,因而又在推進(jìn)旗下的OpenPower方面邁出了新的一步。IBM日前開源了管理Power8芯片啟動(dòng)順序的微碼。
聽起來像是個(gè)小事情,但對于IBM和OpenPower基金會(huì)合作伙伴具有重要影響。OpenPower基金會(huì)合作伙伴生產(chǎn)基于Power8處理器的主板。目前,Tyan生產(chǎn)一款單插槽主板,主要是給軟件開發(fā)者和早期系統(tǒng)集成商使用的。
谷歌也在生產(chǎn)一款雙插槽主板給自己內(nèi)部測試用,谷歌自年初以來一直在測試IBM Power8和自主開發(fā)的Power8系統(tǒng)。IBM和谷歌兩家公司都在四月召開的IBM Impact2014會(huì)議展示了自己的Power8主板。今年二月,我們報(bào)道了谷歌正在測試自主開發(fā)的Power8系統(tǒng),谷歌軟件工程師也在為這些系統(tǒng)打造固件。至于谷歌的固件以及由別的公司打造的固件會(huì)不會(huì)開源,目前尚不清楚。
IBM開源的固件有點(diǎn)類似x86系統(tǒng)的BIOS(基本輸入輸出系統(tǒng)的簡稱)。該開源固件是一段啟動(dòng)代碼,除了一些別的用途以外,此啟動(dòng)代碼使得處理器將內(nèi)存和外設(shè)連接在一起,并負(fù)責(zé)設(shè)置好引導(dǎo)程序,以便它可以在測試了系統(tǒng)組件后載入操作系統(tǒng)。IBM的Linux技術(shù)中心主任Jim Wasko表示,和BIOS軟件一樣,Power8固件是存儲(chǔ)在快閃記憶體里。
OpenPower基金會(huì)內(nèi)有一個(gè)系統(tǒng)軟件工作組(Systems Software working group),是對外開放的,工作組的目標(biāo)是要使Power8機(jī)器運(yùn)行Linux時(shí)和x86系統(tǒng)運(yùn)行Linux盡可能的一樣。工作組也負(fù)責(zé)管理開發(fā)兼容Power8芯片的64位小端Linux版本,此Linux版本的字節(jié)次序是與x86機(jī)器的字節(jié)次序一樣的。(此前的Power芯片用的是大端字節(jié)次序,因此存在不兼容問題。)工作組也在打造Power8版的KVM服務(wù)器虛擬器監(jiān)控程序以及相應(yīng)的固件。
有關(guān)的應(yīng)用程序開發(fā)工具鏈?zhǔn)怯蓱?yīng)用軟件工作組(Application Software working group)負(fù)責(zé),該工作組也是對外開放的。其他Open Server Development Platform、Hardware Architecture和Compliance工作組則是采用會(huì)員制,不向外開放。(有關(guān)網(wǎng)頁提供工作組的詳細(xì)資料。)
IBM以O(shè)penPower基金會(huì)的名義公開了420,000行的Power8固件代碼,代碼可以從GitHub下載。固件的兩個(gè)主要元素為hostboot和OPAL,hostboot是硬件開機(jī)和測試代碼塊,OPAL是Open Power Abstraction Layer(Open Power抽象層)的縮寫,OPAL本身含三個(gè)組件,分別稱之為skiboot、skiroot和skirun。skiboot組件在Power8系統(tǒng)的段服務(wù)處理器(縮寫為FSP)里運(yùn)行,Power8系統(tǒng)的FSP和x86系統(tǒng)底板管理控制器(baseboard management controller)類似。
Power8系統(tǒng)的內(nèi)核虛擬機(jī)監(jiān)控程序pHype在默認(rèn)情況下是運(yùn)行的,pHype在過去和當(dāng)前的系統(tǒng)里會(huì)加載IBM的PowerVM虛擬機(jī)監(jiān)控程序,PowerVM虛擬機(jī)監(jiān)控程序然后就可以再在邏輯分區(qū)中運(yùn)行自己的AIX或IBM i操作系統(tǒng),或Linux版本的Red Hat和SUSE Linux操作系統(tǒng)。
IBM一直以來都在Power機(jī)器上裝有此管理監(jiān)控層,其假設(shè)是所有的商業(yè)客戶都希望將工作負(fù)載整合到盡可能少的物理機(jī)上,如果在默認(rèn)情況下運(yùn)行它,并在監(jiān)控運(yùn)行時(shí)顯示機(jī)器的性能,IBM實(shí)際上是有效地吸收了虛擬化的開銷。如此客戶則無需去管這些。但是,IBM希望Power8及更高版本的系統(tǒng)能用在超級計(jì)算和金融交易市場,而在這些情況下,這樣的重量級虛擬機(jī)監(jiān)控程序是永遠(yuǎn)不會(huì)用得到的,因?yàn)樗鼤?huì)增加延遲和消耗機(jī)器的CPU性能。
因此在OPAL里,IBM將Power8開機(jī)順序弄得更像x86引導(dǎo)順序。在x86的引導(dǎo)順序里,BIOS被載入到x86芯片里, Linux操作系統(tǒng)上繼而可直接與芯片互動(dòng)開始運(yùn)行。無需pHype的引導(dǎo),無需再假設(shè)會(huì)有PowerVM或輕量級的集成虛擬化管理器(Integrated Virtualization Manager)。集成虛擬化管理器是個(gè)虛擬機(jī)監(jiān)控程序和分區(qū)管理程序。
分區(qū)管理程序則是虛擬I / O服務(wù)器(VIOS)堆棧的一部分。對于那些不太了解IBM的讀者,VIOS是個(gè)小型AIX內(nèi)核,在一個(gè)分區(qū)里運(yùn)行,作用是作為I / O設(shè)備驅(qū)動(dòng)程序的中心,可以與其他邏輯分區(qū)交流。VIOS對所有的I/O系統(tǒng)進(jìn)行虛擬化,有點(diǎn)古里古怪的,本身也會(huì)消耗一些性能,但I(xiàn)BM利用VIOS只需提供一個(gè)設(shè)備驅(qū)動(dòng)程序,讓AIX、IBM i和Linux通過VIOS連接到設(shè)備上,而不必提供三個(gè)不同的驅(qū)動(dòng)程序。(許多客戶討厭這一點(diǎn),他們想用本機(jī)驅(qū)動(dòng)程序。)PowerVM需要帶外的虛擬化管理器,名為硬件管理控制器(Management Controller)。更輕量級的IVM工具則無需硬件管理控制器。IVM工具只能管理一些Linux分區(qū)。
OPAL的要點(diǎn)在于:可以啟動(dòng)Power8系統(tǒng)直接進(jìn)入Linux,繼而進(jìn)入KVM和OpenStack,和X86的機(jī)器一樣,而且使用的是智能平臺(tái)管理接口(IPMI)的帶外管理。(IBM正在研究名為藍(lán)寶石的下一版OPAL。按理說,下一版會(huì)涉到將現(xiàn)在由段服務(wù)處理器處理的功能交給固件本身,但Wasko不愿對此多言。據(jù)推測,是否這樣做將由OpenPower基金會(huì)拍板,而不只是由IBM說了算。)
Wasko解釋說,“我們幾乎消除了Power里所有不同的東西和一些比較難搞的東西,即是說現(xiàn)在Power里沒有HMC、沒有pHype,沒有VIOS、沒有PowerVM。我們希望購買x86的人現(xiàn)在可以插入這些Power,最好滿架子插的都是Power,然后這些Power工作起來和x86機(jī)器沒什么區(qū)別。“
Wasko沒有具體說名字,但I(xiàn)BM很多的HPC和金融服務(wù)領(lǐng)域的客戶都在爭相參加Power8系統(tǒng)的概念證明試驗(yàn),試驗(yàn)是在裸機(jī)上或由KVM管理的PowerKVM版本機(jī)器上運(yùn)行更精簡干練的固件。IBM會(huì)在今年晚些時(shí)候講有關(guān)的使用案例。Power8固件開源后,其它主板廠商現(xiàn)在可能會(huì)加入OpenPower的行動(dòng),開始制作系統(tǒng)板。