国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MATLAB 計算集群在校園云上的SaaS 自動化解決方案

2021-03-25 02:09姚青洲文敏華
軟件導(dǎo)刊 2021年3期
關(guān)鍵詞:工具箱管理器許可證

許 天,姚青洲,文敏華,羅 萱

(1.上海交通大學(xué)網(wǎng)絡(luò)信息中心;2.上海交通大學(xué)學(xué)生創(chuàng)新中心,上海 200240)

0 引言

從2006 年Google 提出云計算概念至今,云計算技術(shù)已經(jīng)逐漸成熟、穩(wěn)定。除為IT 管理員提供的基礎(chǔ)設(shè)施服務(wù)(Infrastructure as a Service,IaaS)、為開發(fā)者提供的平臺服務(wù)(Platform as a Service,PaaS)外,云服務(wù)供應(yīng)商開始將更多關(guān)注點放在面向用戶的SaaS(Software as a Service)云計算模式上[1-3]。在傳統(tǒng)的軟件服務(wù)模式中,消費者需要將自行購買的軟件部署在IT 基礎(chǔ)設(shè)施上。然而在部署過程中,不同軟件版本會對IT 基礎(chǔ)設(shè)施的系統(tǒng)兼容性有所要求,應(yīng)用主體及其相關(guān)組件安裝工程量較大,商業(yè)軟件的許可證需要定期調(diào)整等,這些問題都要求消費者在部署與維護過程中具備一定的技術(shù)能力并投入時間,而同時軟件的購入、升級和每年的維護也會產(chǎn)生高昂的費用[4-5]。因此,SaaS 憑借著靈活性與擴展性強、安全性高和費用低的優(yōu)勢被逐漸應(yīng)用于很多企業(yè)的軟件系統(tǒng)中,例如銀行、電子商務(wù)企業(yè)等[6]。

MATLAB 是由美國MathWorks 公司出品的商業(yè)數(shù)學(xué)軟件,是一款用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的應(yīng)用軟件,為用戶提供高級技術(shù)計算語言和交互式環(huán)境。MATLAB 提供的多種工具箱使其除能實現(xiàn)數(shù)值運算外,還能適用于控制系統(tǒng)設(shè)計、圖像處理、信號處理與通訊、金融建模與分析等多個領(lǐng)域[7-8]。

作為一款跨領(lǐng)域的軟件,MATLAB 在高校各學(xué)科的教學(xué)和科研中有著廣泛應(yīng)用。但在校內(nèi)各個課題組的實際使用過程中,經(jīng)常會出現(xiàn)IT 基礎(chǔ)設(shè)施計算能力不足和軟件授權(quán)激活繁瑣等一系列問題,主要表現(xiàn)在傳統(tǒng)IT 基礎(chǔ)設(shè)施難以支持大規(guī)模的計算量和數(shù)據(jù)量等方面,而MATLAB 在高校科研中涉及到的數(shù)值矩陣計算、機械模型仿真、醫(yī)學(xué)圖像三維分析等案例,對硬件計算能力和數(shù)據(jù)讀寫能力有著較高要求。傳統(tǒng)的IT 基礎(chǔ)設(shè)施硬件資源有限,難以滿足計算需求。雖然MATLAB 支持集群計算功能,但集群的搭建過程較為復(fù)雜,且大規(guī)模的計算集群受限于硬件資源,在高校院系服務(wù)器環(huán)境中未被普遍使用。MATLAB 校園版提供給用戶的軟件授權(quán)通常需要用戶發(fā)起賬號注冊申請,經(jīng)軟件管理員審核后,再由用戶在服務(wù)器上手動激活,整個操作流程花費時間較長,且較為繁瑣。

相關(guān)研究提供了MATLAB 在云上和高性能計算(High Performance Computing,HPC)上的解決方案。部分公有云供應(yīng)商提供MATLAB 云上支持,如亞馬遜AWS[9]和微軟Microsoft Azure[10]的SaaS 方案能夠?qū)崿F(xiàn)MATLAB 在其云平臺上的安裝,但涉及集群功能實現(xiàn)的分布式工具箱MATLAB Parallel Server 仍需要用戶手動安裝及配置,且需要用戶自己提供對應(yīng)版本的許可證并手動完成授權(quán)激活過程。當(dāng)集群規(guī)模較大、節(jié)點較多時,配置需要耗費較長時間。HPC 方案是由服務(wù)提供商在HPC 系統(tǒng)中部署分布式工具箱、授權(quán)激活并完成集群配置[11-12],用戶從客戶端提交作業(yè)至HPC 集群進行計算。但HPC 是一個相對集成的系統(tǒng),不同的HPC 系統(tǒng)需要用戶掌握不同的作業(yè)提交方式,且HPC 提供的應(yīng)用運行環(huán)境與傳統(tǒng)操作系統(tǒng)運行環(huán)境差別較大。另一方面,HPC 的設(shè)計一般為所有用戶共享同一資源池,在作業(yè)較多的時間段需要排隊等候。

針對上述問題,本文提出一種MATLAB 在校園云上的SaaS 技術(shù)設(shè)計方案,將云計算豐富的硬件資源與MATLAB集群功能相結(jié)合,以滿足高??蒲杏嬎銓τ布Y源量、計算速度的要求,同時在多個計算集群間采用相互隔離的策略,以保障系統(tǒng)的并發(fā)性和穩(wěn)定性。通過在云上搭建MATLAB 許可證集群和云平臺腳本編排的方式,簡化用戶在計算環(huán)境部署和軟件授權(quán)過程中的手動操作,實現(xiàn)云計算自動化對高??蒲泄ぷ鞯闹?。

1 準(zhǔn)備工作

1.1 MATLAB 集群分布式計算實現(xiàn)

MATLAB 并行計算功能由MATHWORKS 公司提供的Parallel Computing Toolbox 實現(xiàn),該工具箱可以利用并行for 循環(huán)、特殊數(shù)組類型和并行化數(shù)值算法等,無需進行CUDA 或MPI 編程,即可實現(xiàn)計算程序的并行處理[13]。

MATLAB 分布式集群構(gòu)建需要使用MATLAB Parallel Server,該工具箱可將分散在不同節(jié)點上的CPU 資源池匯聚成一整個資源池,結(jié)合Parallel Computing Toolbox 完成計算任務(wù)對整個CPU 資源池中資源的調(diào)度,以實現(xiàn)MATLAB在云上的擴展。MATLAB 分布式集群計算系統(tǒng)如圖1 所示[14]。

Fig.1 MATLAB distributed cluster computing system圖1 MATLAB 分布式集群計算系統(tǒng)

1.2 jCloud 二期校園云平臺

jCloud 二期校園云平臺簡稱jCloud2.0,是上海交通大學(xué)網(wǎng)絡(luò)信息中心于2018 年6 月開始建設(shè)的校級云計算平臺。云平臺基于OpenStack 框架,并采用社區(qū)云[15]的部署模式,由網(wǎng)絡(luò)信息中心員工負(fù)責(zé)運維工作,服務(wù)對象為上海交通大學(xué)的院系、部門、研究團隊和附屬單位等。云平臺的操作模式類似公有云[16],向服務(wù)對象提供可供操作的控制臺界面。用戶可通過校內(nèi)統(tǒng)一賬號登錄云平臺控制臺界面,進入與個人賬號綁定的獨立項目進行資源服務(wù)的自助創(chuàng)建與管理。

除服務(wù)校內(nèi)的信息化系統(tǒng)外,jCloud2.0 的另一個主要用途是為院系項目組日趨增長的科研計算需求提供計算能力。為此,云平臺配備了豐富的計算硬件資源,資源池中包含12320 核CPU、118TB 內(nèi)存以及12PB 存儲。

2 方案實施

2.1 云上許可證管理器集群搭建

作為一款商業(yè)軟件,MATLAB 的使用需要得到授權(quán)。在云上部署MATLAB 集群計算環(huán)境需要的授權(quán)包含MAT?LAB 主程序及應(yīng)用工具箱、MATLAB Parallel Server、許可證管理器(License Manager)。

作為MATLAB 許可證管理器的主機可以向需要授權(quán)的客戶端機器提供浮動授權(quán)文件,文件中包含許可證管理器主機的MAC 地址。由于物理主機MAC 地址的唯一性,一旦更換作為許可證管理器的主機,會出現(xiàn)與該主機交互的客戶端機器無法正常授權(quán)使用的情況。采用云主機作為許可證管理器,可將指定的MAC 地址移植至新的云主機,避免了在更換許可證管理器時,由于新主機的MAC 地址與浮動授權(quán)文件中寫入MAC 地址不對應(yīng)而產(chǎn)生軟件授權(quán)失敗的問題。

MATLAB 許可證管理器使用的是FlexNet Publisher 軟件授權(quán)管理器,支持Three-Server Redundancy[17],即通過3 臺作為許可證管理器的主機搭建高可用授權(quán)許可集群。創(chuàng)建3 臺云主機作為許可證管理器,并為這3 臺云主機綁定可供校園網(wǎng)客戶端機器訪問的互聯(lián)網(wǎng)IP 地址,完成與客戶端機器的授權(quán)交互,如圖2 所示??朔藗鹘y(tǒng)模式下將整臺物理服務(wù)器專用于授權(quán)服務(wù)造成的硬件資源浪費,并節(jié)約了物理服務(wù)器管理所投入的人力成本。

Fig.2 Authorization management of MATLAB on cloud圖2 云上MATLAB 的授權(quán)管理

在該方案中,3 臺許可證管理器云主機放置于云平臺管理員賬號下,始終開啟并提供服務(wù)。浮動授權(quán)文件中包含MATLAB 主程序和應(yīng)用工具箱,以及MATLAB Parallel Server 的授權(quán)聲明。MATLAB 在激活時會自動與許可證管理器云主機交互完成所有功能的授權(quán),無需任何用戶或管理員手工操作。

2.2 科研模板解決方案

科研模板是jCloud2.0 上IT 基礎(chǔ)設(shè)施及軟件部署的“一鍵式”解決方案。使用科研模板功能,用戶可在沒有任何IT 背景的情況下,通過簡單的參數(shù)定義在幾分鐘時間內(nèi)快速完成所需科研軟件計算環(huán)境的搭建。

2.2.1 用戶自定義參數(shù)

科研模板的核心是依靠OpenStack 編排服務(wù)(Open?Stack Heat[18]),以腳本的方式實現(xiàn)云主機、網(wǎng)絡(luò)、存儲等相關(guān)資源的編排。相應(yīng)的參數(shù)接口如云主機數(shù)量、云主機硬件配置模板(flavor)、用戶名、密碼、網(wǎng)絡(luò)帶寬等將通過OpenStack 控制臺服務(wù)(OpenStack Horizon[19])暴露給用戶以供選擇,如圖3 所示。

以圖3 中的“配置”參數(shù)為例,該參數(shù)提供了多種計算集群云主機硬件配置模板類型,用戶可根據(jù)需要選擇對應(yīng)配置,編排腳本會在啟用過程中調(diào)用所選擇的配置,并完成科研模板創(chuàng)建。以下為編排腳本中對“配置”的聲明及調(diào)用。

Fig.3 User definable parameters of APP template圖3 科研模板用戶可定義參數(shù)

2.2.2 計算環(huán)境實現(xiàn)

用戶創(chuàng)建MATLAB 科研模板時所調(diào)用的云主機鏡像由云平臺管理員上傳,其基于標(biāo)準(zhǔn)操作系統(tǒng)(CentOS7.4 和Windows Server 2012 R2)鏡像,部署了MATLAB 應(yīng)用程序及所需工具箱。科研模板創(chuàng)建完成后無需用戶再進行軟件安裝工作。

用戶在控制臺界面確認(rèn)了參數(shù)配置后會啟動Heat-Engine,OpenStack 編排服務(wù)根據(jù)模板的內(nèi)容參數(shù)執(zhí)行以下步驟:選擇對應(yīng)的MATLAB 科研模板鏡像,匹配硬件配置模板,掛載根磁盤,創(chuàng)建云主機與私有網(wǎng)絡(luò)并為云主機掛載網(wǎng)卡,創(chuàng)建安全組并將私有網(wǎng)絡(luò)加入安全組以及綁定互聯(lián)網(wǎng)IP 等,如圖4 所示。

Fig.4 Implementation procedure of APP template圖4 科研模板實現(xiàn)流程

通過以上步驟,根據(jù)編排腳本的內(nèi)容在用戶的云平臺項目內(nèi)創(chuàng)建并配置包含主機、存儲、網(wǎng)絡(luò)在內(nèi)的基礎(chǔ)設(shè)施資源,完成計算環(huán)境的自動化部署。計算結(jié)束后,用戶可在控制臺界面上點擊“刪除”按鈕,由后臺調(diào)用相應(yīng)的編排腳本,實現(xiàn)“一鍵式”的資源釋放,完成本次云計算資源的租用周期。

2.2.3 主從節(jié)點服務(wù)啟動

開啟MATLAB 并行資源池需要進入操作系統(tǒng)安裝并啟動MDCE(MATLAB Distribute Computing Engine)服務(wù)。由于MATLAB Parallel Server 工具箱在安裝完成后生成了MDCE 服務(wù)的安裝和啟動腳本,本文在編排腳本中加入調(diào)用命令,在計算集群所有節(jié)點上運行MDCE 服務(wù)安裝和啟動腳本。以Windows 版本為例,命令如下:

此外,開啟MATLAB 并行資源池需要在主節(jié)點上啟動MDCE 任務(wù)管理器。為了保證服務(wù)啟動時間和計算集群效率,本文獲取了計算集群的CPU 總核數(shù),并設(shè)置Worker 工作端數(shù)量與集群CPU 總核數(shù)相對應(yīng),以編排腳本調(diào)用MDCE 任務(wù)管理器腳本(startjobmanager.bat)的方式啟動MDCE 任務(wù)管理器。

主從節(jié)點的服務(wù)啟動為科研模板創(chuàng)建流程的最后一步。完成創(chuàng)建后,可直接在MATLAB 應(yīng)用程序界面發(fā)現(xiàn)配置完成的集群配置文件(Cluster Profile),加載該配置文件即可調(diào)用計算資源池,如圖5 所示。

Fig.5 Dual-node 16 core MATLAB cluster configuration file discovery圖5 雙節(jié)點16 核的MATLAB 集群配置文件發(fā)現(xiàn)

2.3 性能測試

2.3.1 集群擴展能力

在一個計算任務(wù)可被均勻分割的前提下,并行系統(tǒng)計算效率及計算使用的線程數(shù)應(yīng)呈線性關(guān)系[20-22]。為了驗證MATLAB 科研模板在jCloud2.0 上的擴展能力符合該趨勢,本文進行了大規(guī)模的擴展性測試。

在擴展性測試中采用16 節(jié)點64 核CPU 集群,集群配置文件包含1 024 個Worker 工作端,每個工作端對應(yīng)一個CPU。所采用的測試案例為大規(guī)模的循環(huán)累加程序,以盡可能為集群中每個節(jié)點均勻分配任務(wù),并減少節(jié)點間數(shù)據(jù)傳輸和網(wǎng)絡(luò)通信對擴展性測試造成的影響。測試腳本如下:

測試結(jié)果如表1 所示。

Table 1 Scalability test of MATLAB distributed system表1 MATLAB 分布式系統(tǒng)擴展性測試

從表1 可以看出,隨著計算集群工作端數(shù)量的增加,計算時間逐漸減少,且兩者線性對應(yīng)。計算效率與參與計算的集群CPU 之間的關(guān)系符合預(yù)期,MATLAB 在云平臺上有著符合期望的擴展能力。

同時,本文采用相同算例,對一般學(xué)院的計算環(huán)境(單臺32 核CPU 服務(wù)器)和jCloud2.0 上云主機集群的擴展能力進行對比,測試結(jié)果如圖6 所示。由于CPU 型號主頻不同,在使用小于等于32 個工作端進行計算時,學(xué)院服務(wù)器的計算時間略長于云主機集群,而在開啟32 個以上的工作端后,學(xué)院服務(wù)器會出現(xiàn)多個工作端同時占用一個CPU的情況,實際計算能力受限于CPU 的核數(shù),擴展能力受到限制。

Fig.6 Comparison of scalability between jCloud2.0 computing cluster and faculty server圖6 jCloud2.0 計算集群與學(xué)院服務(wù)器擴展能力對比

2.3.2 系統(tǒng)并發(fā)性及穩(wěn)定性

MATLAB 科研模板創(chuàng)建的計算集群為獨立的系統(tǒng),創(chuàng)建多個科研模板時,將集群之間互相隔離以保證在每個集群中進行的計算任務(wù)不會被干擾。對此,本文采用3 個4節(jié)點16 核CPU 集群進行驗證,每個集群包含64 個Work?er 工作端。3 個集群同時運行復(fù)雜度較高的整數(shù)因式分解算例(計算密集型算例)[23],結(jié)果如表2 所示。

Table 2 Concurrency test of MATLAB distributed system表2 MATLAB 分布式系統(tǒng)并發(fā)性測試

從表2 可以看出,在同時運行相同算例的情況下,3 個集群表現(xiàn)出的性能相近。每個集群獨享所占用云平臺計算、存儲和網(wǎng)絡(luò)資源的設(shè)計在一定程度上保障了系統(tǒng)的并發(fā)性和穩(wěn)定性,避免了因“整體式資源池”架構(gòu)中多個計算任務(wù)間資源爭奪造成性能不穩(wěn)定的情況。

2.4 數(shù)據(jù)后處理

除jCloud2.0 云平臺服務(wù)外,上海交通大學(xué)網(wǎng)絡(luò)信息中心也向全校師生提供高性能計算平臺服務(wù)。但高性能計算平臺不向普通用戶提供圖形化界面,用戶通常需要將計算結(jié)果從高性能計算平臺拷貝到自己的本地服務(wù)器上,再在本地服務(wù)器上完成數(shù)據(jù)的可視化和繪圖等后處理工作。在數(shù)據(jù)量較大的情景中,該操作較為復(fù)雜、繁瑣。

針對這一問題,本文打通了云平臺與高性能平臺的數(shù)據(jù)通道,用戶可通過簡單的掛載操作,在MATLAB 科研模板創(chuàng)建的云主機上掛載自己在高性能計算平臺上的用戶目錄,從而實現(xiàn)對文件、數(shù)據(jù)的訪問。由于云主機支持圖形化界面,用戶可直接在云主機上使用MATLAB 進行結(jié)果數(shù)據(jù)的后處理,而無需復(fù)雜的數(shù)據(jù)搬遷工作。

3 運行成效

據(jù)統(tǒng)計,截至目前有超過10 個院系的多個課題組在云平臺上使用MATLAB 進行科研工作,較之前的計算能力整體提升了3~10 倍,滿足了科研課題組對計算能力的需求。同時在教學(xué)過程中,用戶可通過簡單的操作獲得部署了MATLAB 的云主機資源,從而節(jié)約了安裝軟件、授權(quán)激活等操作消耗的時間,提升了實驗課程教學(xué)效率。

4 結(jié)語

本文提出一種MATLAB 在校園云上的SaaS 解決方案,該方案通過在云上搭建MATLAB 許可證管理器集群、實現(xiàn)MATLAB 分布式集群、科研模板編排腳本自動化部署計算環(huán)境以及與校級高性能計算平臺的數(shù)據(jù)互通,解決了MATLAB 在高校傳統(tǒng)使用方式中存在的授權(quán)繁瑣、集群部署耗時長、計算擴展能力差、后期處理過程中數(shù)據(jù)傳輸困難等問題,并就當(dāng)前研究中的難點如高可用授權(quán)管理、保障系統(tǒng)并發(fā)穩(wěn)定性等進行了優(yōu)化設(shè)計,旨在進一步發(fā)揮校園云對高校軟件科研及教學(xué)工作的支撐作用。隨著高校信息化的發(fā)展,如何在校園云上為用戶提供更優(yōu)質(zhì)的軟件服務(wù)體驗,如預(yù)置仿真模型腳本、實驗數(shù)據(jù)后處理一鍵式服務(wù)等,將是下一步的研究方向。

猜你喜歡
工具箱管理器許可證
爆笑三國之打架許可證
秦山核電廠運行許可證延續(xù)研究與應(yīng)用
應(yīng)急狀態(tài)啟動磁盤管理器
Windows文件緩沖處理技術(shù)概述
基于MATLAB優(yōu)化工具箱優(yōu)化西洋參總皂苷提取工藝
全國首批排污許可證落地
Matlab曲線擬合工具箱在地基沉降預(yù)測模型中的應(yīng)用
銀川市放療許可證發(fā)放現(xiàn)狀分析
高集成度2.5A備份電源管理器簡化鋰離子電池備份系統(tǒng)
搜狗分號工具箱 輸入更便捷
宁都县| 许昌县| 沾益县| 龙胜| 伊春市| 汕头市| 大安市| 舟山市| 紫云| 阳新县| 甘肃省| 松江区| 光山县| 桂东县| 梁山县| 江西省| 涡阳县| 襄城县| 万载县| 从化市| 乐清市| 曲沃县| 河北区| 六枝特区| 天等县| 海阳市| 南昌县| 特克斯县| 黑水县| 冀州市| 大英县| 文水县| 禹城市| 荔波县| 延川县| 出国| 衡水市| 苏尼特左旗| 商丘市| 土默特左旗| 灵宝市|