“高效制勝、擴展無限—Dell HPC 行業應用實踐交流會”于2012年6月20日在北京悠唐皇冠假日酒店盛大召開,戴爾技術專家及行業技術精英和與會者切磋交流,共商HPC發展之大計。
以下是現場快遞。(聲明:本稿件來源為現場速記,可能有筆誤和別字,僅供參考)
主持人:接下來我們有請的是Dell高性能計算產品技術顧問凌巍才,為我們分享生命科學、氣象行業高性能計算解決方案及成功案例分享,有請。
Dell高性能計算產品技術顧問凌巍才
凌巍才:大家下午好,下面我來介紹一下生命科學還有氣象行業,我們Dell高性能計算的解決方案,以及分享一些這個領域的成功案例。我在Dell公司負責這兩個行業的技術解決方案的技術工程師。
我下午的內容主要有三個部分,一個是生命科學高性能計算解決方案,包括GPU加速還有存儲的,另外介紹一下我們在氣象行業里面曾經做的一個測試,WRF3.3版本,在Dell 的系統進行上測試,以及在這上面進行調優,最后分享一些案例。
在生命科學中,我們有很多用戶,在這么多用戶里面,很多用戶都在采用GPU加速的方案。在介紹之前我大概介紹一下生命科學數據的流向,它通常,生命科學里面的基因分析,是最近幾年新發展起來的一個學科,那么它主要前端通過測序儀,然后產生原始數據,然后通過計算機比對處理,處理完以后把成型的基因存到數據庫里面,提供下游的分析。GPU主要對前端,測序以后進行比對其中的一小段來進行操作的。GPU剛才我們同事也講過了,他是一種協處理器,那么他現在多核CPU是4核或者是8核處理器,通過MP,MD的處理方式,多線程,多數據的處理方式進行處理的。
GPU和CPU結合起來做集群是怎么搭建的,這是一個計算結點,這邊是CPU,這里面有內存。然后這邊是協處理器,這邊是本地的存儲,這邊是高性能存儲,整個是做計算通常的架構。那么現在這種架構做的非常多,包括TOP500里面很多機器都是采用這種架構做的。Dell在GPU解決方案里面提供一個非常全的產品系列,這個系列包括放在外部的,還有一個是放在機器里面的,放在主機系統外部我們有一款產品C410X,可以接不同的主機設備,他是外置的解決方案,這種方案非常獨特,對一些特定的應用非常適合,另外這個是內置的解決方案,內置包括我們P620,R720,以及M610S都可以做。這個就是前面可以接十個GPU,后面插六個GPU,總共可以插十六個GPU,后面這邊是電源可以接四個電源,這邊可以有八個接主機的端口,最多可以接八臺主機,然后里面插16塊卡,可以做到1/2的比例。這樣的產品主要把GPU計算和CPU的計算分開,這樣的話易于GPU和CPU的修改和調試以及進行生產,配置靈活。另外維護GPU的時候服務器可以正常運行,維護主機的時候,GPU可以移到其他主機上進行運行。
GPU發展的非常快,以前有M20,50,現在有M20,90這些GPU,我們在這里面可以,我們機箱不用變,只換GPU就可以跟上GPU的發展趨勢,這也是他的一個特點。再有一個,它非常省電,他是單獨控電,一個GPU有250W,它的功耗非常大,如果把它同樣放在一個機箱內部的話,散熱的管理要很科學,相當于我們在做,假如說我們在做家庭裝修供電的時候,我們照明供電是走一條細的線,空調是比較粗的供電線纜,這樣的話可以極大的養地能耗,分開供電就可以降低它的能耗,因為線纜的粗細,電流增大一點的話,是平方級的增加,所以這個的話特別節點。
這就是一個GPU,可以放在插槽里面,非常易于管理和維護。它非常靈活,最主要的特點就是靈活,一臺主機可以接很多個GPU,這樣的話非常便于使用GPU的用戶,對自己的應用程序進行調試,他可以通過一些設置,來配置成不同的GPU,對自己的應用程序進行調試,看哪種配置方式比較適合,這樣的話極大的降低了用戶的設備成本。
剛才是幾種配置方式,這是另外一種方式,這種可以一臺主機接四個GPU,這邊是一臺主機可以接八個GPU,這一種配置采用C410X的話,可以一臺主機配多達八個GPU的配置,實際上我們還有一種最極端的配置,一臺主機可以連十六個GPU,物理連接十六個GPU,在這種情況下,我們操作系統最多能看得到十三個GPU,也是有一定的限制。但是在這種情況下也已經非常好了,為什么我們要采用這種一對多的GPU連接方式呢,因為有一些應用程序,它的屬性特別適合你把那些數據發到不同的GPU上去計算,這些數據之間相互關聯性又很小,這樣的話就特別適合于這種計算,包括剛才金鵬所介紹的,基因序列比對,以及T和Y比對的,這種應用程序的屬性,當它把原始數據提交到GPU上來的時候,然后他只需要把比對數據提交過來,GPU自己就可以獨立進行計算,而且他們之間也不需要太多的通訊,特別適合于這種類型的應用,并不是說這種配置方式適合所有的應用。
那么再一個,我們叫做三明治,兩臺C6100,他有四個計算節點,一共八個計算節點,這個里面配十六塊GPU,這樣的話他的比例,GPU和主機的比例是2:1,這是一種配置。這個我們叫做開放的三明治,他是配置了4:1,當你那個應用程序暫時還不用了這么多GPU的時候,可以用半三明治的方式,這里面配十六個GPU,四臺節點,這樣的話主機和GPU的配置是4:1。這是一個仿三明治,比例配到8:1,這個是十六個GPU,這個是十六個GPU,配置了四個節點,一共是32個GPU對4個主機節點,這樣的話是8:1的配置,這個就是配置16:1的非常高端的配置,C614,是兩臺主機節點,這里面可以配16個GPU,這樣的話他就可以配一個16:1的情況。
這張圖看一下我們C410X,他是怎么樣和前端來連接的,16個GPU放在這邊,下邊我們有8個HIC的借口,通過交換機連在一起,我們并不需要把機器拆開進行一對一的比對,我們只需要有一個控制界面,我們可以通過這個界面對立面插滿GPU的C410X進行設置,看看他是幾比幾的。這是一個GPU的支持列表,有很多種,這是我們在上個月認證的,大部分Dell的服務器都會支持這個C410X的設備。這個就是做生命科學領域的測試,這個是一個GPU帶四個GPU線性的增長,從這張圖上面可以看出來,對這種應用來講,特別適合于一對多的GPU解決方案。
這個也是分子動力學的應用程序,同樣可以看出來,灰色是一臺主機對四個GPU計算的性能,黃色是一個GPU,黃色是只用CPU,可以看得到,我們用四個GPU的話,他的線性增長率是非常好的。
這個就是我們另外一個分子動力學的應外,這個應用是什么概念呢,有可能我們很多,特別是做網絡的人,他通常會說,你這個交換機是通過一個PCIE連很多GPU會不會有瓶頸,可以告訴大家,在某些應用的時候這個瓶頸是非常小的,在一個、兩個和四個GPU的時候,I/O變化是不大的。做計算之間并不需要GPU和GPU之間進行頻繁的數據交流,所以說這個可以打消一些客戶的疑慮,我們這個是不會影響GPU之間通訊的效果。
剛才說的生命科學領域里面GPU,下面就介紹一下存儲的方案,這張圖是我從華大基因網站上拿下來的,這條綠色的線,可能大家有點看不清楚,這是摩爾定律,黃色片子是它的計算能力,現在他的存儲容量是20個PB的容量,2012年他到達30個PB的容量,意味著每天要有上PB級的數據產生,數據非常大,現在如果把所有的物種基因都變成可以識別的數據存儲起來的話,他的數據量增長非常大,華大基因現在也是全球最大的基因數據生產的領先企業。從這張圖上可以看得到,對存儲需求量非常大,他們有很多應用在做,他們崩塌考慮過,他們把自己的程序改帶,也考慮基于HADO的框架,他們也在考慮Lustre的架構,因為他們這個數據容量是非常有挑戰性的,10個PB的容量,2012年是50PB。我們現在可以提供基于Lustre的解決方案,Lustre的解決方案實際上是一種面向對象定型的文件系統,怎么通常的數據都是按塊存到磁盤上來,他是先把這個數據定義一下,定義成一個對象,對象有個名字,然后有他的屬性,有長度,然后真正的數據,他是按照目標對象存起來的。所以當一個計算節點對這個文件進行訪問的時候,他可以同時訪問不同的對象,所以他是并行的,效率非常高。因為現在有很多文件系統,如果一個計算機節點對這個文件進行訪問的時候,會影響其他客戶對這個文件的訪問,這是非常先進的。
我們也有打包的解決方案,帶寬可以到達9.65GB,這種高端的配置。實際上這種理論是很大的,理論上是無限大的,那么這個特別是大規模的集群系統用的非常多。
這個就是NSS的解決方案,這個解決方案我上午也介紹過了,可以支撐288個TB,主要通過在這個里面配置了五塊盤,兩塊盤做操作系統,另外三塊做虛擬內存,當客戶端對他進行寫的時候,一下就把這個寫進去了,寫完以后,這個寫的操作就結束關閉了,所以說他非常快,性能非常好,這個我們已經介紹過了,基于InfiniBand的性能,可以到非常好的速度。
這個我也不講了,都介紹過了。下面介紹一下WRF應用程序測試,主要做氣象的,在Dell的720上面進行過測試,我們在做應用測試的時候,我們首先要對主機的BIOS進行設定,根據他的特點,內存設置成優化內存,我們再把電源設成最大化,操作系統是3.3,我們首先安裝一些層次軟件和一些編譯器,裝到HDF5,這是專門文件系統。運行出來以后,當時我第一次運行的時候,我挺高興,我回去以后第二天早上一看機器死了,我不知道為什么,后來我用(RUT)運行的,從這個上面可以說明,高性能計算數據容量也是非常多的。測試結果,我們在測試一個星期后,完全結束以后生成了一些文件。
這就是我們的配置文件,在這里我給大家介紹一下,在這里面我們沒有用到Intel的ABS技術編譯指令。這是自動生成的,他自動分析你這個服務器里面有多少個處理器,處理器有多少個核,如果有16個核,他就自動分成16塊進行計算,這是自動生成的,對CPU進行分析的話,CPU應用率是85%,還是比較高的。內存我們是配了65G,我們用了33G,還剩了32G,硬盤磁盤空間我們基本上沒有動,這種應用的話,如果做配置的時候,不用配得特別大,配得大了應用供不上,就配大概一個核兩到三個G的內存就可以了,磁盤區也不用做得很大。這是我們磁盤的情況,磁盤我剛才也說過,運行程序的磁盤空間要比較大。
我們打算用Intel的編譯器進行優化,優化以后我們發現,首先要對MPI進行設置,他里面運行一個函數庫,我們要用Intel的數學庫的話性能會提升三倍,下面就是加速運算的結果。
案例分析,這就是我們做的華大基因的分析,我們怎么樣做的計算節點,我們的網絡、存儲以及管理節點。這是我們做的清華大學生命科學院的網絡結構圖。北師大我們用的是GPU做的計算,他們正好采購了一個三明治。第四軍醫大學,國外就非常多了,就這么多,我的內容就這么多,謝謝大家!