亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2021-03-25 02:09:16姚青洲文敏華
        軟件導刊 2021年3期
        關鍵詞:用戶服務

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

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

        0 引言

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

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

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

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

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

        1 準備工作

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

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

        2 方案實施

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

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

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

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

        Fig.2 Authorization management of MATLAB on cloud圖2 云上MATLAB 的授權管理

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

        2.2 科研模板解決方案

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

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

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

        以圖3 中的“配置”參數(shù)為例,該參數(shù)提供了多種計算集群云主機硬件配置模板類型,用戶可根據(jù)需要選擇對應配置,編排腳本會在啟用過程中調(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)用的云主機鏡像由云平臺管理員上傳,其基于標準操作系統(tǒng)(CentOS7.4 和Windows Server 2012 R2)鏡像,部署了MATLAB 應用程序及所需工具箱??蒲心0鍎?chuàng)建完成后無需用戶再進行軟件安裝工作。

        用戶在控制臺界面確認了參數(shù)配置后會啟動Heat-Engine,OpenStack 編排服務根據(jù)模板的內(nèi)容參數(shù)執(zhí)行以下步驟:選擇對應的MATLAB 科研模板鏡像,匹配硬件配置模板,掛載根磁盤,創(chuàng)建云主機與私有網(wǎng)絡并為云主機掛載網(wǎng)卡,創(chuàng)建安全組并將私有網(wǎng)絡加入安全組以及綁定互聯(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)絡在內(nèi)的基礎設施資源,完成計算環(huán)境的自動化部署。計算結(jié)束后,用戶可在控制臺界面上點擊“刪除”按鈕,由后臺調(diào)用相應的編排腳本,實現(xiàn)“一鍵式”的資源釋放,完成本次云計算資源的租用周期。

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

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

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

        主從節(jié)點的服務啟動為科研模板創(chuàng)建流程的最后一步。完成創(chuàng)建后,可直接在MATLAB 應用程序界面發(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 集群擴展能力

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        3 運行成效

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

        4 結(jié)語

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

        猜你喜歡
        用戶服務
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        服務在身邊 健康每一天
        招行30年:從“滿意服務”到“感動服務”
        商周刊(2017年9期)2017-08-22 02:57:56
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        Camera360:拍出5億用戶
        日本一区人妻蜜桃臀中文字幕| 久久国产精品波多野结衣av| 91免费在线| 亚洲成人av一区二区麻豆蜜桃| 亚洲免费在线视频播放| 国产亚洲精品久久久久久国模美| 久久久精品人妻一区二区三区蜜桃| 日日摸夜夜添夜夜添一区二区| 亚洲免费成年女性毛视频| 久久蜜桃资源一区二区| 色先锋av影音先锋在线| 亚洲女人被黑人巨大进入| 麻豆国产成人AV网| 久久一区二区av毛片国产| 在线亚洲高清揄拍自拍一品区| 人妻影音先锋啪啪av资源| 国产精品无码久久久久久久久作品| 久久久精品少妇—二区| 亚洲熟妇无码久久精品| 67194熟妇在线永久免费观看| 青草网在线观看| 97超碰中文字幕久久| 亚洲av无码乱码国产麻豆| 亚洲综合欧美在线一区在线播放| 亚洲男女免费视频| 亚洲全国最大的人成网站| 人妻精品在线手机观看| a级特黄的片子| 加勒比精品久久一区二区三区| 日产精品毛片av一区二区三区| 久久天堂av综合合色| 久久久久国产精品熟女影院| 91精品在线免费| 久久一区二区三区老熟女| 亚洲av永久无码精品网站在线观看| 久久国产A√无码专区亚洲| 精品一区二区三区长筒靴| 日本午夜理论片在线观看| 99久久精品国产一区二区三区| 国产精品无码无片在线观看3D| 清纯唯美亚洲经典中文字幕|