和 榮,王小寧,盧莎莎,趙一寧,肖海力,遲學斌
1(中國科學院 計算機網(wǎng)絡(luò)信息中心,北京 100190)
2(中國科學院大學,北京 100049)
高性能計算環(huán)境是現(xiàn)代社會科學研究、社會服務(wù)、經(jīng)濟活動中一種極為重要的戰(zhàn)略工具.我國高性能計算資源日益豐富,多領(lǐng)域的大規(guī)模應用對計算能力也提出了超高需求,關(guān)鍵問題是如何充分、有效的組織和利用國家高性能計算環(huán)境[1]的資源滿足這些需求.國家高性能計算環(huán)境聚合國內(nèi)優(yōu)秀的高性能計算資源,面向用戶提供便捷的高性能計算服務(wù).從趨勢來看,國家高性能計算環(huán)境不僅是計算的基礎(chǔ)設(shè)施,也要成為一種公共服務(wù),為廣大用戶群提供及時、優(yōu)質(zhì)和不間斷的計算服務(wù),既要支持大規(guī)模的并行計算,也要利用云計算和大數(shù)據(jù)的理念以最小的代價為用戶提供服務(wù),提供便捷的高性能計算服務(wù).云計算的個性化定制和服務(wù)化是高性能計算未來發(fā)展的趨勢.此外,大數(shù)據(jù)的發(fā)展也為高性能計算帶來了新的機遇和具體應用,高性能計算已經(jīng)成為大數(shù)據(jù)存儲和處理的基礎(chǔ)平臺,提供大規(guī)模數(shù)據(jù)密集型計算所需的大容量、低延遲和高帶寬的處理能力,為數(shù)據(jù)分析人員提供計算服務(wù).
國家高性能計算環(huán)境目前包括底層環(huán)境關(guān)鍵模塊、通用計算平臺[2]、應用社區(qū)等.隨著高性能計算環(huán)境的持續(xù)運行,用戶的計算需求快速增長,對資源的需求不斷上升.環(huán)境急需擴充資源以提供更強大的計算能力,滿足不同應用領(lǐng)域的計算需求,同時也對環(huán)境擴展性、易用性和可靠性提出更高要求,環(huán)境關(guān)鍵模塊[3]必須進行優(yōu)化升級和功能擴展.
高性能計算環(huán)境通用計算平臺從底層架構(gòu)設(shè)計到上層頁面顯示實現(xiàn)了全新蛻變,包括對其功能進行擴展,根據(jù)用戶的需求設(shè)計相關(guān)模塊,為用戶提供更加優(yōu)質(zhì)的服務(wù).通用計算平臺Portal 2.0以更好的滿足用戶計算需求,方便快捷的提交作業(yè)任務(wù)并獲取計算結(jié)果為設(shè)計理念.針對用戶提供個性化的高性能計算服務(wù),以達到應用軟件按需動態(tài)發(fā)布,支持用戶定制計算軟件和計算資源等個性化服務(wù)的目標.通用計算平臺的建設(shè)將進一步擴大高性能計算環(huán)境的用戶群,推動高性能計算在更多領(lǐng)域的發(fā)展,提高國家高性能計算環(huán)境影響力.
本文圍繞國家高性能計算環(huán)境通用計算平臺Portal 2.0展開敘述,重點介紹平臺的整體結(jié)構(gòu)、涉及的關(guān)鍵技術(shù)、主要功能以及實現(xiàn)過程和最終效果.
高性能計算環(huán)境通用計算平臺Portal 2.0主要包括底層的基礎(chǔ)服務(wù)、服務(wù)端和客戶端3部分組成.具體如圖1所示.
基礎(chǔ)服務(wù)提供Portal 2.0的運行環(huán)境.它包括日志管理、SCEAPI[4]、Memecached、MySQL和Web容器等組件.
圖1 Portal 2.0整體結(jié)構(gòu)圖
日志主要用來記錄系統(tǒng)中的各種事件,方便出現(xiàn)錯誤時查找原因等.記錄的日志還可以作為數(shù)據(jù)來源進行分析,從日志中提取有用的信息,如錯誤信息等,在以后的運維中有效避免類似錯誤.SCEAPI是中國科學院科學計算環(huán)境(Scientific Computing Environment,SCE)[5]的跨接口和語言的通用接口.SCEAPI接口包括用戶、資源、作業(yè)、數(shù)據(jù)和監(jiān)控等多個方面的功能.為保證數(shù)據(jù)的安全性,有效避免直接操作數(shù)據(jù)庫,所有獲取環(huán)境數(shù)據(jù)的請求必須通過調(diào)用SCEAPI接口實現(xiàn).Portal 2.0使用MySQL數(shù)據(jù)庫保存用戶的數(shù)據(jù)等相關(guān)信息.為避免重復訪問接口,減少服務(wù)端負載統(tǒng)計信息等采用Memcached機制.Web容器主要保證系統(tǒng)運行,處理各個模塊之間的端口轉(zhuǎn)發(fā).
服務(wù)端主要利用基礎(chǔ)服務(wù)中的組件開發(fā)的功能模塊.作業(yè)提交、作業(yè)管理、文件管理是通用計算平臺必備的核心功能.作業(yè)提交服務(wù)完成JSDL(Job Submission Description Language)[6]描述標簽處理、JSDL作業(yè)描述文件完成、文件上傳、向SCE中間件提交作業(yè)等功能.作業(yè)管理服務(wù)實現(xiàn)向用戶展示實時作業(yè)的狀態(tài)信息和終止作業(yè)功能.文件管理涉及文件實時查看和無緩存數(shù)據(jù)流下載完成實時作業(yè)工作目錄文件列表、文件屬性和文件內(nèi)容查看、大文件下載功能.
統(tǒng)一登錄和授權(quán)為技術(shù)人員使用SCEAPI進行社區(qū)或網(wǎng)站開發(fā)提供便捷服務(wù).開發(fā)人員無需重新開發(fā)登錄模塊,可直接調(diào)用統(tǒng)一登錄模塊為系統(tǒng)添加登錄功能.授權(quán)機制為各個服務(wù)訪問的安全準確提供保障.
開發(fā)人員面向用戶提供的服務(wù),主要是指瀏覽器端的Web頁面.用戶通過客戶端發(fā)送各種請求到服務(wù)端,服務(wù)端響應后返回數(shù)據(jù)顯示在客戶端.如通過提交作業(yè)頁面可提交作業(yè)并查看作業(yè)狀態(tài)信息;在作業(yè)運行過程中可實時在線瀏覽作業(yè)文件信息或下載文件.在此過程中只需輸入作業(yè)的基本信息、參數(shù),點擊輸入文件上傳到服務(wù)端,即可提交一個作業(yè),極大的簡化了用戶提交作業(yè)的流程,使用起來也更加方便.
客戶端頁面主要采用HTML5、CSS、JavaScript實現(xiàn).客戶端從服務(wù)端獲取XML或JSON格式的數(shù)據(jù)后根據(jù)頁面的設(shè)計呈現(xiàn)給用戶.
考慮到不同用戶的使用習慣和模式,不同科學領(lǐng)域計算任務(wù)的特點,不同應用軟件的特點,以及當前網(wǎng)絡(luò)發(fā)展的趨勢,高性能計算環(huán)境通用計算平臺重點提出了以下4方面的關(guān)鍵技術(shù):微服務(wù)開發(fā)、應用按需發(fā)布、關(guān)聯(lián)性搜索、數(shù)據(jù)安全機制.
高性能計算環(huán)境通用平臺涉及到多個模塊,包括作業(yè)管理、作業(yè)提交、用戶管理等(圖2).為了方便每個模塊相互獨立的開發(fā)部署,提出了微服務(wù)[7,8]的開發(fā)方式.
圖2 微服務(wù)開發(fā)結(jié)構(gòu)
為更好地實現(xiàn)微服務(wù)的開發(fā)方式,我們從以下3個方面來實施.首先,每個模塊的公共文件如頁面的頭尾、JS、CSS存放到公共的位置,并單獨部署在一個Tomcat服務(wù)器上,功能模塊在實現(xiàn)時只需引用相應的頁面或JS.其次,針對服務(wù)器端代碼,分析并提取通用的代碼,底層API接口的調(diào)用封裝成通用接口,并將整個代碼封裝成代碼包.開發(fā)人員開發(fā)相應模塊時可直接調(diào)用該代碼包,復寫相應的接口,這樣對開發(fā)者來說特別方便快捷,不需要寫重復代碼,簡化整個開發(fā)流程.最后,各個功能模塊開發(fā)完成后單獨部署在Tomcat服務(wù)器上,通過Apache配置端口轉(zhuǎn)發(fā)實現(xiàn)同一域名訪問.
通過實現(xiàn)微服務(wù)開發(fā),各個模塊之間可獨立開發(fā)部署.當更新或修改某個模塊時,平臺中其他模塊可以不受影響而繼續(xù)提供服務(wù).
在處理高性能計算任務(wù)時,按照計算環(huán)境指定的方式描述作業(yè)的各種參數(shù)和輸入文件,不用學科領(lǐng)域的應用軟件,要求的參數(shù)和輸入數(shù)據(jù)各不相同.其次,按照作業(yè)管理系統(tǒng)命令格式的要求,組織數(shù)據(jù)并將計算任務(wù)提交到計算環(huán)境.最后,可在計算環(huán)境中管理作業(yè),包括查看作業(yè)狀態(tài),掛起和終止作業(yè),獲取計算結(jié)果等.
為了實現(xiàn)應用的快速發(fā)布,解決不用學科領(lǐng)域應用封裝問題或作業(yè)提交頁面快速生成問題,平臺提出了一個應用封裝便捷工具HPC-AIT[9].HPC-AIT以通用的作業(yè)描述語言JSDL規(guī)定的作業(yè)提交信息為出發(fā)點,基于JSR-168標準的Portlet,支持復雜作業(yè)參數(shù)的Web頁面自動填充.
圖3為應用集成組件的技術(shù)路線圖[9].首先分析多種類型的應用需求,設(shè)計描述模板.管理員在Web圖形化頁面填寫詳細的應用需求,后臺服務(wù)根據(jù)模板生成應用描述文件;其次,渲染引擎根據(jù)應用描述文件提供的數(shù)據(jù),替換HTML模板中的表達式,生成作業(yè)提交頁面;作業(yè)提交頁面中自帶默認參數(shù),用戶也可修改其中的作業(yè)參數(shù),作業(yè)參數(shù)和輸入數(shù)據(jù)傳輸?shù)胶笈_服務(wù)器,后臺服務(wù)器保存這些信息同時生成JSDL描述文件.最后,提交作業(yè)描述文件和輸入數(shù)據(jù)到計算環(huán)境,完成計算任務(wù)的提交功能.
圖3 高性能計算應用集成組件技術(shù)路線圖
下面以Gaussian應用為例來說明如何快速實現(xiàn)應用封裝和作業(yè)提交.運行封裝工具HPC-AIT可獲得Web頁面上應用的封裝,其中包括頁面的固定信息和動態(tài)信息.針對應用名稱、執(zhí)行程序、版本、應用描述等固定信息,管理員只需要在頁面上填寫相應內(nèi)容,無需修改其他標簽等數(shù)據(jù);輸入文件等動態(tài)信息定制頁面,根據(jù)應用自身的特點選擇文件輸入框,比如Gaussian應用只需要一個輸入文件,所有只需勾選一個輸入文件框即可.所有設(shè)置結(jié)束后可得到自動生成的作業(yè)提交頁面.為了能夠在平臺中使用Gaussian應用,需要將自動生成的作業(yè)提交頁面加載到通用計算平臺中,這樣就實現(xiàn)了一個完整的應用發(fā)布.
通過實現(xiàn)應用按需發(fā)布,管理員可有效提高應用封裝的響應速度和降低操作難度,用戶能夠方便的提交作業(yè)和重用復雜的作業(yè)參數(shù),更好的為實現(xiàn)用戶的個性化服務(wù)提供便利.
用戶為快速找到自己想用的資源或應用經(jīng)常會通過關(guān)鍵字進行搜索.為了保證搜索結(jié)果更詳細準確,我們采用關(guān)聯(lián)性搜索的技術(shù).
前端服務(wù)器接受客戶端請求后向后端搜索服務(wù)發(fā)起請求.后端搜索服務(wù)通過ES(Elastic Search)[10]實現(xiàn).核心功能是將搜索請求按照ES定義的訪問格式,其中需要特別定義對資源對象用戶名屬性的值匹配:(u|any),其搜索結(jié)果將包括所有公共資源和該用戶提交的作業(yè)資源.
后端搜索服務(wù)在調(diào)用ES執(zhí)行搜索前,將搜索請求中包含的搜索字符串分解成一組搜索關(guān)鍵詞W,同時獲取用戶名u,然后向ES發(fā)送搜索命令,形式為(must(should(u)| should(any))& must(should(W1)|should(W2)| … | should(Wn))).ES服務(wù)器執(zhí)行搜索命令后會返回搜索結(jié)果,訪問接口將分解結(jié)果并形成一個包含資源所有分段信息的命中數(shù)組,并返回給前端接口服務(wù),然后轉(zhuǎn)發(fā)至客戶端.
用戶搜索的同時后端服務(wù)會根據(jù)相關(guān)搜索結(jié)果給出相應的推薦內(nèi)容以便用戶了解更多相應信息.具體操作:獲取搜索結(jié)果中的標簽,并將其作為推薦的關(guān)鍵詞;由標簽組成新的搜索請求并發(fā)送給ES服務(wù)器;對ES返回的結(jié)果按照資源類型(集群、應用等)進行分類,并將相關(guān)度最高的前3條作為推薦結(jié)果返回到前端接口.
關(guān)聯(lián)性搜索的后端服務(wù)是通過ES實現(xiàn)的,所以為實現(xiàn)關(guān)聯(lián)性搜索必須搭建一個ES環(huán)境.環(huán)境建好后導入資源數(shù)據(jù)以便搜索時使用.目前已導入的數(shù)據(jù)主要包括用戶的作業(yè)信息.數(shù)據(jù)整合成JSON格式后通過ES命令導入到索引中.后端服務(wù)通過發(fā)送ES指令便可獲取搜索結(jié)果.為了給前端更好地提供服務(wù),封裝ES搜索指令為REST風格的接口.用戶只需發(fā)送請求即可獲取結(jié)果,使用方便快捷.
在通用計算平臺設(shè)計中為保證數(shù)據(jù)的安全,主要從輸入框數(shù)據(jù)格式、服務(wù)端檢測、修改信息郵件提醒等方面進行限制檢測.
在輸入框數(shù)據(jù)格式上,針對用戶所輸入的數(shù)據(jù)必須不包括特殊字符.如聯(lián)系電話:手機號/^1[0-9]{10}$/;電話號碼/^0[0-9] {2,3}-[0-9]{7,8}$/項目日期:/^[0-9]{6}-[0-9]{6}$/.
服務(wù)端檢測主要包括驗證用戶輸入的郵箱是否是真實的郵箱;用戶修改密碼時驗證原密碼是否正確;服務(wù)器的格式審查.
用戶修改信息時會針對不同的修改內(nèi)容通過郵件提醒用戶是否是自己的行為,避免惡意操作.修改過程中會記錄修改的trace,方便以后查找記錄.
在平臺實現(xiàn)過程中,每個頁面都有一個validate.js來驗證輸入數(shù)據(jù)的合法性;服務(wù)端采用Jersey框架實現(xiàn),其中會對相關(guān)參數(shù)進行檢查保證沒有語法錯誤;另外各種操作均記錄相應trace,保證出錯時可查詢.總之,通過各種手段保證用戶在使用平臺時的數(shù)據(jù)安全.
高性能計算環(huán)境通用計算平臺主要是為用戶提供計算服務(wù),方便用戶通過Web端提交作業(yè)并查看作業(yè)結(jié)果,所以平臺設(shè)計了提交作業(yè)、作業(yè)管理、個人信息、應用、集群5大模塊,同時支持關(guān)鍵字搜索功能.每個模塊的功能介紹如表1所示.下面依次介紹每一個模塊,重點突出提交作業(yè)和作業(yè)管理.
表1 功能模塊
提交作業(yè)模塊如圖4所示,包括頂部應用菜單導航和應用提交頁面.
圖4 應用提交頁面
應用菜單導航列出所有可通過平臺提交的應用.菜單列表按照用戶點擊順序設(shè)計,默認第一項為上一次提交的作業(yè)應用.用戶常用的應用顯示顯示,其他應用隱藏顯示,如需查看所有應用可點擊擴展符號.點擊應用菜單可切換應用提交頁面.
應用提交頁面為應用封裝時定義發(fā)布的頁面,根據(jù)每個應用使用方式的區(qū)別,提交頁面參數(shù)以及輸入文件不同.通過梳理作業(yè)的輸入?yún)?shù),將參數(shù)設(shè)置為作業(yè)參數(shù)和高級參數(shù)兩類,高級參數(shù)為不常用或不經(jīng)常修改的參數(shù),默認隱藏顯示.應用資源列表隨著用戶輸入的CPU核數(shù)、作業(yè)運行時間等不同而實時變化,用戶可以通過搜索框輸入相應信息選擇自己想用的資源.如果顯示的資源沒有自己的想要的資源,可點擊展開更多資源查看不可用的全部資源,鼠標滑過每一行可顯示資源不可選擇的原因.
用戶輸入作業(yè)參數(shù)、上傳文件時會做相應的語法以及文件類型檢查,當用戶輸入錯誤或用戶輸入文件不正確直接提示錯誤并給出詳細錯誤信息.用戶輸入?yún)?shù)和輸入文件都通過校驗后,通過點擊提交作業(yè),會把用戶的相關(guān)參數(shù)寫入JSDL文件并把信息傳遞給服務(wù)端后臺,由服務(wù)端調(diào)用底層API接口把作業(yè)提交到環(huán)境中執(zhí)行.提交作業(yè)成功后會彈框提示作業(yè)提交成功,用戶可選擇留在此頁面或進入作業(yè)頁面查看提交作業(yè)的相關(guān)信息.
作業(yè)管理模塊主要是方便用戶查看作業(yè)信息,快速了解作業(yè)的運行狀態(tài).具體設(shè)計如圖5所示,作業(yè)列表隨著查詢條件的不同實時刷新,并支持分頁顯示,支持多維度作業(yè)條件查詢,包括時間(最近一天、最近一周、最近一月)、類別(排隊、運行、已完成、已刪除);多種條件組合查詢.通過更多選項進行高級篩選,包括應用名稱、集群名稱、開始時間、結(jié)束時間、作業(yè)名稱和作業(yè)號.用戶可輸入相應信息精確的查找作業(yè).
圖5 作業(yè)查詢頁面
在作業(yè)列表中,根據(jù)作業(yè)的狀態(tài)備注中給出相應信息和操作,具體如表2所示.作業(yè)處于完成狀態(tài),備注給出相應的運行時長,用戶可點擊操作中的刪除按鈕刪除作業(yè);作業(yè)處于提交出錯狀態(tài),備注顯示失敗詳情,鼠標移到上面顯示出錯原因;作業(yè)處于排隊狀態(tài),備注給出排隊時長,如排隊時間過長,顯示排隊時間過長的原因,用戶可點擊操作中的終止按鈕終止作業(yè);作業(yè)處于刪除狀態(tài),用戶可點擊操作中的恢復按鈕恢復作業(yè).
表2 作業(yè)狀態(tài)對應的備注與操作
點擊作業(yè)號進入作業(yè)文件頁面,用戶可在線查看或下載作業(yè)結(jié)果文件.文件查看頁面支持按行查詢和分頁顯示,方便用戶直接查找相關(guān)結(jié)果或通過關(guān)鍵信息判斷作業(yè)是否執(zhí)行正確.對于固定輸出格式的文件,用戶也可輸入行號直接查詢定位所需內(nèi)容.
在用戶使用平臺時經(jīng)常遇到郵箱變化或登錄密碼忘記等情況,為了在通用計算平臺上我們設(shè)計了個人信息模塊,用戶可修改個人基本信息、項目信息以及登錄密碼.
用戶在修改個人基本信息和項目信息的同時會記錄相應的trace文件,同時郵件通知用戶以確保是用戶自己的行為,避免惡意修改.在用戶修改的過程中,對各項輸入項都做了嚴格的限制來保證數(shù)據(jù)的安全.
用戶修改密碼需要驗證原始密碼的正確性,根據(jù)輸入的新密碼給出密碼強度提示.對太過于簡單的密碼直接提示用戶需重新輸入,修改密碼之后會郵件通知用戶,并要求用戶重新輸入新密碼登錄平臺.
應用和集群頁面主要讓用戶了解平臺中的所有應用和集群基本信息.頁面支持未登錄情況下查看,通過這兩個頁面可清楚地了解平臺中是否有自己可使用的應用或關(guān)注的集群.應用和集群頁面采用仿Win8的設(shè)計,每一個應用或集群以磁貼的形式展示,并對其顏色進行了搭配,外觀清楚簡單,如圖6.
圖6 應用頁面
用戶鼠標放在磁貼上顯示編輯顏色按鈕,點擊編輯顏色可自行修改配色[11,12].頁面首次以系統(tǒng)默認配色顯示,如用戶修改某一項配色,顯示用戶修改后的配色.
高性能計算環(huán)境通用平臺通過提交作業(yè)和作業(yè)管理模塊達到了用戶采用傳統(tǒng)命令行方式使用高性能計算環(huán)境的效果.用戶只需在Web頁面修改應用相關(guān)參數(shù),上傳文件即可實現(xiàn)作業(yè)的提交與運行.對于對應用使用命令不是很熟悉的處理用戶,高性能計算環(huán)境通用平臺使用起來尤其方便.同時,平臺提供推薦搜索功能,根據(jù)用戶的需求快速的推薦資源,提供個性化服務(wù).為了方便用戶使用,平臺采用的關(guān)聯(lián)性搜索技術(shù)使得用戶非常方便的獲取到自己的資源.應用查看與提交之間通過超鏈接彼此關(guān)聯(lián),使用特別靈活.高性能計算環(huán)境聚合了國內(nèi)優(yōu)秀的高性能計算資源,包括6個國家的超級計算中心,只要用戶提交應用時滿足各個隊列的使用條件就可以調(diào)度到各大超算中心上進行計算.相對而言,計算和存儲資源都具有一定的優(yōu)勢.平臺的性能也相關(guān)比較樂觀,可滿足用戶的需求,具體性能指標會在第5節(jié)中詳細論述.
按照前面敘述的模塊功能和設(shè)計,客戶端采用HTML5+CSS+JavaScript實現(xiàn).頁面采用Backbone Layout[13]布局,內(nèi)容包括header、body和footer 3部分.header和footer引用公共頁面,body通過定義模板加載.服務(wù)端采用Jersey[14](Java編寫的輕量級框架)開發(fā).服務(wù)端調(diào)用底層API接口獲取數(shù)據(jù)供瀏覽器端調(diào)用.為區(qū)分登錄和匿名登錄,服務(wù)端通過兩套系統(tǒng)實現(xiàn),瀏覽器端通過js判斷是否登錄,匿名登錄情況向匿名登錄服務(wù)端發(fā)送請求;登錄情況下向登錄服務(wù)端發(fā)送請求,獲取數(shù)據(jù)后渲染到頁面.實現(xiàn)過程對用戶來說是透明的,用戶看到的頁面沒有區(qū)別,只有顯示數(shù)據(jù)有差異而已.
通用計算平臺開發(fā)過程中同時考慮了國際化的需求,采用Jquery.i18n[15]來實現(xiàn).國際化配置包含兩部分內(nèi)容:一部分是國際化變量配置文件,擴展名為properties;一部分是國際化處理文件,擴展名為 js,包括jquery.i18n.properties.js(提供實現(xiàn)國際化的api)和portal2_i18.js(自己編寫的處理文件).portal2_i18n.js主要設(shè)置語言環(huán)境、加載配置文件后實現(xiàn)語言切換功能.
通用平臺目前部署在測試環(huán)境的服務(wù)器中,Java版本1.7,Tomcat為7.0.68.開發(fā)過程采用了微服務(wù)的開發(fā)模式,部署時提交作業(yè)、作業(yè)查詢和個人信息、應用集群和搜索分別部署在Tomcat容器中.平臺借助Apache配置端口轉(zhuǎn)發(fā),實現(xiàn)域名訪問.部署完成后對平臺的功能、安全、兼容性以及性能等進行了相關(guān)測試.
根據(jù)平臺提供的功能,設(shè)計相關(guān)用例對其進行功能測試并及時修復測試過程中出現(xiàn)的問題.測試結(jié)果表明,高性能計算環(huán)境通用計算平臺可滿足用戶提交作業(yè)、查看作業(yè)等各種需求.為更好地體現(xiàn)平臺的有效性,除功能測試之外還對平臺的安全、兼容性以及性能進行了測試.根據(jù)常見的安全性測試點設(shè)計測試用例并驗證了平臺的安全性.表3是瀏覽器兼容性測試,測試結(jié)果表明平臺在瀏覽器兼容性方面考慮了比較完善,可支持主流的瀏覽器.
表3 瀏覽器兼容性測試
圖7是針對搜索不同的關(guān)鍵詞時的平均搜索時間,橫坐標為搜索的不同關(guān)鍵詞,縱坐標表示所需搜索時間,單位:ms.由圖可以看出基本上可以控制在1 s完成內(nèi)容的搜索并顯示在頁面上.
圖7 搜索不同關(guān)鍵詞所需的平均時間
圖8是平臺中各個功能模塊頁面的平均響應時間,橫坐標為不同的模塊頁面,縱坐標為響應時間,單位秒.由圖可以看出首頁基本上在0.5 s即可顯示,作業(yè)模塊受作業(yè)數(shù)目的影響響應時間略長,其余模塊都在1 s之內(nèi).
圖8 功能模塊頁面平均響應時間
利用Jmeter[16]測試工具對平臺的并發(fā)性進行了測試.圖9是不同并發(fā)數(shù)目下的請求響應時間,其中橫坐標為模擬的并發(fā)用戶數(shù),縱坐標為響應時間,單位:s.由圖可以看出,隨著并發(fā)用戶數(shù)的增加平均響應時間也隨著增長,但最短時間基本沒有變化.
圖9 不同并發(fā)數(shù)目下的請求響應時間
圖10表示不同并發(fā)數(shù)目下的吞吐量,橫坐標跟圖9一樣表示模擬的并發(fā)用戶數(shù),縱坐標為每秒處理的請求數(shù).隨著并發(fā)用戶數(shù)的增加,吞吐量基本維持在50-70之間.這表明平臺在并發(fā)用戶數(shù)比較少時響應時間可以維持在1 s之內(nèi),但過大時會變的比較長.后期工作中會對并發(fā)性進行改善使其性能更好.
圖10 不同并發(fā)數(shù)目下的吞吐量
為了更好地調(diào)查用戶的需求和滿意度,平臺開放給部分用戶試用,試用結(jié)果表明平臺不僅可以滿足用戶的需求還可以方便的為用戶推薦資源.
高性能計算不斷發(fā)展,越來越多的應用需要通過高性能計算環(huán)境運行.隨著高性能計算環(huán)境的持續(xù)運行,用戶的計算需求快速增長,對資源的需求不斷上升,環(huán)境急需擴充資源以提供更強大的計算能力,滿足不同應用領(lǐng)域的計算需求,同時也對環(huán)境擴展性、易用性和可靠性提出更高要求.為滿足用戶的需求,本文就高性能計算環(huán)境通用計算平臺新的設(shè)計理念,如何為用戶提供個人性服務(wù)展開論述,包括平臺的整體結(jié)構(gòu)、關(guān)鍵技術(shù)、功能模塊.重點突出了計算平臺中的關(guān)鍵技術(shù)微服務(wù)開發(fā)模式、應用按需發(fā)布、關(guān)聯(lián)性搜索以及數(shù)據(jù)的安全機制;平臺主要的功能模塊提交作業(yè)、作業(yè)查詢.
經(jīng)過部署測試表明平臺已達到滿足用戶需求的目標,但同時還存在一些問題,如封裝應用不夠多、應用版本不夠新等,這些問題在后續(xù)的開發(fā)過程后會逐漸解決,使得高性能計算環(huán)境通用計算平臺為用戶提供更友好的服務(wù).除此之外,計算平臺還需考慮做好上層接口以便支持接入更多的應用社區(qū),達到用戶登錄通用計算平臺即可利用國家高性能計算環(huán)境資源的目標.