天天看點

疫情期間,阿裡雲超算幹了什麼?

本文轉載自

AIPharos月光社

雲複工、雲問診、雲蹦迪、雲健身……疫情之下,全民上“雲”。支撐這朵“雲”的,是“高性能計算作為服務”的計算方式的變革。 3月6日,阿裡雲高性能計算負責人何萬青博士出席了由中國大資料與智能計算産業聯盟與AIPharos月光社聯合舉辦的“疫情之下,大資料與智能計算産業的挑戰與機遇”線上沙龍,并做了題為《阿裡雲超算與AI新藥研發釋放生命科學潛能》的分享。 作為搭建首個全球雲上超算中心的幕後推手,何萬青博士介紹,雲超算的實體機性能與虛拟化形式,為新冠病毒的藥物研發與篩選提供了很好的算力支撐;阿裡雲上的高性能計算,是一個具有普惠價值的PaaS産品。 阿裡雲認為,所謂新基建就是不要再去弄一個個煙囪,而是要建一個大的發電廠。

以下是何萬青博士的分享内容:

新冠肺炎疫情爆發,很多大學和機構需要快速獲得計算資源,來進行藥物的研究、篩選等工作。是以,阿裡雲在春節期間就開始免費為新藥研發提供計算支援。

目前,已有十餘家機構使用了阿裡雲的服務,其中包含全球健康藥物研發中心(GHDDI)等衆多一線公共科研團隊。

應用領域大緻可分為三類:藥物研發與篩選;通過機器學習與統計方法,對肺部CT進行快速診斷;跟蹤與預測傳染病的傳染率,并快速進行疾控定位。

疫情之下,為什麼要選雲超算

本次新冠病毒研究中,有一大類應用叫無創檢測的标準,即核酸檢測,問題是慢。據媒體報道,在高度保護的狀态下提取核酸樣本,仍然要花3個小時來檢測。

而基于大量的臨床資料,以及病人肺部CT體征等資訊,就能夠利用大資料機器學習确認是否被感染,但問題是需要大量計算力。

在做彈道判斷“起家”的計算機行業中,高性能計算發展得最早。近幾年,GPU的加入讓計算力有了長足進步,很多過去需要算幾天,甚至幾個月的,都可以用GPU加速實作。

超算中心有強大的計算力,但疫情期間要面臨同樣的問題,被隔離。要變配、要更新,在雲上具備更靈活的優勢。原因在于,像阿裡、AWS、微軟這樣服務上百萬家公司的企業,是絕對不允許暫時中斷的。

同時,新藥篩選是一個并發過程。高性能計算中有大量分子動力學、計算化學和基因拼裝等應用,需要提供高通量的并行計算,進行藥物模拟制備和虛拟篩選。

兩年多以前,盡管中國已有太湖之光、天河2号等位列全球超算前兩名的超級計算機,超級計算仍然是少數人才能攀登的“珠穆拉瑪峰”。于是,早年業内有人提出HPC as a service,但計算、存儲、網絡都要達到超算的标準。

為了變“珠穆拉瑪峰”為“青藏高原“,2017年阿裡雲在神龍伺服器的基礎上,開發了一套超級計算機群——通過低延遲、高帶寬的網絡叢集,對外形成虛拟化、随時可彈性伸縮的節點,與圖形節點、登入節點、存儲産品共同構成的平台。

目前,阿裡雲在工業仿真、晶片設計器等大計算上,都是通過高性能超級計算機群來提供服務。

對使用者來說,隻要有阿裡雲賬号,任何人都可以登陸由EHPC提供的雲上高性能計算資源,也可以通過EHPC支援的GHDDI共享研發平台,共享藥物研究成果。

超級計算機群的另一個優勢是,隻要雲計算的可用區在全球分布夠廣,藥物研發就可以很快連結全球開放的藥物資料庫。

對藥物篩選來說,基于阿裡雲EHPC,可以用卷積神經網絡,或者叫知識圖譜的方法進行篩選,極大地縮短了藥物發現過程,而這些可以用機器學習加以提速。得益于這樣的AI算力,阿裡雲支援的GHDDI在其公共平台上公布了針對新冠病毒8個靶點的藥物篩選資料。

高性能計算在雲上

高性能計算的應用,大緻可分為三大領域。

一類是公共科學(public section),與科研相關。一類是行業計算,如汽車碰撞、汽車結構、半導體、晶片等,這些需要連續計算,而且計算規模也非常大。另一類是學校或科研機關,計算時間與計算規模都随需要變化。

其中,行業計算需要長期穩定性,即能夠随時獲得較大規模的計算資源。自建或租用超算中心比較難,因為它們并不具備雲計算最大的特點——彈性、穩定性、可獲得性。雲公司最大的投入,就是穩定性和彈性,以及在背後支撐運維的人和技術,這也是雲公司最重要的優勢。

那麼,在雲上能解決的計算規模有多大呢?

事實上,我們看到那些非常大規模的計算,并不适合在雲上進行;不是不能實作,而是不經濟。

如果你要發一篇論文,或是去打一個榜,完成之後,這部分機器就不用了。這時,就展現出雲計算的另一個特點——可以共享,即你不用的時候别人恰好用,取所有人使用規模的公約數。

另外,高性能計算解決的問題,與AI能解決的問題也有很大不同。

高性能計算是求解目标對象的行為方程,這個方程會分解到各個節點去做計算,而且是同步到每一個時間節點上做同步通訊,然後再進行下一步。如果一個節點慢了,那麼其它節點都要等。這意味着,高性能計算是一個對計算、存儲、網絡要求都非常高的行業,對延遲的容忍度也很低。這主要集中在氣象、大規模的分子動力學模拟,以及汽車碰撞等網格節點數特别多的計算規模中。

雖然有些計算對延遲的要求不高,但是有大量的IO行為或高速的大記憶體通路,例如做渲染、電子電路設計等,這就需要非常大的記憶體。這些在阿裡雲上都是能夠實作的。

回到生命科學本身,很多應用都需要大量的MPI通訊,由于計算十分密集,是以有很多應用發展了不同的GPU版本。目前,用的比較多的是GROMACS和LAMMPS。它們都是做分子動力學模拟的,從分子的角度來說,把你看成你的運動,包括你的互相作用,它隻是不同的力的類型,去通過單個分子的行為模拟群體,是以群體會顯示出氣态、液态或其他形式。如此大規模的計算,在各個藥物的制備中是最常用的。

把高性能計算,變成一個PaaS産品

曾經,雲計算并沒有被很多做高性能計算的人看好。理論上,單個節點的實驗中,實體機的性能一定比虛拟機高,而高性能計算領域的“潛規則“是,要買就買最好最快的機器。

但是,阿裡雲發現,對于大計算特别是高性能計算來說,通過神龍伺服器可以實作虛拟化,“虛拟化損失“這部分被HPC行業鄙視鍊诟病的虛拟化開銷,完全可以省掉。

2017年問世的神龍伺服器,主要通過自研晶片和MOC卡來實作虛拟化功能,并将存儲網絡的管控放上來,使得CPU本身不再浪費,100%地為計算者提供服務。它的優勢顯而易見,但理論上還是會耗掉一點資源。

在容器的情況下,随着節點數的增加,原來浪費的東西會發生組合爆炸,即性能越高,越會趨于性能拐點。但是,在神龍伺服器上,叢集的性能反而會越來越好,因為MOC卡不但會全部将其進行分流,而且還能起到協同作用。

單節點的問題突破後,高性能計算還需要高速網絡。我們會考慮,節點之間通訊的管控是否可以像在公共雲上一樣,實作基于VPC的良好管控,也就是主動運維。

這種情況下,就要适應更多其他的計算模式,可以通過基于RDMA的方式實作。隻要用RDMA連接配接,對外通過虛拟化和MOC卡接入,來得到實體機的性能與虛拟機的接口,再把并行檔案系統做上來就萬事俱備了。這種方式仍然保留了雲計算最重要的特點——計算、存儲、網絡分開,且分别通過不同的産品接入。

通常情況下,如果要建一個超算中心,或者超算叢集,需要買計算節點、檔案存儲做盤陣,以及PC伺服器,這都是硬體的搭建工作。

在雲上,就隻需要一個詞,叫做生産。通過超級計算機群,可以生産節點,這其實就是生成虛機執行個體的過程。雖然是虛機執行個體,但可以通過神龍伺服器得到實體機的功能,同樣可以生産出檔案存儲、NAS和并行檔案系統,包括節點。

這些生産可支援彈性伸縮,是雲計算裡面,包括高性能計算在雲上最強的能力。它可以根據預先制定的政策,快速生産和部署新的機群。

目前,我們可以做到一分半鐘彈性伸縮,并且複制裝過的所有軟體。

在雲上使用高性能計算作為一個服務時,上傳檔案有幾種選擇,通過在局部雲盤上做緩存後集中放在共享檔案系統上,也可以直接放過去,然後再在上面計算,包括可視化計算都可以完成。

試想一下,在雲上面隻要點一下滑鼠,不需要花很多時間去學習如何搭建高性能計算系統,就可以完成所有計算。

國内外的差别也在于此。國外很多老師或使用者,更喜歡雲超算的原因就是,既不用去學習高性能計算,也不用成為IT專家,隻需要對應用了解就可以了。

從這個角度上說,在阿裡雲上的高性能計算是一個PaaS産品,通過 Open API可以挑選任何一種計算節點。是以,阿裡雲現在既能支援超級計算機群,又天然地可以支援很多ECS彈性計算。

彈性計算上雲:用1/10的性能,換9/10的成本

彈性伸縮是高性能雲上最強的一個地方。你可以确定遇到什麼樣的節點,當計算力壓了多長時間的時候,或者你有什麼指令的時候,我可以去擴容。擴容有很多參數,你可以确定它的擴容時間間隔或擴容比例,包括縮容。

如果彈性伸縮與搶占實力配合,就可以得到一個非常了不起的結果——隻損失1/10的性能,但節省9/10的成本。

這叫做搶占式執行個體,即你搶到一個資源,雖然它可能有一定規則,隻讓你用1個或3個小時;如果沒計算完,高性能計算有很多應用,它是有 check point,叫閑時計算,會在釋放之前儲存,進行斷點續算。

針對基因計算,不是每天都算,而是來一個任務才算,就需要複合的彈性伸縮的高性能計算。當任務量增加時,自動生産出新的機器;算完後,發現負荷降低了,再進行釋放。這個過程中就跟用電一樣,靠的是背景技術。

另外,彈性計算可以跨區域跨可用區進行擴張,甚至可以擴張異構節點。例如,基因篩選是并發計算,它并不在乎兩個節點之間的配置是否一樣,如果能夠比較好地進行排程,可以用異構節點做一些别的事情,這是非常大的靈活性。

長期以來,超算領域有點像軍備競賽。業内工程師喜歡把一個性能擠得非常高,但每次隻能服務單個使用者或單個應用。雖然看起來很爽,說起來很牛,可真正普惠的是需要這種生産方式的變化,或者叫計算方式的變化。

雲計算就是這樣一個計算方式的變化,真正的技術突破點都來自神龍伺服器在雲上實作的排程。它帶來的是,讓每一位普通人不用離開家就能進行線上學習、遠端辦公等生産生活活動,這些背後就是普惠性技術在起作用。

正如阿裡雲所說,所謂新基建就是我們不要再去弄一個個煙囪,而是要建一個大的發電廠。

阿裡雲超算疫情期間支援的案例包括GHDDI、清華大學,他們所做的研究大家可以參考:

十晝夜奮戰 十秒内診斷 講座回顧 | 關于新型冠狀病毒藥物研發,丁勝主任幫你劃重點

繼續閱讀