課題上取得了不錯的進展,杜克可以將精力放到泰坦II虛擬系統的改進上,克里依據杜克的指示原汁原味地實現了泰坦II,但是杜克感覺這不是最優的選擇。

特別是在IO和儲存方面,克里具有現在技術完全不具備的條件,如果消除原來的這些限制,克里虛擬出來的泰坦II應該有著比原型機更好的效能才對。果然當杜克指示克里進行進一步的最佳化改進後,僅僅是放開了IO讀取和儲存分配,虛擬泰坦II的效能就幾乎飆升了一倍!

由此可見IO和儲存對於運算速度影響有多大,但是這還沒有完,考慮到CPU和GPU各有所長,杜克期望透過動態調整CPU和GPU的計算節點數量,實現最佳的效能。這個調整思路一出來,克里最佳化出來的泰坦II系統就更加驚人了,在針對偏重浮點運算的測試應用下,具備最大數量GPU配置的泰坦II效能幾乎提升了十倍之多。

當然,對於這種大量浮點運算條件,GPU配置比例差不多達到了百分之九十。要知道這可是完全沒有修改系統架構的前提下實現的,要是研製超級計算機的專家知道有這麼一個強悍的模擬系統,不崩潰掉才怪。

要知道在通常的研究中,超級計算機要想將效能提升十倍,一般至少都需要23年的時間,等到相關硬體子系統效能提升後,累計這些更高效能的子系統才能夠實現,像克里這樣單純經過動態調整、根本就不改變什麼硬體設施就能夠實現,實在太妖孽了。

當然換著是邏輯判斷更多的人工智慧應用,杜克發現這個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核平臺的新作業系統,開始驗證杜克的想法。