專利名稱:一種移動hpc系統(tǒng)及其實現(xiàn)方法
技術領域:
本發(fā)明涉及計算機系統(tǒng),特別涉及高性能計算領域。
背景技術:
由于傳統(tǒng)的HPC體積龐大,耗電量多,計算能力達到千萬億次,一般適用于天氣預 報、地理數(shù)據(jù)采集,軍事國防等大型的國家級或者世界級應用。傳統(tǒng)的HPC顯然不適于個人 或者中小型企業(yè)擁有,但是他們依然有一些大量計算的需求。例如,公司財務計算、人體參 數(shù)指標分析等應用。針對于小型的高性能計算,無論在國內還是在國際上仍是一片空白。移 動HPC系統(tǒng)是針對于解決這一問題而產生的一種技術。HPC系統(tǒng)由于其體積的限制不能為普通計算機用戶使用,但隨著科技的進步數(shù)據(jù) 量的爆炸式發(fā)展,越來越多的用戶需要高性能計算機來進行計算或者編程。本發(fā)明提出了 一種移動的HPC系統(tǒng)。該移動HPC的特點是體積小、耗電少、適合攜帶、使用簡單。多核處 理器自問世以來,以其富有競爭力的性能/價格比,迅速成為高性能計算的主流。由中科院 計算所自主研發(fā)的龍芯處理器,是21世紀處理器家族中的一顆新星。龍芯自問世以來,以 它低廉的價位,超低的功耗,多核的高性能迅速擴展了他的應用市場。目前市面上PC系統(tǒng), 如筆記本電腦,雖然操作便捷,但計算能力不足,本發(fā)明提出了一種可以利用在視窗系統(tǒng)中 操作HPC系統(tǒng)從而獲得更高的運行速度。
發(fā)明內容
為實現(xiàn)本發(fā)明目的,本發(fā)明提出了一種移動HPC系統(tǒng),由計算節(jié)點和用戶終端組 成,計算節(jié)點和用戶終端通過網線相互連接交互數(shù)據(jù),其特征在于所述計算節(jié)點包括智 能代理模塊,其用于自動檢測計算節(jié)點的系統(tǒng)配置、自動報告計算節(jié)點的運行狀態(tài)和資源 利用情況;所述用戶終端包括虛擬機模塊,其安裝有Linux操作系統(tǒng);資源供應服務模塊, 其安裝在所述Linux操作系統(tǒng)中用于管理用戶作業(yè)、管理計算節(jié)點資源、管理計算節(jié)點文 件系統(tǒng);加載器模塊,其安裝在所述Linux操作系統(tǒng)中與所述資源供應服務模塊協(xié)同工作, 由提交作業(yè)、查詢作業(yè)和終止作業(yè)的腳本組成;其中所述用戶終端上安裝有視窗操作系統(tǒng), 在操作系統(tǒng)中安裝有用戶世界模塊,其用于將用戶的請求提交給資源供應服務模塊。所述計算節(jié)點包括一片低功耗通用處理器;2片DDR2內存;北橋模塊;2個GBIC 模塊;一片快閃存儲器;IOS模塊組成的硬件系統(tǒng),其中快閃存儲器中燒有精簡過的Linux 內核。所述低功耗通用處理器為龍芯3A通用處理器。所述資源供應服務模塊接受來自用戶世界模塊的關于作業(yè)管理的請求,包括作業(yè) 的提交、暫停、重啟、停止以及作業(yè)狀態(tài)的查詢、作業(yè)執(zhí)行結果的返回、返回資源使用信息以 及程序運行狀態(tài)。所述資源供應服務模塊與智能代理模塊進行交互,收集計算節(jié)點資源信息,對計 算節(jié)點進行關閉/開關機操作。
所述資源供應服務模塊和所述用戶世界采用socket通信,同時數(shù)據(jù)傳輸時全部 采用char型數(shù)據(jù)類型。本發(fā)明還提出了一種移動HPC的實現(xiàn)方法,包括步驟1用戶在圖形界面上與資源供應服務模塊建立連接,在用戶熟悉的程序界面 將程序編輯好后將程序放在指定的工程目錄下;步驟2 用戶編譯程序,圖形界面上的編譯按鈕將用戶的程序提交到遠程的智能 代理模塊編譯;步驟3 編譯結果在智能代理模塊自動返回到用戶世界本地,用戶根據(jù)返回的結 果做進一步修改,編譯完成后用戶在本地工程目錄下獲得可以在智能代理模塊上運行的可 執(zhí)行文件;步驟4 用戶將可執(zhí)行文件創(chuàng)建作業(yè),并提交作業(yè)到作業(yè)列隊;步驟5 資源供應服務模塊捕捉用戶的提交請求為該作業(yè)分配資源,并且通知智 能代理模塊掛載作業(yè)所在目錄;步驟6 智能代理掛載了用戶端目錄后會去執(zhí)行作業(yè)文件中所描述的作業(yè),然后 將作業(yè)轉化為運行狀態(tài)提交給用戶世界。所述步驟4包括如下步驟步驟4. 1 用戶為程序所在的目錄創(chuàng)建快捷方式;步驟4. 2 用戶雙擊快捷方式可以使用戶目錄直接顯示在作業(yè)路徑里;步驟4. 3 用戶通過右擊可執(zhí)行文件從而創(chuàng)建作業(yè)。
所述步驟5包括如下步驟步驟5. 1 資源供應服務模塊接受智能代理模塊返回的處理器資源信息;步驟5. 2 根據(jù)提交作業(yè)的數(shù)目分配處理器資源,同時記錄相應的處理單元ID號, 建立用戶作業(yè)與處理單元ID的一個映射表;步驟5. 3 資源供應服務模塊向已經為作業(yè)分配的處理單元上的智能代理模塊發(fā) 送Mount文件系統(tǒng)請求,并等待返回操作結果;如果mount成功,資源供應服務模塊通過 ssh以腳本形式運行已經提交的作業(yè),并返回進程ID給用戶圖形界面;如果mount失敗,則 向用戶圖形界面返回加載作業(yè)失敗。所述步驟6中用戶可以在圖形界面上終止處于任何狀態(tài)的作業(yè)。作業(yè)的狀態(tài)有等待、提交、運行、完成、崩潰;用戶可以在用戶世界的圖形界面中 查看作業(yè)運行的歷史日志和每個計算節(jié)點的CPU利用率和內存使用率;用戶在查看作業(yè)歷 史和資源利用率時,用戶世界會把用戶請求提交給資源供應服務模塊時,資源供應服務模 塊會執(zhí)行虛擬機模塊上的一個bash腳本文件去查詢智能代理上的相應信息,然后將信息 返回給用戶世界。
圖1是本發(fā)明的系統(tǒng)圖;圖2是本發(fā)明的系統(tǒng)流程3是本發(fā)明用戶使用模式圖
圖4是本發(fā)明智能代理裝置的工作機制圖。圖5是本發(fā)明資源供應服務裝置的工作流程圖。圖6是本發(fā)明作業(yè)狀態(tài)轉換7是本發(fā)明軟件協(xié)議棧圖8是本發(fā)明的系統(tǒng)結構圖。
具體實施例方式本發(fā)明提出了一種移動HPC系統(tǒng),如圖1所示。該系統(tǒng)包括以下的裝置。需要一個 叫做計算節(jié)點1的硬件裝置。如圖1中的黑盒子。計算節(jié)點是由一片低功耗通用處理器、 2片DDR2內存、北橋模塊、2個GBIC模塊、一片快閃存儲器、BIOS模塊組成的硬件系統(tǒng)???閃存儲器中燒有精簡過的的Linux內核。在每一個計算節(jié)點上裝有一個稱為agent智能代 理模塊2,智能代理模塊自動檢測系統(tǒng)配置、自動報告節(jié)點的運行狀態(tài)和資源利用情況。計 算節(jié)點通過網線和用戶終端3連接。用戶終端上安裝有稱為VMware的虛擬機模塊4。虛 擬機模塊上安裝有Linux操作系統(tǒng)9?;谶@個操作系統(tǒng)之上安裝有一個管理和分配的軟 件裝置稱為!Service的資源供應服務模塊5。一個叫做loader的加載器模塊6。加載器 模塊與資源供應服務模塊協(xié)同工作,該加載器模塊6是由一些腳本組成。包括提交作業(yè)、查 詢作業(yè)、終止作業(yè)的腳本。用戶終端3上安裝有視窗操作系統(tǒng)7,基于操作系統(tǒng)之上部署有 一個可以提交用戶請求的稱為PHPCWorld的用戶世界8,用戶世界的主要功能是將用戶的 請求提交給資源供應服務模塊2。低功耗處理器可以為龍芯3A通用處理器,或英特爾凌動 (IntelAtom)處理器。本發(fā)明的實施例中的低功耗通用處理器采用的是龍芯3A通用處理器。其中智能代理模塊,如圖2所示。智能代理模塊有三種角色Agent_Member、 Agent_Leader、Agent_Prince。Agent_Leader是智能代理模塊和資源供應服務模塊之間交 流的橋梁,即資源供應服務模塊通過Agent_Leader向所有的Agent_Member取回信息。在 不同的環(huán)境下,Agent_Leader可能會換不同的IP,這樣會給配置造成麻煩,因此給Agent_ Leader綁定一個虛擬的靜態(tài)IP稱為Leader_VIP。需要一個稱為用戶終端的硬件裝置。用 戶終端是PC機或者筆記本電腦均可。其中虛擬機模塊,虛擬機模塊采用固定用戶系統(tǒng)配置,屏蔽不同系統(tǒng)之間的差異, 實現(xiàn)用戶零配置、傻瓜式使用。虛擬機模塊會在用戶終端啟動的時候自隱藏啟動。虛擬機 模塊上安裝有Linux操作系統(tǒng)。關于資源供應服務模塊,其是實現(xiàn)小型跨平臺計算的主要裝置,主要有管理用戶 作業(yè)、管理計算節(jié)點資源、管理計算節(jié)點文件系統(tǒng)的作用。需要一個叫做loader的加載器 模塊。加載器模塊運行在虛擬機模塊上的Linux操作系統(tǒng)上。加載器模塊與資源供應服務 模塊協(xié)同工作,該加載器模塊是由一些腳本組成,包括提交作業(yè)、查詢作業(yè)、終止作業(yè)的腳 本。資源供應服務模塊是在啟動計算節(jié)點后,虛擬機模塊上啟動的一個daemon服務,它主 要管理用戶作業(yè)和計算節(jié)點資源。資源供應服務模塊接受來自用戶世界的關于作業(yè)管理的 請求,包括作業(yè)的提交,暫停,重啟,停止以及作業(yè)狀態(tài)的查詢,作業(yè)執(zhí)行結果的返回,返回 資源使用信息以及程序運行狀態(tài)。資源供應服務模塊與智能代理模塊進行交互,收集計算 節(jié)點資源信息,對計算節(jié)點進行關閉/開關機操作。資源供應服務模塊會與智能代理模塊交互,要求其mount/umount用戶的NFSclient0對于加載器模塊,其是由一些腳本組成的軟件裝置,它與資源供應服務模塊協(xié)同 工作,這些腳本在資源供應服務模塊向智能代理模塊施加操作的時候使用。這些腳本的功 能有運行作業(yè)、查詢作業(yè)狀態(tài)、殺死作業(yè)。資源供應服務模塊和加載器模塊之間通過文件 傳遞信息。比如提交作業(yè),資源供應服務模塊會把為作業(yè)分配的計算節(jié)點的IP,作業(yè)的路 徑、類型形成一個文件,然后加載器模塊去讀這個文件,然后通過SSH命令遠程提交這個作 業(yè),那么這個作業(yè)就會在為作業(yè)所分配的計算節(jié)點上運行起來。關于用戶世界,其主要功能是將用戶的請求提交給資源供應服務。用戶會有編輯 作業(yè),遠程編譯、提交作業(yè),殺死作業(yè),查詢當前資源利用狀況、查詢作業(yè)運行日志等請求。 用戶世界是一個圖形界面的軟件裝置,圖形界面為用戶提供無跳轉單頁面圖形化的管理。 整套軟硬件裝置可以為用戶提供從用戶終端上實現(xiàn)在不同平臺上進行計算的計算環(huán)境。關于模塊間通訊協(xié)議設計,資源供應服務模塊和用戶世界采用socket通信,同時 數(shù)據(jù)傳輸時全部采用char型數(shù)據(jù)類型。通信數(shù)據(jù)包結構定義如下
權利要求
1.一種移動HPC系統(tǒng),由計算節(jié)點和用戶終端組成,計算節(jié)點和用戶終端通過網線相 互連接交互數(shù)據(jù),其特征在于所述計算節(jié)點包括智能代理模塊,其用于自動檢測計算節(jié)點的系統(tǒng)配置、自動報告計算節(jié)點的運行狀態(tài) 和資源利用情況;所述用戶終端包括虛擬機模塊,其安裝有Linux操作系統(tǒng);資源供應服務模塊,其安裝在所述Linux操作系統(tǒng)中用于管理用戶作業(yè)、管理計算節(jié) 點資源、管理計算節(jié)點文件系統(tǒng);加載器模塊,其安裝在所述Linux操作系統(tǒng)中與所述資源供應服務模塊協(xié)同工作,由 提交作業(yè)、查詢作業(yè)和終止作業(yè)的腳本組成;其中所述用戶終端上安裝有視窗操作系統(tǒng),在操作系統(tǒng)中安裝有用戶世界模塊,其用 于將用戶的請求提交給資源供應服務模塊。
2.根據(jù)權利要求1所述的移動HPC系統(tǒng),其特征在于所述計算節(jié)點包括一片低功耗通用處理器;2片DDR2內存;北橋模塊;2個GBIC模塊;一片快閃存儲器; IOS模塊組成的硬件系統(tǒng),其中快閃存儲器中燒有精簡過的Linux內核。
3.如權利要求2所述的基于移動HPC的系統(tǒng),其特征在于所述低功耗通用處理器為 龍芯3A通用處理器。
4.根據(jù)權利要求1所述的移動HPC系統(tǒng),其特征在于所述資源供應服務模塊接受來自用戶世界模塊的關于作業(yè)管理的請求,包括作業(yè)的提 交、暫停、重啟、停止以及作業(yè)狀態(tài)的查詢、作業(yè)執(zhí)行結果的返回、返回資源使用信息以及程 序運行狀態(tài)。
5.根據(jù)權利要求1所述的移動HPC系統(tǒng),其特征在于所述資源供應服務模塊與智能代理模塊進行交互,收集計算節(jié)點資源信息,對計算節(jié) 點進行關閉/開關機操作。
6.根據(jù)權利要求1所述的移動HPC系統(tǒng),其特征是在于所述資源供應服務模塊和所述用戶世界采用socket通信,同時數(shù)據(jù)傳輸時全部采用 char型數(shù)據(jù)類型。
7.一種移動HPC的實現(xiàn)方法,包括步驟1用戶在圖形界面上與資源供應服務模塊建立連接,在用戶熟悉的程序界面將程 序編輯好后將程序放在指定的工程目錄下;步驟2 用戶編譯程序,圖形界面上的編譯按鈕將用戶的程序提交到遠程的智能代理 模塊編譯;步驟3:編譯結果在智能代理模塊自動返回到用戶世界本地,用戶根據(jù)返回的結果做 進一步修改,編譯完成后用戶在本地工程目錄下獲得可以在智能代理模塊上運行的可執(zhí)行 文件;步驟4 用戶將可執(zhí)行文件創(chuàng)建作業(yè),并提交作業(yè)到作業(yè)列隊;步驟5 資源供應服務模塊捕捉用戶的提交請求為該作業(yè)分配資源,并且通知智能代 理模塊掛載作業(yè)所在目錄;步驟6 智能代理掛載了用戶端目錄后會去執(zhí)行作業(yè)文件中所描述的作業(yè),然后將作 業(yè)轉化為運行狀態(tài)提交給用戶世界。
8.根據(jù)權利要求7所述的移動HPC的實現(xiàn)方法,其特征是,所述步驟4包括如下步驟 步驟4. 1 用戶為程序所在的目錄創(chuàng)建快捷方式;步驟4. 2 用戶雙擊快捷方式可以使用戶目錄直接顯示在作業(yè)路徑里; 步驟4. 3 用戶通過右擊可執(zhí)行文件從而創(chuàng)建作業(yè)。
9.根據(jù)權利要求7所述的移動HPC的實現(xiàn)方法,其特征是,所述步驟5包括如下步驟 步驟5. 1 資源供應服務模塊接受智能代理模塊返回的處理器資源信息;步驟5. 2 根據(jù)提交作業(yè)的數(shù)目分配處理器資源,同時記錄相應的處理單元ID號,建立 用戶作業(yè)與處理單元ID的一個映射表;步驟5. 3 資源供應服務模塊向已經為作業(yè)分配的處理單元上的智能代理模塊發(fā)送 Mount文件系統(tǒng)請求,并等待返回操作結果;如果mount成功,資源供應服務模塊通過ssh 以腳本形式運行已經提交的作業(yè),并返回進程ID給用戶圖形界面;如果mount失敗,則向用 戶圖形界面返回加載作業(yè)失敗。
10.根據(jù)權利要求7所述的移動HPC的實現(xiàn)方法,其特征是,所述步驟6中 用戶可以在圖形界面上終止處于任何狀態(tài)的作業(yè)。
11.根據(jù)權利要求10所述的移動HPC的實現(xiàn)方法,其特征是,所述步驟6中 作業(yè)的狀態(tài)有等待、提交、運行、完成、崩潰;用戶可以在用戶世界的圖形界面中查看作業(yè)運行的歷史日志和每個計算節(jié)點的CPU利用率和內存使用率;用戶在查看作業(yè)歷史和 資源利用率時,用戶世界會把用戶請求提交給資源供應服務模塊時,資源供應服務模塊會 執(zhí)行虛擬機模塊上的一個bash腳本文件去查詢智能代理上的相應信息,然后將信息返回 給用戶世界。
全文摘要
本發(fā)明公開了一種移動HPC系統(tǒng)及其實現(xiàn)方法,該系統(tǒng)由計算節(jié)點和用戶終端組成,計算節(jié)點和用戶終端通過網線相互連接交互數(shù)據(jù),所述計算節(jié)點包括智能代理模塊,所述用戶終端包括用戶世界模塊、虛擬機模塊、資源供應服務模塊、加載器模塊,其中所述用戶終端上安裝有視窗操作系統(tǒng),在操作系統(tǒng)中安裝有用戶世界模塊,其用于將用戶的請求提交給資源供應服務模塊。其作用在視窗系統(tǒng)中操作HPC系統(tǒng)從而獲得更高的運行速度。
文檔編號G06F15/173GK102096655SQ201110033760
公開日2011年6月15日 申請日期2011年1月31日 優(yōu)先權日2011年1月31日
發(fā)明者周俊平, 孫凝暉, 安學軍, 王磊, 詹劍鋒 申請人:中國科學院計算技術研究所