MIT 的教授透過公用雲端中有史以來最大的叢集突破電腦運算的極限

Andrew V. Sutherland 是 MIT 的運算數論家暨首席研究科學家。他使用 Google Compute Engine 管理 L 函式與模組化表單資料庫 (LMFDB),打破了自己的高效能運算記錄,所用的核心數達到 58 萬個。

根據數學哲學課堂中對「物件」的概念,物件基本上是可進行數學運算的任何事物 (例如數字或函式),或數學運算的結果 (例如曲線)。L 函式與模組化表單資料庫 (LMFDB) 是呈現物件本身與物件之間關聯的詳細圖集。LMFDB 是由各國研究人員協力完成,領軍的國際團隊成員來自歐洲和北美洲的大專院校,MIT 也在內。

以往提出的問題可能須費時數月才能解答,但現在數小時內就能解決,我們對做研究的整體看法都有所改觀。

Andrew V. Sutherland, 運算數論家暨首席研究科學家, MIT

方便研究人員彼此分享資料

LMFDB 讓研究人員更容易與世界各地的物理學、電腦科學和數學社群分享物件的相關資料,藉此推動科學的發展。某些用於建立物件的計算方式十分複雜,因此全球只有少數幾個人才知道如何計算。其他計算方式涉及的層面太廣,計算過程非常耗時且執行成本昂貴,因此以執行一次為限。

負責維持 LMFDB 運作的團隊需要有適合的雲端服務,以便因應與日俱增的儲存空間需求。建立 LMFDB 中的物件花費了將近 1,000 年的計算時間,可見這些物件所占用的儲存空間相當龐大。除了儲存空間這一大難題以外,他們還必須面對資源調度的問題。LMFDB 開放 lmfdb.org 的所有人使用,因此專案必須經過資源調度,才能應付每天無數次的搜尋作業。最後,由於 LMFDB 是一項協作式專案,因此團隊需要各個國家/地區的人員都能輕鬆管理的系統。

專心研究而不必費心管理基礎架構

評估過好幾種雲端解決方案後,LMFDB 團隊決定選用 Google Cloud (Google Cloud),原因在於這項服務效能出眾、可自動調度資源、容易操作,以及穩定性高。

Andrew V. Sutherland 是 MIT 的數學教授、運算數論家暨首席研究科學家,也是參與 LMFDB 和決策過程的主要研究人員之一。

「我們是數學家,只想專心進行研究,不想要費心處理硬體故障或網站的資源調度問題。」Sutherland 表示。

Sutherland 和 LMFDB 團隊的其他成員選擇使用 Google Compute Engine (GCE) 和 Google Persistent Disk 託管網路伺服器,並採用鏡像 MongoDB 資料庫儲存 512 GB 的線上資料及 3 TB 存取頻率較低的資料。這種設定讓 LMFDB 能夠視需求調度資源,並在研究人員有需要時快速提供運算結果和數學物件。為了讓世界各地的研究人員能夠更輕鬆地共同管理這個資料庫,LMFDB 還使用了多種 Google Cloud 工具,包括 Google Stackdriver、Google Cloud Console 和 Google Cloud Load Balancing。

Sutherland 想在 LMFDB 中執行及儲存一份格外複雜的列表;這份列表十分龐大,所需的運算能力遠超過公開雲端過去曾達到的極限。為了達成這個目標,他選擇使用 GCE 並利用先占 VM 執行 58 萬個核心;這是目前已知在公開雲端上執行過最大的高效能電腦叢集。

計算結果產生 7 萬條不同的曲線,每條曲線都有各自的 LMFDB 項目。光是要找出其中一條曲線,就是一項需要大量運算週期的浩大工程。「這簡直像大海撈針。」Sutherland 說。

在改用 GCE 執行計算之前,Sutherland 是使用自己的 64 核心電腦處理工作,相當耗時。他唯一的替代方案是擷取 MIT (麻省理工學院) 叢集的計算時間,但這不但難以取得,且大大限制了可用的軟體配置。有了 GCE,Sutherland 不再苦於核心數量不足,而能安裝正確的作業系統、程式庫和應用程式,並隨時更新環境。

得益於 Google Cloud 的擴充能力,從學生到資深研究人員在內,所有人都能透過網頁介面輕鬆搜尋及瀏覽 LMFDB 的內容。舉例來說,Sutherland 上了一堂有關橢圓曲線的課程後,學生可以使用 LMFDB 完成作業。

以合理的價格執行大量計算,減少不必要的花費

考量到許多研究人員和教育機構的預算有限,Google Cloud 可讓這些人員/機構以合理的價格執行大量計算。Sutherland 使用的 GCE 先占 VM 可執行非常複雜的計算作業,同時大幅降低成本。相較於標準版本的執行個體,使用這類功能完備的執行個體最多可省下 80% 的費用,因為 GCE 可中斷這些執行個體。不過,中斷計算並不會嚴重影響成效。一般而言,在每個小時的計算作業中,只有百分之二到三的執行個體會發生中斷問題。系統會透過指令碼自動重新啟動這些執行個體,直到整個工作完成為止,因此損失的時間並不多。Sutherland 接受這樣輕微的中斷,故而能壓低計算成本又幾乎沒有延遲地完成作業。

我們正在勾勒 21 世紀數學發展的樣貌

Andrew V. Sutherland, 運算數論家暨首席研究科學家, MIT