世界最強(qiáng)計(jì)算機(jī),極少人見過,讓程序員高薪工作一輩子!
我剛進(jìn)IBM的時候,聽說過一個故事:一個人畢業(yè)時被迫進(jìn)入了一個偏冷的部門:大機(jī)部門。
大家認(rèn)為他很不走運(yùn),因?yàn)榇笮蜋C(jī)軟件硬件自成一體,太封閉,同行極少,沒有多少人會,網(wǎng)上沒人交流,學(xué)會東西出來一點(diǎn)兒用都沒有,萬一大機(jī)市場不行了,他絕對會失業(yè),真慘!
可結(jié)局出乎意料,人家在大機(jī)的領(lǐng)域耕耘了幾十年,度過了大機(jī)在中國從興起到衰?。ㄆ鋵?shí)現(xiàn)在也沒有衰?。┑耐暾^程,然后舒舒服服地退休了!
拿著IT界的收入,享受著如同編制般的穩(wěn)定,實(shí)在太爽了!
不過,這樣的機(jī)會,現(xiàn)在再也沒有了。
那么,大機(jī)究竟是什么呢?
IBM z 系列通常被我們稱為大型機(jī),Mainframe,簡稱“大機(jī)”。
大機(jī)以高性能,高可用性,高可靠性著稱,它有一套自成體系的硬件和軟件,在服務(wù)器市場中鶴立雞群,價格也非常感人,只有超大型公司才能用得起。
我們拿2017年發(fā)布的z14來看看它的性能指標(biāo)吧(最新的是z16,性能更加強(qiáng)悍。)
CPU主頻5.2G Hz,10個核心
可以配置170個CPU
內(nèi)存32TB (不是GB!)
最多支持8000個虛擬機(jī)
可以橫向擴(kuò)展到200萬個docker容器
為什么要設(shè)計(jì)出這樣的“怪物般”的機(jī)器呢?
因?yàn)檫@個世界上存在著一些關(guān)鍵業(yè)務(wù),對平臺要求極高。
幾年前,調(diào)研機(jī)構(gòu)Qualix Group曾有一組數(shù)字,服務(wù)器宕機(jī)1分鐘,平均使運(yùn)輸業(yè)損失15萬美元,銀行業(yè)損失27萬美元,通信業(yè)損失35萬美元,制造業(yè)損失42萬美元,證券業(yè)損失45萬美元……
尤其對于銀行業(yè),如果銀行系統(tǒng)中斷1小時,將直接影響該行的基本支付業(yè)務(wù);中斷1天,將對其聲譽(yù)造成極大傷害;中斷2-3天以上不能恢復(fù),將直接危及其他銀行乃至整個金融系統(tǒng)的穩(wěn)定。
必須有一種機(jī)器,在處理能力、穩(wěn)定性和安全性上,滿足這些需求,大型機(jī)就應(yīng)運(yùn)而生。
01硬件
大型機(jī)一般都在系統(tǒng)內(nèi)集成了高程度的冗余和錯誤檢查技術(shù),防止系統(tǒng)發(fā)生災(zāi)難性問題。
大型機(jī)的每個處理器核心都有2個完全的執(zhí)行通道來同時執(zhí)行每一條指令。如果兩條通道的計(jì)算結(jié)果不一致,CPU的狀態(tài)就會復(fù)原,重新執(zhí)行該條指令,結(jié)果還是不一致的話,一個空閑狀態(tài)的CPU將會被激活替代當(dāng)前的CPU。
獨(dú)立磁盤冗余陣列(RAID)大家都聽說過,可以用冗余的磁盤和條帶化算法,防止數(shù)據(jù)的損壞和丟失。
圖片
2010年,IBM率先把類似的理念也引入到內(nèi)存當(dāng)中,用部分物理內(nèi)存實(shí)現(xiàn)磁盤RAID的功能,叫做RAIM(獨(dú)立冗余內(nèi)存陣列), 從而實(shí)現(xiàn)內(nèi)存的高可用性。
除了CPU和內(nèi)存外,其它的元件如內(nèi)存總線、I/O通道、電源等等,都有相應(yīng)的冗余設(shè)計(jì)。確保系統(tǒng)的高可靠性、高可用性。
即使出錯,許多組件的熱拔插特性也能確保系統(tǒng)的高服務(wù)性,在系統(tǒng)運(yùn)行的同時被更換。
在大機(jī)中把很多軟件模塊都被硬件化了,比如硬件壓縮卡、排序指令、向量運(yùn)算指令,隨機(jī)數(shù)生成器、加密硬件(AES、DES、TDES、SHA等),非常的霸氣。
大機(jī)的處理器用的是自己獨(dú)特z/Architecture主機(jī)架構(gòu)。
IBM z14 有170個處理單元(PU),每個PU中除了我們常說的中央處理器(CPU)之外,還有集成固件處理器,集成信息處理器,內(nèi)部耦合處理器等專用處理器。
這些專用處理器完成特定工作,卸下CPU的工作負(fù)載,讓它專注于操作系統(tǒng)和應(yīng)用程序。
圖片
02軟件
大機(jī)的操作系統(tǒng)也是獨(dú)特的,叫z/OS。
在上面可以運(yùn)行DB2, IMS(數(shù)據(jù)庫),CICS(交易中間件),JVM等應(yīng)用程序,當(dāng)然它們也都是為大機(jī)定制的。
圖片
大機(jī)也提供了強(qiáng)大的虛擬化能力,可以創(chuàng)建多個虛擬機(jī)實(shí)例,每個虛擬機(jī)運(yùn)行不同的操作系統(tǒng)和應(yīng)用程序:
圖片
有意思的是無論操作系統(tǒng),還是上面的應(yīng)用程序,它們的收費(fèi)方式很獨(dú)特:用戶定期上傳一個報(bào)告,根據(jù)使用情況來計(jì)算軟件費(fèi)用。
比如MSU(Million Service Units),這是IBM z Systems上一個用于測量處理能力的度量單位,一個MSU相當(dāng)于系統(tǒng)每秒能夠執(zhí)行一百萬條指令。
在IBM z/OS操作系統(tǒng)中,許多IBM和第三方軟件都使用MSU來確定許可成本??蛻敉ǔP枰徺I足夠的MSU來覆蓋其應(yīng)用程序和工作負(fù)載的處理需求。
我原來所在的IBM部門,就是專門負(fù)責(zé)大機(jī)上軟件的銷售和費(fèi)用計(jì)算的,業(yè)務(wù)邏輯很有意思。
03向后兼容性
單獨(dú)把向后兼容性拎出來說,是因?yàn)閷τ陉P(guān)鍵業(yè)務(wù)應(yīng)用來說,它實(shí)在太重要了。
它可以讓大型公司平穩(wěn)地升級硬件和軟件,而無需重寫或修改現(xiàn)有的應(yīng)用程序。
IBM大型機(jī)的歷史可以追溯到上世紀(jì)60年代,那個時候IBM通過System/360統(tǒng)治了計(jì)算機(jī)市場,后來雖然不斷進(jìn)化,但是一直保持了向后兼容性。
許多為早期系統(tǒng)編寫的應(yīng)用程序,在 50 年后仍然可以在最新的 IBM z系統(tǒng)上運(yùn)行,無需修改。
所以我們看到很多用COBOL寫的恐龍級古老應(yīng)用:稅收、社保、醫(yī)療保險、保單、理賠等,在大機(jī)上穩(wěn)定運(yùn)行了幾十年,并且極有可能會繼續(xù)運(yùn)行下去。
圖片
04結(jié)語
IBM z 系列中的z有兩種說法,一種是零停機(jī)時間,一種表示終極的意思。
不管哪種說法,IBM的z系列確實(shí)做到了,這是一臺終極的、不停機(jī)的計(jì)算機(jī)。
它對外的SLA承諾是7個9(99.99999%),也就是說,每年停機(jī)時間僅有3.16秒。
用這種服務(wù)器的公司都是全球的頂尖企業(yè):
100強(qiáng)中三分之二的企業(yè)
10大保險公司中的8家
10大零售商中的7家
10大電信公司中的8家
這些大公司都把它作為運(yùn)行最關(guān)鍵任務(wù)、高度安全的平臺。
如果按價值計(jì)算,大型機(jī)上運(yùn)行著70%的全球交易。
互聯(lián)網(wǎng)技術(shù)蓬勃發(fā)展,很多公司用廉價的x86機(jī)器也實(shí)現(xiàn)了可靠性很高的分布式系統(tǒng),大型機(jī)顯得有些“過氣”了,但是它超高的性能、可靠性、安全性、擴(kuò)展性,讓它依然固守著最后的領(lǐng)地。
如需轉(zhuǎn)載,請通過作者微信公眾號coderising獲取授權(quán)