美國計算機(jī)天才西摩·克雷說:“可以造出一個速度快的CPU,卻很難造出一個速度快的系統(tǒng)。”
“世界巨型機(jī)之父”這句名言,在中國第一臺每秒千萬億次超級計算機(jī)研制中再一次應(yīng)驗了。
2009年7月,他們按照CPU+GPU體系結(jié)構(gòu)技術(shù)構(gòu)建了幾個機(jī)柜的系統(tǒng),結(jié)果試運行時發(fā)現(xiàn),系統(tǒng)穩(wěn)定運行時間很難超過半個小時。這是為什么?
通過初步分析,大家認(rèn)為問題還是出在GPU身上。GPU用于科學(xué)計算,除了計算效率問題外,還有一個相關(guān)技術(shù)非常重要,那就是GPU的穩(wěn)定性。GPU用于圖形處理,其計算負(fù)載與通用計算存在較大差異。尤其是GPU實際性能發(fā)揮出來后,各部件進(jìn)入重負(fù)載狀態(tài),功耗提高,散熱要求高,各器件的穩(wěn)定性下降。當(dāng)系統(tǒng)中使用的GPU數(shù)量多了,系統(tǒng)平均無故障時間也會隨之下降。
這個問題不解決,CPU+GPU異構(gòu)融合之路同樣是條“死胡同”。
提高GPU工作穩(wěn)定性問題,再次成為楊燦群和他的突擊隊亟待解開的新“謎語”。
他們首先使用篩選法對眾多GPU逐一進(jìn)行壓力測試,找出那些運行穩(wěn)定的GPU。結(jié)果不理想,系統(tǒng)穩(wěn)定性雖然有所提高,但與系統(tǒng)穩(wěn)定性要求相去甚遠(yuǎn)。
他們仿佛陷入了迷魂陣,四周迷霧茫茫,不知方向在哪里、出路在哪里。但他們始終堅信,黑夜再漫長,曙光總會出現(xiàn)。
在艱苦探索中,“八一”節(jié)到了,單位組織會餐。楊燦群對戰(zhàn)友們說:“走,喝兩杯去,醒醒腦。”但到了餐桌上,到底喝了什么酒、吃了哪些菜,并沒留下什么印象。因為在吃飯喝酒時,他們腦袋里依然轉(zhuǎn)的是GPU工作穩(wěn)定性問題。幾個人一放下碗筷又直接回到機(jī)房,一頭扎進(jìn)浩如煙海的GPU技術(shù)資料里,苦苦尋找破解迷霧的那一縷曙光。又是連續(xù)幾天吃住在機(jī)房……
8月4日上午,網(wǎng)上一個曾瀏覽過的有關(guān)GPU超頻提高性能的帖子突然浮現(xiàn)在楊燦群腦海。帖子上說,GPU超頻可以提高性能,但會導(dǎo)致GPU運行不穩(wěn)定,甚至系統(tǒng)黑屏。
楊燦群突發(fā)奇想,按照逆向思維,如果選用的GPU具有調(diào)頻功能,讓GPU降頻不就可以提高它的穩(wěn)定性嗎?
天隨人意,拿過使用的那款GPU一看,恰恰具備調(diào)頻功能。大家趕緊對它進(jìn)行降頻處理。結(jié)果GPU穩(wěn)定性問題終于迎刃而解。
GPU計算效能、穩(wěn)定性關(guān)鍵技術(shù)探索艱難曲折,其他關(guān)鍵技術(shù)攻堅也跌宕起伏、步步驚心。
超級計算機(jī)系統(tǒng)要實現(xiàn)每秒運算千億次,不僅要求CPU、GPU“算得快”,而且要求有一個快捷通暢的網(wǎng)絡(luò)系統(tǒng),讓各種信息“跑得快”。
2008年10月,蘇金樹帶領(lǐng)大伙受領(lǐng)的某新型交換機(jī)項目,是每秒千萬億次超級計算機(jī)通信網(wǎng)絡(luò)的“立交橋”,直接決定著網(wǎng)絡(luò)通信速度。通過深入調(diào)研、嚴(yán)密論證,他們提出正交系統(tǒng)互連方案,使系統(tǒng)結(jié)構(gòu)簡潔,設(shè)計難度、制造工藝要求、研制和生產(chǎn)成本大幅降低。
但通過互聯(lián)網(wǎng)將正交互連方案和芯片制造商美國技術(shù)工程師交流后,遭到堅決反對,對方在三封郵件和四次電話會議中反復(fù)強(qiáng)調(diào):
一、他們也研究過正交互連,也進(jìn)行過正交互連結(jié)構(gòu)條件下的仿真、實驗和測試,結(jié)論是:信號傳輸損耗大,阻抗不連續(xù),不能滿足該型交換機(jī)信號傳輸要求。
二、該型交換機(jī)設(shè)計非常困難,他們用了兩年多時間才完成,沒有他們的技術(shù)支持,不可能成功。
三、如果堅持正交互連方案,他們將不給予正確的技術(shù)支持。
四、如果堅持正交互連方案,必以失敗告終。
研制工作一開始就陷入兩難境地。如果堅持走自己的設(shè)計路線,需要一切從頭探索,創(chuàng)新難度大,風(fēng)險高;如果改方案,完全按美國人提供的方案搞,成功有把握,但沒有自己的特色,沒有創(chuàng)新,沒有優(yōu)勢。
從來就不迷信和崇拜別人的銀河人堅定地選擇了前者。他們堅信沒有美國人的技術(shù)支持,中國人照樣把新型交換機(jī)搞出來。他們說,20世紀(jì)60年代,蘇聯(lián)撤走專家,中國照樣搞出了原子彈!90年代,英國撤走汽車專家,中國照樣搞出了小汽車。很多事實已經(jīng)證明,死了“張屠夫”,中國人照樣不吃“帶毛豬”。
他們通過兩個多月夜以繼日的仿真和試驗,發(fā)現(xiàn)在正交互連條件下,美國人的試驗方案和設(shè)計規(guī)范,確實不能滿足某新型交換機(jī)信號的傳輸要求。但深入研究了信號完整性方面的相關(guān)理論和技術(shù)及美國人的設(shè)計規(guī)范后,終于發(fā)現(xiàn)他們所使用的矩形反焊盤,是導(dǎo)致信號傳輸損耗大和傳輸阻抗不連續(xù)的主要原因。針對該薄弱環(huán)節(jié),他們發(fā)明了跑道式和啞鈴式反焊盤,通過三個多月反復(fù)迭代仿真,得到全面設(shè)計規(guī)范,關(guān)鍵的眼圖技術(shù)參數(shù)達(dá)到60ps,遠(yuǎn)遠(yuǎn)大于美國人的35ps。
僅用10個月時間,他們就研制完成新型交換機(jī)。實測技術(shù)指標(biāo)大大超過同類系統(tǒng),而成本是同類同規(guī)模產(chǎn)品的80%。
高速互聯(lián)網(wǎng)上交換芯片、接口芯片測試,也經(jīng)歷了一番迂回坎坷。
研制小組經(jīng)過半年多連續(xù)奮戰(zhàn),完成邏輯設(shè)計和軟硬件模擬時,離芯片最后投片期限只有3天了。
大家把最后版本的邏輯設(shè)計都綜合在FPGA測試軟件中,準(zhǔn)備進(jìn)行最后完全測試。這也是研制工作關(guān)鍵點之一,如果通過了,那就萬事大吉;如果卡了殼,那就前功盡棄。
測試程序啟動后,大伙都把眼睛睜得圓圓的,緊緊盯著屏幕。突然,那些歡快滾動的數(shù)據(jù)一下撞到墻上似的,一動不動了。
大伙心里一沉,這是怎么回事?
趕緊檢查外圍,發(fā)現(xiàn)光纖好好的。
檢查服務(wù)器,服務(wù)器也活著。
查看交換機(jī),交換機(jī)也有電。
又查以太網(wǎng),也是工作正常。
最后,大家抱著試試看的想法,讓它從頭開始運行。那些數(shù)據(jù)又開始滾動起來,可幾分鐘后,又故態(tài)重萌,躺著不動了。
死鎖!大家一下子都急出一頭冷汗。要解開這把死鎖,首先必須查明它“死”在哪里。
查因的突破口首先選在測試試題與測試模式結(jié)合部。負(fù)責(zé)測試操作的劉路和設(shè)計測試題的謝閔,由于年輕氣盛,加之急火攻心,兩人一碰頭便“吵”了起來。
謝閔正忙著測試另一個驅(qū)動程序,劈頭便問劉路:“我那邊正忙呢,你叫我干什么?”
劉路說:“把所有測試題都加進(jìn)去跑,運行一會兒就死鎖了,會不會是你編的測試題不能一起跑?”
謝閔說:“不可能,單個題能跑,混合在一起跑不會有影響。”
劉路說:“那不一定吧,單個跑和混在一起跑,能一樣嗎?”
謝閔說:“你放心,我所有的題都內(nèi)部做了流控,絕不會出現(xiàn)相互擁擠現(xiàn)象?!?/p>
劉路說:“別的題單獨跑沒問題,說明硬件沒問題。偏偏跑你的題死鎖,不是你的題有問題,是什么?”
謝閔說“我還懷疑你們的測試模式有問題呢!”
沉默一陣,兩人幾乎同時朝對方擺擺手說:“咱們再爭是浪費時間?!眱扇松潭ò蠢弦?guī)矩,都去自查原因,自證清白,再合作解決。
研究室領(lǐng)導(dǎo)帶著大家忙了一個晝夜,結(jié)果卻發(fā)現(xiàn)測試題和測試模式都沒問題。
難道是接口芯片出問題了?大家將所有接口芯片統(tǒng)計計數(shù)器的值讀出,結(jié)果四個接口芯片流出的數(shù)據(jù)包的個數(shù)恰好等于四個接口芯片流入的數(shù)據(jù)包的個數(shù),這說明正常呀。
他們不得不把懷疑的目光移向交換芯片。要是在這最后時刻發(fā)現(xiàn)它有問題,后果不堪設(shè)想呀。就在大家都懸著一顆心,緊鑼密鼓苦讀代碼時,卻意外地從測試用的FPGA版本上發(fā)現(xiàn)了疑點。
把FPGA版本進(jìn)行更新再運行時,那些數(shù)據(jù)終于又快樂地跳躍起來。兩種芯片都按時一次投片成功。
大伙擦去額頭上的汗珠,輕松地吁了口氣:“要是再查不出原因,耽誤了投片,拖了工程后腿,我們可沒法向黨和人民交代呀。”
電源系統(tǒng)主任設(shè)計師胡世平是一員參加過“銀河—Ⅰ”“銀河—Ⅱ”“銀河—Ⅲ”系列巨型機(jī)研制的老將。每秒千萬億次超級計算機(jī)攻關(guān)中,他又帶領(lǐng)大家擔(dān)負(fù)起研制電源分系統(tǒng)的重任。
2009年7月,每秒千萬億次超級計算機(jī)機(jī)房進(jìn)行配電建設(shè)。胡世平一邊要進(jìn)行電源系統(tǒng)的技術(shù)攻關(guān),一邊要與電力公司工程技術(shù)人員研究解決變壓器施工中出現(xiàn)的問題,還要參加動力電纜施工,50多歲的他經(jīng)常干最苦最累的活,不認(rèn)識他的人還以為他這個大教授是一名電工。
那段日子里,胡世平忙得兩頭都快變成了一頭,不說沒有了節(jié)假日,還時常一干就是一通宵。
偏在這節(jié)骨眼上,他90高齡的母親股頸骨骨折,生命垂危,被緊急送進(jìn)了醫(yī)院。胡世平聽到這個消息,心頭一下子揪緊了。
他的父親,是1953年組建“哈軍工”時,由陳賡院長親自點將、經(jīng)周總理批準(zhǔn),第一批從全國抽調(diào)到學(xué)校工作的專家教授。他出生三個月后,母親就帶著他和他的哥哥、姐姐,去了軍事工程學(xué)院,在校直屬醫(yī)院當(dāng)了一名產(chǎn)科醫(yī)生。此后,母親一直在校醫(yī)院工作,一生中迎接的新生命數(shù)以千計。心地善良的母親喜歡孩子,更愛自己的三個孩子,而對他這個老幺,更是百般關(guān)愛,倍加呵護(hù)。
胡世平對母親也很愛戴和敬重。母親住院后,他任務(wù)再重,工作再忙,也要盡到為人兒子的孝道。每天白天爭分奪秒趕任務(wù),晚上下班后,再晚也要到醫(yī)院守候病中母親,給老人家翻身擦背,洗臉梳頭。
醫(yī)院沒有陪護(hù)床位。他每天只能趴在母親的床沿上睡一會。后來,他去超市買了一張折疊床,睡在母親的病床旁。每晚都要起來好幾回觀察母親的病情,給她掖緊被窩。
母親得知兒子參與研制的機(jī)器,準(zhǔn)備拿世界冠軍,說等病好些后無論如何也要去看看。兒子說,過兩天就拍些照片過來,讓老人家先睹為快。可他每天一進(jìn)實驗室忙起來,就把這事給忘了。
這天,總師組領(lǐng)導(dǎo)找到他說:“天津用戶那邊供電工程出問題了,自己解決不了,已經(jīng)拖了工程后腿,請你趕快過去?!?/p>
胡世平領(lǐng)受了任務(wù),回到醫(yī)院告別母親,當(dāng)天飛到天津。
他一下飛機(jī)立刻開展工作,連續(xù)奮戰(zhàn)兩天一夜,終于解決了問題。其間,不說睡覺,連飯都沒有好好吃一餐。用戶非常感激他,特意為他擺了一桌酒菜。心里惦記著躺在病床上的母親,胡世平哪有心思喝酒,他讓服務(wù)員用飯盒裝了幾樣菜便上了出租車,邊吃邊往機(jī)場趕。
雖然胡世平以最快速度趕回了長沙,可當(dāng)他一下飛機(jī),把手機(jī)打開時,“通話秘書”告訴他:半小時前,妻子給他打了十幾個電話。
胡世平預(yù)感到出事了,立刻把電話回過去。
妻子哽咽著告訴他:“媽媽在半小時前走了——”
他奔到醫(yī)院,只見母親躺在急救室的病床上,雙唇輕閉,一臉安詳,只是兩只眼睛微微地露著一條縫。他知道,那是老人在等著他回來,那是母親在告訴他,她還有很多很多話,要跟他這個家里的老幺說。
胡世平雙膝跪在母親跟前,聲淚俱下:“媽媽,您不是說要等我回來嗎?您不是要等我們把機(jī)器搞完了,帶您去參觀嗎?現(xiàn)在我們的機(jī)器還沒做完,還沒等我出差回來,您怎么就走了呢……”
在大家艱難曲折、鍥而不舍的攻堅中,各項關(guān)鍵技術(shù)相繼突破。
2009年國慶節(jié)來臨前夕,每秒千萬億次超級計算機(jī)一期系統(tǒng)安裝完畢。這時,從芯片市場傳來一個喜訊,一款性能更高的新款GPU上市了!這對于正與世界強(qiáng)國決戰(zhàn)的銀河人來說,就像在國際足球賽中的前鋒面前突然出現(xiàn)了空門,讓大家興奮到狂喜。
但這“臨門一腳”并不好踢:一是離任務(wù)節(jié)點只有一個月了,而更換GPU必須先拆再裝,整個系統(tǒng)有2560多個節(jié)點,團(tuán)隊完成更換GPU的工作通常需要半個月左右。而且更換了新GPU之后,就必須對原先的軟件優(yōu)化措施加以改進(jìn),能按時完成任務(wù)嗎?
總師楊學(xué)軍把一線攻關(guān)團(tuán)隊集合起來,大聲問大家:“這新款GPU,我們上不上?”
大家異口同聲:“上!上!上!”
“按時完成黨和國家交給我們的任務(wù),有沒有信心!”
“保證完成任務(wù)!”
國慶節(jié)來臨了,最后的突擊開始了。測試篩選、拆卸安裝GPU,是個體力活。團(tuán)隊全體人員,男女老少齊上陣,三天三夜,誰也沒合過一下眼,終于完成數(shù)以千計的GPU更換工作。
任務(wù)完成后,楊學(xué)軍再次把大家集合起來,看著大家一雙雙貼滿創(chuàng)可貼的手,熬得通紅通紅的一雙雙眼睛,他的眼睛也紅了。