奮進號歷險記(上)

上回書說道,2013 年奮進號(Endeavour)超算機接入了 NASA 的高性能計算中心(NAS HPCC)。這一日,我所在的 NASA 數學地球研究組(NASA Earth Exchange)迎來了一位貴客,就是矽谷圖形公司(Silicon Graphics, Inc,大名鼎鼎的 SGI)的 CTO,Eng Lim Goh博士。

Dr. Eng Lim Goh博士

Goh博士1989年加入 SGI,1998 年做到了總工程師,2001 年起一直擔任 SGI 的 CTO。研究興趣是從數據密集型計算和機器學習。2005年,InfoWorld雜誌將Goh博士列入世界上最具影響力的25位CTO。根據Goh博士的亞洲面孔、年紀,名字拼寫以及在英國的求學經歷,我感到這是一位南洋亞裔精英,父輩可能是馬來華人或新加坡人。在讀李光耀傳時,看到不少人名的閩南語(hokkien)拼法,Lim 一般是「林」,Goh基本上是「吳」,Eng不太清楚,有可能是「永」。吳博士一路走來,這個名字的發音之難想必帶來不少的困擾,但是大丈夫行不改名 ,坐不改姓,終成業界翹楚。

聊到 SGI,順便說一句。我們這個時代的不少人都是從 OpenGL 、侏羅紀公園知道 SGI 的,SGI是從做圖形起家的,OpenGL也是SGI最先提出的。有的朋友玩過圖形工作站,在這方面 SGI 還有不少忠實的 Fans。創投圈大家喜聞樂見的李開復老師,也是 SGI 的前員工。SGI 的創辦人是傳奇人物 James Clark,此人出生窮苦,高中輟學後進入海軍,當了四年水手。讀夜校上的大學學物理,最後在猶他大學拿的計算機博士。此人還是網景公司(Netscape)的創始人,算是矽谷的精神偶像之一。

克拉克跟他的第四任老婆,維密模特Kristy Hinze

我本來的工作跟 SGI 毫無瓜葛。原因很簡單,SGI就不是伺候一般用戶的,軟體跟圖形工作站搭著賣,平台也不對外開放,想靠自己的牛逼硬體和軟體壟斷高端市場,只可惜歷史證明,打錯了算盤。看看介紹矽谷商戰的書籍,2000年前後,市場上的 SGI 就已經被pc工作站打到潰不成軍了。並不掌握CPU研發技術的SGI只能坐視Dell等PC廠商崛起,後期SGI雖然使用了諸如自製的高性能匯流排等技術來提升系統性能,無奈CPU只能和別人一樣用Pentium,花費昂貴代價搞出來的主機比Dell、HP等公司的產品只快一點而已,自然毫無競爭力可言。2006年3月8日,SGI申請破產保護。幾經轉賣,目前的老闆是HPE慧與科技(Hewlett Packard Enterprise)。

但是SGI的超算系統又有不同,用戶很多,據它自己說,世界上 Top500的超算機,一大半都是 SGI 做的。奮進號上的UV2000 系統,也是 SGI 給做的。這個事我感覺吧,伺候大老闆跟屌絲的區別就在於,前者在於編著法講故事,變著法花錢。比方這個 UV2000,牛就牛在其共享內存的架構,這也是吳博士來我們這裡宣講的主要內容,就是下面兩張表:

當年吳博士準備的PPT 上的本來是有兩張圖的,後面一張是張環狀圖,很形象的,可惜找不到了。

當然,具體的實現還是socket,node,rack 這些:

本地的內存的 IO 速度跟遠程虛擬內存的速度也是有區別的:

Endeavour的兩個結點,共享內存原來是 4TB,後來給加到 6TB。理論上說,你交單個任務的時候一口氣要 2TB的內存,Endeavour也會給你。問題是,在什麼情況下你非得同時用到 2TB 的內存,不可?

我當時做的主要是生態系統模擬,數據量雖然大,也是一天一天算的,一張全球的圖又可以分區分塊,根據需要來調整,實在不需要用到這麼大的共享內存。我們組裡的技術員也參加了討論,當時想出來的題目,在Endeavour上先跑一個支持共享內存的ENVI 5.0特別版,然後讓 ENVI 去做全球 Landsat 圖像的拼接鑲嵌。不過這也就是殺雞牛刀,硬湊的。

吳博士在我們這裡把 UV2000 大講了一通,也就是把問題撂下:基於UV2000 的Endeavour是目前有世界上最大共享內存(?)的高速計算機,其它行業已經在它的支持下實現了種種突破,希望在地學領域也能找到Endeavour可以助力的題目。說完這一句,吳博士翩然而去,留下我們冥思苦想。

有段時間,大家湊一塊的時候就聊Endeavour,聊怎麼樣用它的 2TB 內存,還要顯得不是那麼太笨?想來想去想不出,咱又不是流體力學,又不是天文演替,又不是 3D 建模,又不是熱帶氣旋模擬。遙感衛星資料在體量上雖然大,都是些時空片斷,搞分散式計算雖然麻煩些,在概念上卻非常容易。能有什麼樣的地學模型、工具不容易分散式化,從而需要共享內存計算模型來介入?無果。

一年以後,我終於為Endeavour在地學領域找到了一個題目,而且非它不可,所謂棋逢對手,將遇良材,金風玉露一相逢,便勝卻人間無數。

且聽下回分解。


推薦閱讀:

請問pcie x16/x8以及sli/cfx對運算卡性能的影響?
人腦的並行計算能力有多強?
為什麼用OpenMP並行計算會出現比單線程還要慢?該怎樣正確使用OpenMP?
MPP 與 Hadoop是什麼關係?
並行計算在 Quant 中是如何應用的?

TAG:Open64 | 并行计算 | 互联网 |