• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向高性能計(jì)算平臺(tái)的一站式服務(wù)系統(tǒng)

      2024-02-21 06:00:24王一超韋建文文敏華林新華
      軟件導(dǎo)刊 2024年1期
      關(guān)鍵詞:跨平臺(tái)高性能客戶(hù)端

      周 婧,王一超,韋建文,文敏華,林新華

      (上海交通大學(xué) 網(wǎng)絡(luò)信息中心,上海 200240)

      0 引言

      高性能計(jì)算系統(tǒng)已逐步成為高??茖W(xué)計(jì)算和虛擬仿真類(lèi)實(shí)驗(yàn)教學(xué)的主要實(shí)踐平臺(tái),為高校科學(xué)研究與人才培養(yǎng)提供了重要支撐。這些平臺(tái)承載了越來(lái)越多的虛擬仿真實(shí)驗(yàn)室,參與線上實(shí)驗(yàn)教學(xué)的師生數(shù)量與日俱增,對(duì)算力的需求不斷攀升,高性能計(jì)算集群建設(shè)規(guī)模日益擴(kuò)大[1-4]。為提高實(shí)驗(yàn)效率,平臺(tái)除需為用戶(hù)提供可靠的硬件環(huán)境外,還應(yīng)提供靈活易用的軟件環(huán)境及工具。上海交通大學(xué)自2013 年開(kāi)始建設(shè)校級(jí)計(jì)算平臺(tái)“交我算”,經(jīng)過(guò)十年持續(xù)建設(shè),已建成多個(gè)高性能計(jì)算集群,包括國(guó)內(nèi)高校領(lǐng)先的計(jì)算平臺(tái)π2.0、國(guó)內(nèi)高校首個(gè)國(guó)產(chǎn)ARM 計(jì)算平臺(tái),以及國(guó)內(nèi)高校一流綠色水冷集群“思源一號(hào)”,總聚合算力達(dá)到10PFLOPS(每秒千萬(wàn)億次)。為統(tǒng)一管理校級(jí)異構(gòu)集群(存在多套不同架構(gòu)的集群)和異地集群(跨區(qū)域的集群)[5],“交我算”構(gòu)建聚合門(mén)戶(hù),為用戶(hù)提供統(tǒng)一的計(jì)算服務(wù)體驗(yàn)[6-7]。

      在“交我算”平臺(tái)構(gòu)建初期,為使用高性能計(jì)算服務(wù),用戶(hù)需要經(jīng)歷相對(duì)繁瑣的步驟。首先,用戶(hù)不得不進(jìn)行多端協(xié)同,即“交我算”網(wǎng)站前端與終端軟件的協(xié)同。用戶(hù)需要在“交我算”網(wǎng)站前端查詢(xún)目標(biāo)高性能計(jì)算集群的信息,如用于登錄的域名,并手動(dòng)輸入用戶(hù)名、密碼和集群信息到終端軟件中,再用終端軟件登錄和使用目標(biāo)集群。在登錄與使用過(guò)程中,用戶(hù)可能遇到多種連接錯(cuò)誤(包括客戶(hù)端網(wǎng)絡(luò)設(shè)置錯(cuò)誤、賬戶(hù)狀態(tài)異常、密碼錯(cuò)誤等),必須人工排查連接錯(cuò)誤原因[8]。在調(diào)試完連接錯(cuò)誤后,用戶(hù)還需要在終端命令行中手動(dòng)傳輸程序與數(shù)據(jù)文件,進(jìn)而將目標(biāo)程序提交到高性能集群的任務(wù)調(diào)度系統(tǒng)中。對(duì)于高性能計(jì)算用戶(hù),特別是非計(jì)算機(jī)專(zhuān)業(yè)用戶(hù),這一系列步驟非常具有挑戰(zhàn)性。

      為進(jìn)一步提升 “交我算”高性能計(jì)算平臺(tái)的用戶(hù)使用體驗(yàn),本文設(shè)計(jì)并開(kāi)發(fā)了面向“交我算”高性能計(jì)算平臺(tái)的服務(wù)系統(tǒng)(簡(jiǎn)稱(chēng)“交我算”服務(wù)系統(tǒng)),向用戶(hù)提供集群登錄與使用的一站式便捷服務(wù),并能夠自動(dòng)檢測(cè)連接錯(cuò)誤原因,極大地簡(jiǎn)化了用戶(hù)使用高性能計(jì)算服務(wù)的步驟,從而提升其完成高性能計(jì)算任務(wù)的效率。

      1 服務(wù)系統(tǒng)需求與架構(gòu)

      當(dāng)前,已有一系列工作提供了基于網(wǎng)頁(yè)的一站式高性能計(jì)算服務(wù)系統(tǒng),根據(jù)不同科學(xué)計(jì)算應(yīng)用設(shè)計(jì)專(zhuān)門(mén)的任務(wù)提交、管理、查看的網(wǎng)頁(yè)界面,如中國(guó)科學(xué)院的HPCP 與科學(xué)計(jì)算應(yīng)用平臺(tái)[9]、中國(guó)科技云門(mén)戶(hù)管理系統(tǒng)[10]、于默奧大學(xué)的HPC2N[11]等,旨在降低高性能計(jì)算的使用門(mén)檻,然而,由于不同科學(xué)計(jì)算應(yīng)用有不同的特點(diǎn)(如輸入?yún)?shù)、輸出格式、執(zhí)行環(huán)境等),上述工作需要為不同應(yīng)用針對(duì)性設(shè)計(jì)任務(wù)的提交、管理、查詢(xún)等頁(yè)面。

      “交我算”平臺(tái)也提供了類(lèi)似基于網(wǎng)頁(yè)的高性能計(jì)算平臺(tái)服務(wù)。然而,當(dāng)前計(jì)算機(jī)與人工智能快速發(fā)展,大量涌現(xiàn)的新應(yīng)用需求接踵而至,通過(guò)定制網(wǎng)頁(yè)服務(wù)已無(wú)法及時(shí)支持這些目標(biāo)應(yīng)用,仍有非常多的師生需要基于終端的方式管理高性能計(jì)算任務(wù)。因此,本文設(shè)計(jì)與實(shí)現(xiàn)的”交我算“服務(wù)系統(tǒng)通過(guò)簡(jiǎn)化終端模擬器的共性使用流程、優(yōu)化界面與使用方式等提升用戶(hù)體驗(yàn)。

      1.1 服務(wù)系統(tǒng)需求

      “交我算”服務(wù)系統(tǒng)以終端使用為中心提供一站式服務(wù),根據(jù)長(zhǎng)期服務(wù)高性能計(jì)算用戶(hù)的經(jīng)驗(yàn),該系統(tǒng)需要滿(mǎn)足以下需求:

      (1)易用性。首先,客戶(hù)端應(yīng)提供終端軟件功能,用戶(hù)只需通過(guò)客戶(hù)端即可完成高性能集群的登錄與使用;其次,應(yīng)盡可能簡(jiǎn)化用戶(hù)使用終端的步驟,如提供自動(dòng)信息補(bǔ)全、圖形化用戶(hù)文件傳輸?shù)裙δ埽蛔詈?,客?hù)端應(yīng)盡可能提供現(xiàn)代化、可配置的界面,支持用戶(hù)根據(jù)自己的使用習(xí)慣自定義主題和快捷鍵,以支撐不同高性能應(yīng)用的需要。此外,為了方便使用,當(dāng)遇到集群連接錯(cuò)誤時(shí),客戶(hù)端應(yīng)能夠自動(dòng)識(shí)別導(dǎo)致連接錯(cuò)誤的具體原因并向用戶(hù)提示。

      (2)兼容性。為滿(mǎn)足不同用戶(hù)的計(jì)算機(jī)和命令行環(huán)境使用習(xí)慣,客戶(hù)端應(yīng)具備跨平臺(tái)能力,能夠在主流的Windows、MacOS 和Linux 操作系統(tǒng)以及X86 或ARM 架構(gòu)處理器上運(yùn)行,并提供跨端的一致體驗(yàn)。

      (3)高質(zhì)量服務(wù)。服務(wù)系統(tǒng)應(yīng)能向用戶(hù)提供低時(shí)延與高吞吐量的服務(wù)。同時(shí),為服務(wù)大規(guī)模用戶(hù),系統(tǒng)還應(yīng)保證系統(tǒng)在峰值工作負(fù)載時(shí)的穩(wěn)定性。

      1.2 服務(wù)系統(tǒng)架構(gòu)

      “交我算”服務(wù)系統(tǒng)架構(gòu)如圖1 所示,主要包括客戶(hù)端與后端。用戶(hù)可借助客戶(hù)端提供的命令行環(huán)境,通過(guò)SSH(Secure Shell Protocol)協(xié)議[12-13]登錄并使用目標(biāo)高性能計(jì)算集群。同時(shí),客戶(hù)端與后端使用HTTP 協(xié)議通信,支持用戶(hù)登錄與信息同步。目前,服務(wù)系統(tǒng)已集成了用戶(hù)使用高性能計(jì)算所需的必要功能,提供了一站式高性能計(jì)算服務(wù)。

      Fig.1 Architecture of “Counting-On-Me” service system圖1 “交我算”服務(wù)系統(tǒng)架構(gòu)

      Fig.2 Architecture of “Counting-On-Me” service system client圖2 “交我算”服務(wù)系統(tǒng)客戶(hù)端架構(gòu)

      2 客戶(hù)端設(shè)計(jì)與實(shí)現(xiàn)

      “交我算”服務(wù)系統(tǒng)的客戶(hù)端是一個(gè)跨平臺(tái)桌面應(yīng)用程序,可運(yùn)行在主流操作系統(tǒng)與處理器架構(gòu)上,向用戶(hù)提供可配置的用戶(hù)界面與快捷鍵設(shè)置,其架構(gòu)如圖 2 所示。一方面,該系統(tǒng)內(nèi)置終端模擬器,提供終端功能,支持高性能計(jì)算集群的登錄與使用,提供便捷的文件傳輸功能,并能夠自動(dòng)診斷連接錯(cuò)誤;另一方面,其與后端協(xié)同管理用戶(hù)信息,并能定時(shí)同步集群信息,實(shí)現(xiàn)信息的自動(dòng)補(bǔ)全功能。

      2.1 跨平臺(tái)支持

      2.1.1 跨平臺(tái)編程語(yǔ)言技術(shù)選型

      為提供良好的跨平臺(tái)能力,該系統(tǒng)選擇成熟的跨平臺(tái)編程語(yǔ)言TypeScript 作為客戶(hù)端的開(kāi)發(fā)語(yǔ)言,基于以下兩點(diǎn)考慮:第一,TypeScript 比Java 和Python 具有更成熟的開(kāi)源前端生態(tài),根據(jù)2023 年StackOverflow[14]統(tǒng)計(jì),全世界使用量排名前5 位的前端框架均支持TypeScript 語(yǔ)言;第二,TypeScript 采用靜態(tài)類(lèi)型系統(tǒng),可使開(kāi)發(fā)者顯式定義程序變量類(lèi)型并在編譯時(shí)檢查,能有效降低代碼產(chǎn)生BUG 的可能性,提升程序的可維護(hù)性。鑒于“交我算”服務(wù)系統(tǒng)客戶(hù)端會(huì)長(zhǎng)期作為用戶(hù)訪問(wèn)“交我算”高性能平臺(tái)的入口,需要長(zhǎng)期維護(hù)和添加新功能,可維護(hù)性需求高,因此最終采用TypeScript語(yǔ)言。

      2.1.2 跨平臺(tái)桌面應(yīng)用程序安裝包創(chuàng)建

      Electron[15]是一個(gè)支持TypeScript 的跨平臺(tái)桌面應(yīng)用程序框架,能夠?yàn)樽烂鎽?yīng)用程序創(chuàng)建跨平臺(tái)安裝包。本文系統(tǒng)使用Electron 為不同處理器架構(gòu)與操作系統(tǒng)組合創(chuàng)建對(duì)應(yīng)的客戶(hù)端安裝包,提供了良好的跨平臺(tái)能力。

      2.2 終端模擬器技術(shù)選型

      “交我算”服務(wù)系統(tǒng)客戶(hù)端需要內(nèi)置終端模擬器,以向用戶(hù)提供終端軟件的功能,因此需要對(duì)被集成的終端模擬器進(jìn)行選型。基于TypeScript 的開(kāi)源終端模擬器Tabby[16]是一款完善的終端模擬器,可提供現(xiàn)代化用戶(hù)界面,且支持PowerShell、WSL、Git-Bash 和Cygwin 等多種命令行環(huán)境。同時(shí),Tabby 具有高度可配置的特點(diǎn),允許用戶(hù)根據(jù)自身喜好個(gè)性化設(shè)置外觀主題和快捷鍵,與“交我算”服務(wù)系統(tǒng)高可配置性的目標(biāo)吻合。因此,本文系統(tǒng)將Tabby 集成進(jìn)客戶(hù)端,并復(fù)用其成熟的可配置外觀主題和快捷鍵功能。

      2.3 可配置功能

      由于不同用戶(hù)會(huì)使用不同操作系統(tǒng)的不同命令行環(huán)境,“交我算”客戶(hù)端集成了Tabby 的高可配置特點(diǎn),允許用戶(hù)根據(jù)自身使用習(xí)慣選擇界面主題、快捷鍵和命令行環(huán)境等,用戶(hù)也可以定制具有配色、字體、窗口樣式的主題??蛻?hù)端對(duì)上述配置進(jìn)行擴(kuò)展,將它們以yaml 文件的形式保存,在客戶(hù)端啟動(dòng)時(shí)會(huì)讀取該配置文件以渲染頁(yè)面。當(dāng)用戶(hù)通過(guò)配置界面修改主題時(shí),修改也會(huì)體現(xiàn)在yaml 配置文件中。

      圖3 為用戶(hù)yaml 配置文件的示例??梢钥闯?,用戶(hù)定義了常用快捷鍵,例如滾動(dòng)屏幕、新建窗口等。用戶(hù)還定義了終端樣式,包括顏色主題和字體,其中顏色主題采用RGB 值指定了背景顏色。

      Fig.3 Example of user yaml configuration file圖3 用戶(hù)yaml配置文件示例

      2.4 用戶(hù)與集群信息管理

      “交我算”客戶(hù)端支持用戶(hù)登錄已認(rèn)證的高性能計(jì)算賬戶(hù),并能夠與后端進(jìn)行信息同步,從而實(shí)現(xiàn)信息的自動(dòng)補(bǔ)全,簡(jiǎn)化用戶(hù)操作。其主要功能包括但不限于:①客戶(hù)端支持用戶(hù)SSH 私鑰、客戶(hù)端配置等文件的同步,當(dāng)用戶(hù)在不同計(jì)算機(jī)的客戶(hù)端使用高性能計(jì)算服務(wù)時(shí)無(wú)需手動(dòng)傳輸上述文件或重新配置即可直接使用,極大地方便了用戶(hù);②當(dāng)用戶(hù)需要輸入集群信息,例如選擇需要登錄的高性能計(jì)算集群時(shí),客戶(hù)端會(huì)顯示下拉菜單,其中包含可供用戶(hù)選擇的集群節(jié)點(diǎn)名稱(chēng),用戶(hù)只需點(diǎn)選所需登錄的集群名稱(chēng),客戶(hù)端即可自動(dòng)補(bǔ)全對(duì)應(yīng)的信息(如集群域名);③登錄集群時(shí),客戶(hù)端同樣會(huì)顯示下拉菜單,用戶(hù)可以選擇本地或在后端同步的SSH 私鑰文件,從而實(shí)現(xiàn)私鑰的一鍵選取。

      2.5 便捷文件傳輸功能

      在傳統(tǒng)場(chǎng)景下,用戶(hù)需要在終端中手動(dòng)輸入scp 命令以完成文件傳輸,同時(shí)需要手動(dòng)輸入源路徑與目標(biāo)路徑。為使用戶(hù)更方便地進(jìn)行文件傳輸,“交我算”服務(wù)系統(tǒng)客戶(hù)端支持基于SFTP(SSH File Transfer Protocol)協(xié)議的文件傳輸。SFTP 是一個(gè)基于SSH 的文件傳輸協(xié)議[17-18],提供文件存取、傳輸和管理等功能,并保證了上述功能的安全性。為使用戶(hù)在使用SFTP 傳輸文件時(shí)快速定位目標(biāo)路徑,客戶(hù)端支持圖形化目錄選取界面,用戶(hù)只需通過(guò)鼠標(biāo)點(diǎn)擊即可選取目標(biāo)路徑。需要注意的是,在終端使用SFTP 向Linux 系統(tǒng)傳輸文件時(shí)存在易用性方面的問(wèn)題,默認(rèn)目標(biāo)路徑為系統(tǒng)的根目錄,而大部分情況下用戶(hù)希望將文件保存在自己的工作目錄下,非Linux 系統(tǒng)用戶(hù)可能缺乏該認(rèn)識(shí)而難以找到自己的文件。為簡(jiǎn)化用戶(hù)操作步驟,在用戶(hù)登錄集群初時(shí),客戶(hù)端會(huì)通過(guò)在終端中執(zhí)行echo-e $(pwd)命令獲取當(dāng)前的工作目錄——家目錄(Home Directory),即操作系統(tǒng)中給定用戶(hù)的默認(rèn)文件存儲(chǔ)位置。上述被記錄的家目錄會(huì)被設(shè)置為SFTP 目錄選取界面的初始目錄。

      2.6 連接錯(cuò)誤診斷

      為幫助用戶(hù)更清楚地了解SSH 連接失敗或斷開(kāi)的原因,“交我算”服務(wù)系統(tǒng)客戶(hù)端專(zhuān)門(mén)設(shè)計(jì)了連接錯(cuò)誤診斷模塊。該模塊能夠?qū)SH 連接錯(cuò)誤進(jìn)行分類(lèi)診斷[19-21],并向用戶(hù)提供詳細(xì)報(bào)告。該功能涵蓋了用戶(hù)日常面臨連接錯(cuò)誤的92%。根據(jù)診斷時(shí)機(jī),可以將連接錯(cuò)誤分為以下3類(lèi):①連接前錯(cuò)誤。指發(fā)起SSH 連接前可以被診斷出的錯(cuò)誤;②連接失敗錯(cuò)誤。指發(fā)起SSH 連接失敗時(shí)可被診斷出的錯(cuò)誤;③連接斷開(kāi)錯(cuò)誤。指SSH 成功連接但最終被斷開(kāi)的錯(cuò)誤。SSH 連接錯(cuò)誤分類(lèi)診斷總體流程如圖4 所示,按順序分別檢測(cè)連接前錯(cuò)誤、連接失敗錯(cuò)誤以及連接斷開(kāi)錯(cuò)誤。

      Fig.4 SSH connection error classification diagnosis process圖4 SSH連接錯(cuò)誤分類(lèi)診斷流程

      Fig.5 Architecture of “Counting-On-Me” service system backend圖5 “交我算”服務(wù)系統(tǒng)后端架構(gòu)

      Fig.6 Throughput test result of “Counting-On-Me” service system圖6 “交我算”服務(wù)系統(tǒng)吞吐量測(cè)試結(jié)果

      Fig.7 The illustration of user logging in and transferring files using the “Counting-On-Me” client圖7 用戶(hù)使用“交我算”客戶(hù)端登錄集群及傳輸文件

      在用戶(hù)發(fā)起集群登錄請(qǐng)求前,客戶(hù)端會(huì)首先檢測(cè)連接前錯(cuò)誤。連接前錯(cuò)誤可進(jìn)一步被細(xì)分為網(wǎng)絡(luò)連接錯(cuò)誤、未使用校園網(wǎng)錯(cuò)誤和域名解析錯(cuò)誤。對(duì)于網(wǎng)絡(luò)連接錯(cuò)誤,客戶(hù)端會(huì)訪問(wèn)上海交通大學(xué)的若干公開(kāi)域名,如果失敗則認(rèn)為是客戶(hù)端網(wǎng)絡(luò)未連接成功。在確認(rèn)客戶(hù)端正常連接網(wǎng)絡(luò)后,客戶(hù)端會(huì)訪問(wèn)上海交通大學(xué)的IP 查詢(xún)服務(wù),查詢(xún)校園網(wǎng)IP 地址范圍,并檢測(cè)客戶(hù)端IP 地址是否在查詢(xún)的IP地址范圍中。如果不在,則報(bào)告未使用校園網(wǎng)錯(cuò)誤。如果客戶(hù)端網(wǎng)絡(luò)可用并且正在使用校園網(wǎng)(僅針對(duì)需要通過(guò)校園網(wǎng)訪問(wèn)的集群),客戶(hù)端會(huì)嘗試解析用戶(hù)指定的服務(wù)器域名。如果無(wú)法解析,則報(bào)告域名解析錯(cuò)誤。

      在確保沒(méi)有檢測(cè)到連接前錯(cuò)誤后,客戶(hù)端會(huì)向服務(wù)器發(fā)起SSH 連接,并在連接失敗的情況下診斷連接失敗錯(cuò)誤。首先,客戶(hù)端會(huì)預(yù)置一個(gè)檢測(cè)連接失敗錯(cuò)誤的時(shí)間閾值。如果用戶(hù)已經(jīng)輸入密碼并且在該時(shí)間閾值內(nèi)仍無(wú)響應(yīng),則認(rèn)為當(dāng)前使用的節(jié)點(diǎn)過(guò)于繁忙,需向用戶(hù)報(bào)告節(jié)點(diǎn)負(fù)載過(guò)高錯(cuò)誤。否則,如果連接失敗的原因?yàn)镾SH 會(huì)話發(fā)起失敗,則根據(jù)會(huì)話發(fā)起失敗的異常信息向用戶(hù)報(bào)告失敗原因。如果會(huì)話發(fā)起失敗的原因?yàn)榈卿浾J(rèn)證失敗,則向用戶(hù)報(bào)告密碼不匹配錯(cuò)誤。如果原因?yàn)橛脩?hù)多次登錄認(rèn)證失敗,則報(bào)告賬號(hào)暫時(shí)封禁錯(cuò)誤,用戶(hù)由于輸入密碼錯(cuò)誤次數(shù)過(guò)多而被封禁,需1 h 后重試。如果不屬于上述任一種情況,則SSH 連接錯(cuò)誤信息與網(wǎng)絡(luò)有關(guān),客戶(hù)端向后端查詢(xún)集群當(dāng)前狀態(tài)。如果目標(biāo)集群屬于不可用狀態(tài),則向用戶(hù)報(bào)告集群停機(jī)錯(cuò)誤;否則告知用戶(hù)聯(lián)系集群管理員,確認(rèn)具體連接錯(cuò)誤原因。成功連接集群后,如果在集群使用過(guò)程中連接異常斷開(kāi),客戶(hù)端會(huì)診斷連接斷開(kāi)錯(cuò)誤。首先向后端查詢(xún)當(dāng)前用戶(hù)狀態(tài),如果顯示用戶(hù)狀態(tài)被凍結(jié),則會(huì)報(bào)告對(duì)應(yīng)錯(cuò)誤并提醒用戶(hù)發(fā)送郵件申請(qǐng)解封;否則向用戶(hù)報(bào)告配置文件設(shè)置錯(cuò)誤,提醒用戶(hù)聯(lián)系集群管理員重置出錯(cuò)的終端配置文件或SSH 腳本。

      3 后端設(shè)計(jì)與實(shí)現(xiàn)

      “交我算”服務(wù)系統(tǒng)后端主要由單機(jī)部署的HTTP 服務(wù)器和MySQL 數(shù)據(jù)庫(kù)組成,架構(gòu)如圖 5 所示。HTTP 服務(wù)器采用成熟的Java 后端框架Spring Framework[22]、Hibernate[23]和JDBC[24]實(shí)現(xiàn),這些框架能夠極大程度地簡(jiǎn)化后端服務(wù)器的開(kāi)發(fā)。數(shù)據(jù)庫(kù)采用成熟的關(guān)系型數(shù)據(jù)庫(kù)MySQL。

      “交我算”后端數(shù)據(jù)庫(kù)用于維護(hù)用戶(hù)信息與集群信息。用戶(hù)表的信息主要包括用戶(hù)名、加密后的登錄密碼、SSH私鑰文件、客戶(hù)端配置文件、用戶(hù)狀態(tài)等;集群信息包括集群名、域名和集群狀態(tài)等。由于集群狀態(tài)為動(dòng)態(tài)信息,為了維護(hù)當(dāng)前不同集群的狀態(tài),后端會(huì)定期檢查計(jì)算平臺(tái)集群節(jié)點(diǎn)的網(wǎng)絡(luò)是否能夠正常連通,如果發(fā)現(xiàn)出現(xiàn)網(wǎng)絡(luò)故障的集群,便會(huì)將對(duì)應(yīng)的集群狀態(tài)從“可用”修改為“不可用”。

      為了同步信息數(shù)據(jù),客戶(hù)端會(huì)定時(shí)向后端發(fā)起查詢(xún)請(qǐng)求,從而輔助客戶(hù)端的信息自動(dòng)補(bǔ)全功能。同時(shí),后端的信息管理能夠擴(kuò)展到其他集群配置信息[25],使客戶(hù)端支持對(duì)此類(lèi)集群配置信息的查詢(xún),以使客戶(hù)端支持更多功能。

      4 性能測(cè)試與應(yīng)用效果

      4.1 性能測(cè)試

      4.1.1 系統(tǒng)部署

      將“交我算”服務(wù)系統(tǒng)后端部署在上海交通大學(xué)網(wǎng)絡(luò)信息中心機(jī)房的單臺(tái)服務(wù)器中。服務(wù)器硬件配置為24 核Intel(R)Xeon(R)Gold 5317 CPU,128 GB 內(nèi)存以及Broadcom BCM5720 千兆網(wǎng)卡,操作系統(tǒng)為Ubuntu 18.04.6 LTS。

      4.1.2 端對(duì)端時(shí)延測(cè)試

      為驗(yàn)證“交我算”服務(wù)系統(tǒng)的性能,首先測(cè)試客戶(hù)端從用戶(hù)點(diǎn)擊到接收請(qǐng)求結(jié)果的端對(duì)端時(shí)延。使用一臺(tái)Windows 臺(tái)式機(jī)運(yùn)行客戶(hù)端,并向后端發(fā)送5 000 次“用戶(hù)/集群信息查詢(xún)”請(qǐng)求,取平均值作為結(jié)果。測(cè)試結(jié)果顯示,單次信息查詢(xún)請(qǐng)求的平均時(shí)延為80.3 ms,驗(yàn)證了“交我算”服務(wù)系統(tǒng)能夠提供較好的用戶(hù)使用體驗(yàn)。

      4.1.3 吞吐量測(cè)試

      對(duì)“交我算”服務(wù)系統(tǒng)進(jìn)行壓力測(cè)試,使用HTTP 測(cè)試工具wrk[26]模擬并發(fā)用戶(hù)的模擬峰值工作負(fù)載,主要測(cè)試后端處理并發(fā)請(qǐng)求的峰值吞吐量。將wrk 運(yùn)行在一臺(tái)與后端服務(wù)器相同配置的服務(wù)器上,與后端服務(wù)器之間的最大網(wǎng)絡(luò)帶寬為1 Gb/s。在測(cè)試時(shí),不斷增加模擬并發(fā)用戶(hù)數(shù)量,直至吞吐量達(dá)到峰值。測(cè)試結(jié)果如圖 6 所示,圖中的每個(gè)性能點(diǎn)為5 次測(cè)試的中位數(shù)。隨著并發(fā)用戶(hù)數(shù)的上升,后端服務(wù)器最多可以在350 個(gè)并發(fā)模擬客戶(hù)端請(qǐng)求下達(dá)到每秒7 138 請(qǐng)求的峰值吞吐量。此時(shí),服務(wù)器的CPU 資源占用率大于90%,而網(wǎng)絡(luò)帶寬占用僅為609.68 Mb/s(未及最大網(wǎng)絡(luò)帶寬的1 Gb/s),因此后端服務(wù)器的CPU 處理能力成為瓶頸。根據(jù)測(cè)試可知,“交我算”服務(wù)系統(tǒng)足以應(yīng)對(duì)目前高性能計(jì)算平臺(tái)的用戶(hù)規(guī)模。

      4.2 應(yīng)用示例

      以納米級(jí)電子結(jié)構(gòu)計(jì)算和材料建模的科學(xué)計(jì)算應(yīng)用Quantum ESPRESSO[27]為案例,介紹使用“交我算”服務(wù)系統(tǒng)客戶(hù)端進(jìn)行科學(xué)計(jì)算的流程?!敖晃宜恪狈?wù)系統(tǒng)支持用戶(hù)基于終端命令執(zhí)行管理任務(wù),不同應(yīng)用間的主要區(qū)別在于任務(wù)腳本的撰寫(xiě),整體流程不變。因此,該流程只需替換用戶(hù)的任務(wù)腳本即可適用于其他應(yīng)用,如生物信息計(jì)算(如AlphaFold2[28]、BEDTOOL2[29])、原子分子工程計(jì)算(如ABINIT[30]、OpenFOAM[31])等科學(xué)計(jì)算工具以及基于常用機(jī)器學(xué)習(xí)框架(如Tensorflow[32]、PyTorch[33])的各類(lèi)人工智能應(yīng)用。

      如圖 7(1)(彩圖掃OSID 碼可見(jiàn))所示,用戶(hù)登錄客戶(hù)端后首先進(jìn)入主頁(yè),并通過(guò)“配置與連接”按鈕創(chuàng)建對(duì)集群的SSH 連接。主頁(yè)會(huì)記錄用戶(hù)最近使用的連接配置,如第二行紅框所選的“交我算平臺(tái):思源一號(hào)”表示最近使用的SSH 連接配置。在發(fā)起新連接時(shí),用戶(hù)可以在圖 7(2)所示下拉菜單中選擇“交我算”客戶(hù)端緩存的集群信息,指定登錄的集群。圖 7(3)顯示了創(chuàng)建連接時(shí)的密碼輸入界面,支持記錄用戶(hù)輸入的密碼或記錄用于登錄的密鑰。如果連接失敗,則會(huì)收到圖 7(4)所示的連接錯(cuò)誤診斷信息。如圖 7(5)所示,用戶(hù)SSH 連接成功后即可通過(guò)終端在集群節(jié)點(diǎn)上提交計(jì)算任務(wù)。如果需要傳輸文件,則點(diǎn)擊SFTP 鍵,彈出圖 7(6)的文件傳輸界面?!敖晃宜恪苯K端模擬器會(huì)檢測(cè)當(dāng)前目錄位置,并支持用戶(hù)從當(dāng)前位置開(kāi)始查找或傳輸文件。此外,界面還提供了創(chuàng)建文件夾、上傳文件等按鈕,幫助用戶(hù)便捷地上傳需要執(zhí)行的任務(wù)腳本。

      “交我算”平臺(tái)使用Slurm 作業(yè)調(diào)度系統(tǒng)[34]管理高性能計(jì)算集群上的任務(wù),用戶(hù)可使用如圖 7(7)所示的sbatch命令提交作業(yè),其中qe_intel.slurm 為用戶(hù)上傳和指定運(yùn)行的任務(wù)腳本。用戶(hù)還可通過(guò)squeue 命令查詢(xún)當(dāng)前任務(wù)狀態(tài)。最后,圖 7(8)顯示了任務(wù)結(jié)束后的輸出文件目錄結(jié)構(gòu),用戶(hù)可使用命令行命令在終端查看結(jié)果,也可便捷地通過(guò)客戶(hù)端的文件傳輸功能下載輸出文件并在本地查看。

      4.3 部署效果

      “交我算”服務(wù)系統(tǒng)上線后,根據(jù)工單系統(tǒng)和微信群統(tǒng)計(jì),用戶(hù)匯報(bào)連接錯(cuò)誤的頻率顯著降低,關(guān)于連接錯(cuò)誤的用戶(hù)咨詢(xún)?cè)谒凶稍?xún)的占比從5%降低到1%,顯著提升了用戶(hù)(尤其是非計(jì)算機(jī)專(zhuān)業(yè)用戶(hù))對(duì)于高性能集群的使用效率與用戶(hù)體驗(yàn)。

      5 結(jié)語(yǔ)

      本文針對(duì)高性能計(jì)算用戶(hù)使用“交我算”高性能計(jì)算平臺(tái)時(shí)遇到的步驟繁瑣問(wèn)題,設(shè)計(jì)并開(kāi)發(fā)了“交我算”一站式服務(wù)系統(tǒng)。該服務(wù)系統(tǒng)具有跨平臺(tái)客戶(hù)端,通過(guò)集成終端模擬器提供集群登錄和使用功能,并且具備現(xiàn)代化的用戶(hù)界面。該系統(tǒng)支持高度可配置的主題配色和快捷鍵設(shè)置,能夠自動(dòng)補(bǔ)全用戶(hù)所需填寫(xiě)的信息,簡(jiǎn)化用戶(hù)向集群傳輸文件的過(guò)程,并能夠幫助用戶(hù)自動(dòng)分析連接錯(cuò)誤。測(cè)試結(jié)果與實(shí)際部署表明,“交我算”服務(wù)系統(tǒng)能夠提供低時(shí)延與高并發(fā)的服務(wù),并顯著提升了上海交通大學(xué)師生使用高性能集群的體驗(yàn)。該系統(tǒng)對(duì)其他高校和科研機(jī)構(gòu)的高性能計(jì)算機(jī)群運(yùn)營(yíng)亦具有一定的參考價(jià)值。

      為進(jìn)一步提升“交我算”服務(wù)系統(tǒng)的易用性,未來(lái)將在以下3 個(gè)方面進(jìn)行系統(tǒng)優(yōu)化與拓展:①增強(qiáng)軟件在不同操作系統(tǒng)上的兼容性,并提供更多操作系統(tǒng)版本的支持服務(wù);②添加與超算可視化平臺(tái)的互聯(lián)功能,方便用戶(hù)在“交我算”系統(tǒng)上運(yùn)行可視化程序;③集成集群的低效作業(yè)提醒功能,通過(guò)監(jiān)測(cè)低效運(yùn)行作業(yè)并及時(shí)通知用戶(hù)以提高集群計(jì)算資源的運(yùn)行效率。

      猜你喜歡
      跨平臺(tái)高性能客戶(hù)端
      跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶(hù)端
      孵化垂直頻道:新聞客戶(hù)端新策略
      基于Vanconnect的智能家居瘦客戶(hù)端的設(shè)計(jì)與實(shí)現(xiàn)
      一款高性能BGO探測(cè)器的研發(fā)
      電子制作(2017年19期)2017-02-02 07:08:49
      高性能砼在橋梁中的應(yīng)用
      基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
      基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
      基于B/S的跨平臺(tái)用戶(hù)界面可配置算法研究
      SATA推出全新高性能?chē)姌孲ATAjet 5000 B
      平潭县| 鹤峰县| 镶黄旗| 尚义县| 菏泽市| 南漳县| 共和县| 湘潭市| 广灵县| 九龙城区| 曲水县| 邛崃市| 宣城市| 和龙市| 阿勒泰市| 岳池县| 绩溪县| 工布江达县| 瑞昌市| 克什克腾旗| 米易县| 克山县| 巴青县| 大新县| 慈溪市| 水富县| 苏尼特左旗| 重庆市| 富蕴县| 如东县| 大渡口区| 库尔勒市| 台山市| 名山县| 祁连县| 包头市| 岳西县| 从江县| 西昌市| 丰镇市| 松溪县|