課題上取得了不錯的進展,杜克可以將精力放到泰坦II虛擬係統的改進上,克裏依據杜克的指示原汁原味地實現了泰坦II,但是杜克感覺這不是最優的選擇。
特別是在IO和存儲方麵,克裏具有現在技術完全不具備的條件,如果消除原來的這些限製,克裏虛擬出來的泰坦II應該有著比原型機更好的性能才對。果然當杜克指示克裏進行進一步的優化改進後,僅僅是放開了IO讀取和存儲分配,虛擬泰坦II的性能就幾乎飆升了一倍!
由此可見IO和存儲對於運算速度影響有多大,但是這還沒有完,考慮到CPU和GPU各有所長,杜克期望通過動態調整CPU和GPU的計算節點數量,實現最佳的性能。這個調整思路一出來,克裏優化出來的泰坦II係統就更加驚人了,在針對偏重浮點運算的測試應用下,具備最大數量GPU配置的泰坦II性能幾乎提升了十倍之多。
當然,對於這種大量浮點運算條件,GPU配置比例差不多達到了百分之九十。要知道這可是完全沒有修改係統架構的前提下實現的,要是研製超級計算機的專家知道有這麽一個強悍的模擬係統,不崩潰掉才怪。
要知道在通常的研究中,超級計算機要想將性能提升十倍,一般至少都需要2-3年的時間,等到相關硬件子係統性能提升後,累計這些更高性能的子係統才能夠實現,像克裏這樣單純經過動態調整、根本就不改變什麽硬件設施就能夠實現,實在太妖孽了。
當然換著是邏輯判斷更多的人工智能應用,杜克發現這個CPU和GPU的比例又要反過來才能夠實現更好的性能。因為在這方麵是CPU的強項。
經過這番測試,克裏掌握了根據應用類型動態調整虛擬泰坦II係統的方法和計算公式,可以很快根據軟件係統的運算需求進行動態調整係統組成。單單就這一點,杜克就能夠在同樣的條件下比別人快十多倍得到結果。
何況克裏還能夠進一步增加運算節點,繼續加強虛擬泰坦II的計算能力,雖然杜克沒有指示克裏進行類似的改進,主要是現在還沒有這個需求,他在克裏改進了硬件的動態變化之後,開始瞄準Craylinux係統進行優化。
這個一方麵是提升係統的能力,另外一方麵是積累操作係統研發的經驗。科大劉校長牽頭的操作係統重大專項研究項目現在已經批準立項,第一期國家撥款6000萬人民幣進行操作係統的實驗性研究。
作為主要的架構師,杜克需要提出新操作係統的架構設想。立項要求中,這個未來的操作係統需要具備高性能、高可靠性、高安全性、高伸縮性的四高特性,另外還要具有在通用平台下運行的能力,也就是說要兼容當前的主流硬件,包括時下主流的CPU/GPU/內存/硬盤/外設等等。
有了這麽高的要求,杜克可以選擇的最佳藍本就是linux。隻是linux雖然說是開源係統,但是正因為這樣,任何基於linux的新改進都要求被公布於世,如果你想要公開進行商業使用推廣的話,這個對於國家來說是不可接受的。
所以,新操作係統以linux作為藍本是沒有問題,但是在架構上卻不能照搬照抄,否則就會侵犯其知識產權。
獨立封裝硬件操作核心是不可缺少的,杜克新開發的手機操作係統就是這麽做的,隻是手機操作係統是針對一個有限硬件平台的封閉式係統,大幅度減少了兼容性的考慮,所以效率很高。
但是這個新係統卻不能這麽搞,這樣以後還得針對特定的硬件平台,這樣的係統稱為通用操作係統,杜克都不好意思說是自己參與研製的。所以獨立封裝硬件操作核心同新設備驅動之家的關係比較難處理。
開放第三方對於核心部分的讀寫,會產生比較嚴重的安全隱患,很多病毒都會模擬新設備驅動來對操作係統進行核心層麵的操作。所以這個問題現在基本上是很難取舍的,windows為了兼容性不得不打開一道缺口,杜克原本也不知道該如何才能夠避開這個問題。
直到克裏虛擬成功泰坦II,杜克才受到啟發:將整個基本硬件看著一個完整封裝好的內核,而外設都必須通過調用內核的SDK來開發驅動,實現外設同內核之間的數據交換和運算調用。這樣,杜克就可以確保內核的安全。
相對於層出不窮的外設來說,內核需要針對的環境就非常有限了,CPU,主流的就倆三家,加起來雖然總數看起來也不少,可是真正有指令集變化的型號,總數超不過20種指令集!
但是畢竟都有限,如Intel的通用桌麵級CPU的指令集,截止到2014年,其中擴展指令集部分也不過是MMX,SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,SSE4.3,EM64T等區區九種。
所以有了高端CPU模擬經驗,克裏要模擬相對低端的CPU,簡直就沒有多少難度,無非是消減性能和指令集支持。
杜克可以針對一款較高端的CPU開發出一中核心的處理應用,剩下的兼容性就將在這個核心應用上進行修訂,根據不同的CPU進行指令集兼容性設計。
由於有了超級計算機操作係統作為基礎,未來這款操作係統杜克初步考慮區分為桌麵和服務器倆種型號。
服務器型號將支持現有超級計算機架構的海量內存和超多CPU集群,實現大型機同中型工作站的統一,對於很多應用來說,如數據庫、web服務器、視頻服務器等資源消耗應用可以在不改變程序的情況下就得到最大的兼容性。
而桌麵型仍然將支持多邏輯CPU,隻是數量將被控製在8路物理CPU,按照2014年主力CPU最多32核計算,就是256個邏輯CPU,這樣就算是8路的小型工作站,也可以在這個係統上發揮得淋漓盡致。
整理了一下思路,杜克慢慢有了一個大概的結構劃分。將這個思路傳遞給克裏後,克裏就在Craylinux基礎上精簡出一款針對2路20核平台的新操作係統,開始驗證杜克的想法。