鄒哲鵬,李江,趙飛,吳迪*,杜云飛
1.中山大學(xué) 數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,廣東 廣州 510006
2.國(guó)家超級(jí)計(jì)算廣州中心,廣東 廣州 510006
面向高性能計(jì)算的在線教育實(shí)踐平臺(tái)的研究與實(shí)現(xiàn)
鄒哲鵬1,李江2,趙飛1,吳迪1*,杜云飛2
1.中山大學(xué) 數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,廣東 廣州 510006
2.國(guó)家超級(jí)計(jì)算廣州中心,廣東 廣州 510006
我國(guó)在高性能計(jì)算專業(yè)人才培養(yǎng)方面存在短板,傳統(tǒng)的課堂教學(xué)中理論學(xué)習(xí)居多,實(shí)踐環(huán)節(jié)偏少。為提升我國(guó)高性能計(jì)算人才的培養(yǎng)水平,提供一個(gè)靈活可用的高性能計(jì)算教育實(shí)踐平臺(tái)成為一個(gè)亟待解決的問(wèn)題。本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)面向高性能計(jì)算的在線教育實(shí)踐平臺(tái)系統(tǒng),包括在線課程模塊、題庫(kù)模塊、互動(dòng)社區(qū)模塊、虛擬實(shí)驗(yàn)室模塊?;谠撓到y(tǒng),教師可以在線開(kāi)展高性能計(jì)算的理論和實(shí)踐教學(xué),布置高性能計(jì)算相關(guān)作業(yè)和并行編程任務(wù),也可以創(chuàng)建高性能計(jì)算題庫(kù)。學(xué)生可以在線學(xué)習(xí)相關(guān)課程、提交課程作業(yè)、交流討論、進(jìn)行高性能計(jì)算編程練習(xí)。本系統(tǒng)的開(kāi)發(fā)可以提升目前高性能計(jì)算相關(guān)課程實(shí)踐教學(xué)的水平,方便同學(xué)們進(jìn)行課程實(shí)踐學(xué)習(xí)。
高性能計(jì)算;在線教育;編程實(shí)踐;Web 應(yīng)用
高性能計(jì)算作為計(jì)算機(jī)技術(shù)的一個(gè)重要分支,可以運(yùn)用大量處理單元的聚合計(jì)算能力來(lái)解決復(fù)雜的問(wèn)題,目前已經(jīng)被廣泛應(yīng)用在全球氣候預(yù)測(cè)、藥物設(shè)計(jì)等重要領(lǐng)域[1]。在國(guó)務(wù)院發(fā)布的《國(guó)家中長(zhǎng)期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要(2006—2020年)》中,明確指出要加速發(fā)展高性能計(jì)算。在國(guó)家的高度重視和大力支持下,中國(guó)超級(jí)計(jì)算機(jī)系統(tǒng)的整體研發(fā)能力已經(jīng)處于國(guó)際領(lǐng)先水平[2]。
然而目前我國(guó)自主超級(jí)計(jì)算應(yīng)用軟件嚴(yán)重缺乏,許多領(lǐng)域的應(yīng)用嚴(yán)重依賴于國(guó)外軟件。造成上述問(wèn)題的主要原因在于 HPC 教育中并行計(jì)算實(shí)踐環(huán)節(jié)相對(duì)單薄,導(dǎo)致高性能計(jì)算應(yīng)用研發(fā)人員質(zhì)量和數(shù)量都不夠。當(dāng)代超級(jí)計(jì)算系統(tǒng)結(jié)構(gòu)復(fù)雜、規(guī)模龐大,進(jìn)一步加大了人才培養(yǎng)的難度。除此之外,高性能計(jì)算應(yīng)用領(lǐng)域需求多樣,往往還涉及多個(gè)學(xué)科,使得高性能人才需要掌握的內(nèi)容比較多,培養(yǎng)周期也變長(zhǎng)。
大力發(fā)展高性能計(jì)算教育已經(jīng)迫在眉睫,目前國(guó)內(nèi)外高性能計(jì)算的教育主要有以下三種形式[3]:(1)高校開(kāi)設(shè)的課程。國(guó)內(nèi)外的高校為本科生、研究生開(kāi)設(shè)高性能計(jì)算相關(guān)課程,側(cè)重 HPC 的原理、算法和實(shí)現(xiàn)方法。(2)網(wǎng)絡(luò)教育平臺(tái)發(fā)布的公開(kāi)課。網(wǎng)絡(luò)開(kāi)放課程基本上分為兩類,一類面向的對(duì)象是 HPC 入門學(xué)生,向他們傳授基礎(chǔ)知識(shí)。另一類課程面向 HPC的專業(yè)用戶,幫助他們掌握工程中具體的方法和技巧。(3)高性能計(jì)算資源提供者開(kāi)設(shè)的專業(yè)培訓(xùn)。這類培訓(xùn)針對(duì)目標(biāo)用戶,側(cè)重于編程實(shí)踐中應(yīng)用開(kāi)發(fā)環(huán)境的使用和調(diào)試的技巧。
然而現(xiàn)有的高性能計(jì)算教育方式存在著很大的不足之處,主要體現(xiàn)在用戶無(wú)法方便地在高性能計(jì)算機(jī)上進(jìn)行編程實(shí)踐。一是高性能計(jì)算資源匱乏,許多用戶無(wú)法使用高性能計(jì)算資源進(jìn)行學(xué)習(xí),二是高性能計(jì)算機(jī)使用方法復(fù)雜,一般情況下都需要先用 VPN 連接到高性能計(jì)算環(huán)境,然后使用Linux命令行方式向集群提交作業(yè)和查看運(yùn)行狀態(tài),但是這種方式對(duì)于用戶來(lái)說(shuō)太復(fù)雜。
總體來(lái)看,目前國(guó)內(nèi)外缺乏一個(gè)可以利用高性能計(jì)算資源進(jìn)行教育實(shí)踐的支撐平臺(tái),不能充分將相關(guān)課程資源和實(shí)踐環(huán)境整合在高性能計(jì)算人才培養(yǎng)中。
面向高性能計(jì)算的在線教育實(shí)踐平臺(tái)的主要功能是將課程資源和高性能計(jì)算環(huán)境進(jìn)行整合,方便用戶通過(guò)該平臺(tái)學(xué)習(xí)理論知識(shí)的同時(shí)進(jìn)行編程實(shí)踐。
本平臺(tái)主要提供在線課程模塊,試題中心模塊,互動(dòng)社區(qū)模塊和虛擬實(shí)驗(yàn)室模塊,用于向?qū)W生用戶提供體驗(yàn)優(yōu)良、功能完善、內(nèi)容豐富、易于操作的教學(xué)實(shí)踐環(huán)境。為了更加有針對(duì)性地提供服務(wù),用戶角色也細(xì)化為了學(xué)生用戶、教師用戶和管理員用戶。學(xué)生用戶主要使用課程、試題、社區(qū)、實(shí)驗(yàn)室等服務(wù),是內(nèi)容的消費(fèi)者;教師用戶創(chuàng)建、管理課程、試題和實(shí)驗(yàn)任務(wù),是內(nèi)容的生產(chǎn)者;管理員用戶管理系統(tǒng)中所有的學(xué)生和教師用戶,還負(fù)責(zé)管理系統(tǒng)的公告信息和互動(dòng)社區(qū)中的群組。
其中,在線課程模塊系統(tǒng)地存儲(chǔ)課程的相關(guān)資源,其中每門課程均有課程概況、課時(shí)列表、課堂測(cè)驗(yàn)、課程作業(yè)、課程討論和課程評(píng)價(jià)六個(gè)部分。教師可以建立一門課,并對(duì)課程進(jìn)行管理。學(xué)生加入課程后即可瀏覽課程資源,完成課程作業(yè)。
試題中心模塊是一個(gè)功能完善的題庫(kù),既支持傳統(tǒng)的選擇、判斷和問(wèn)答題目,也支持并行程序編程題目。教師負(fù)責(zé)創(chuàng)建、管理題目,學(xué)生可以按照分類瀏覽回答題目。對(duì)于編程題目,學(xué)生可以選擇使用不同的并行配置選項(xiàng)去運(yùn)行程序。
互動(dòng)社區(qū)模塊和傳統(tǒng) BBS 類似,用于教師和學(xué)生之間的互動(dòng)交流。社區(qū)分為不同的群組,學(xué)生和教師加入群組后,可以在該小組內(nèi)創(chuàng)建話題,對(duì)話題進(jìn)行評(píng)論。每門課程均對(duì)應(yīng)有一個(gè)群組,學(xué)生加入課程后即可在該群組內(nèi)討論課程相關(guān)內(nèi)容。
虛擬實(shí)驗(yàn)室模塊通過(guò)一系列的知識(shí)介紹和編程任務(wù),由淺入深地引導(dǎo)學(xué)生動(dòng)手進(jìn)行高性能計(jì)算編程實(shí)踐。在虛擬實(shí)驗(yàn)室中,教師可以創(chuàng)新編程任務(wù),或者創(chuàng)建虛擬桌面環(huán)境,方便用戶學(xué)習(xí)環(huán)境配置。
此外,系統(tǒng)還需要有完整的用戶管理功能,負(fù)責(zé)用戶的注冊(cè)、登錄、鑒權(quán)以及找回密碼等功能。系統(tǒng)還需要支持郵件的發(fā)送,用于給用戶發(fā)送重置密碼鏈接以及其他通知郵件。
本系統(tǒng)可以劃分為Web服務(wù)層,系統(tǒng)業(yè)務(wù)層,數(shù)據(jù)持久層和高性能支持層,如圖1 所示。從而將業(yè)務(wù)邏輯與Web服務(wù)層和高性能支持層解耦,并提高代碼的復(fù)用性。
當(dāng)用戶發(fā)起 HTTP 請(qǐng)求時(shí),Web服務(wù)層根據(jù)URL 將請(qǐng)求分發(fā)到系統(tǒng)業(yè)務(wù)層,相關(guān)的業(yè)務(wù)邏輯進(jìn)行處理,調(diào)用高性能支持層或數(shù)據(jù)持久層,獲取結(jié)果后發(fā)送給Web服務(wù)層進(jìn)行渲染,最后返回給用戶[4]。各個(gè)層次負(fù)責(zé)的主要工作如下:(1)Web 服務(wù)層:根據(jù)請(qǐng)求中攜帶的URL分發(fā)HTTP請(qǐng)求,決定由哪部分業(yè)務(wù)邏輯處理請(qǐng)求,并將處理后的結(jié)果返回給HTML 模板進(jìn)行渲染。(2)系統(tǒng)業(yè)務(wù)層:處理系統(tǒng)的相關(guān)業(yè)務(wù)邏輯,包括學(xué)生將并行程序上傳到高性能計(jì)算機(jī),獲取程序執(zhí)行結(jié)果?;蛘呤菍W(xué)生加入課程進(jìn)行學(xué)習(xí)并提交作業(yè)等處理過(guò)程。(3)數(shù)據(jù)持久層:負(fù)責(zé)Web 站點(diǎn)數(shù)據(jù)的持久化,主要提供數(shù)據(jù)庫(kù)服務(wù)和資源文件的保存。(4)高性能支持層:提供相關(guān)高性能計(jì)算服務(wù),可以調(diào)用 HPC 的計(jì)算資源,支持并行程序的編譯運(yùn)行。
圖1 高性能計(jì)算教育實(shí)踐平臺(tái)系統(tǒng)架構(gòu)圖Fig.1 System Architecture of Online HPC Educational Practice Platform
本平臺(tái)支持通過(guò)Web端提交并行程序到高性能計(jì)算機(jī)編譯運(yùn)行。在高性能計(jì)算環(huán)境中,部署 Restful服務(wù)[5],提供表1中的API接口,Web前端獲取并行程序代碼和運(yùn)行參數(shù)后,通過(guò)API提交程序到高性能計(jì)算機(jī),然后將結(jié)果反饋到Web前端。
用戶提交程序后,后臺(tái)首先給高性能 API 發(fā)送認(rèn)證信息,認(rèn)證通過(guò)后,上傳并行程序和編譯、運(yùn)行腳本,高性能計(jì)算機(jī)將該任務(wù)加入作業(yè)隊(duì)列,返回作業(yè)ID。后臺(tái)調(diào)用 Restful 接口查詢作業(yè)執(zhí)行狀態(tài)。如果作業(yè)執(zhí)行成果,就去獲取作業(yè)執(zhí)行結(jié)果。
本平臺(tái)通過(guò)提供Web端虛擬桌面,讓用戶可以方便地進(jìn)行高性能計(jì)算環(huán)境的配置[6]。該部分共由4個(gè)部分組成,如圖2所示,包括基于 Flask的用戶與實(shí)驗(yàn)內(nèi)容事務(wù)處理服務(wù)器、基于Java Servlet的 Guacamole第一層代理服務(wù)器[7]、Docker 封裝的Guacd二層代理服務(wù)器以及基于 Docker的虛擬機(jī)集群[8]。
用戶向事務(wù)處理服務(wù)器發(fā)送遠(yuǎn)程桌面連接請(qǐng)求,F(xiàn)lask服務(wù)器驗(yàn)證用戶權(quán)限信息之后,生成 Token 并與相關(guān)用戶信息一起發(fā)送給第一層代理服務(wù)器。該階段為連接配置階段,第一層代理服務(wù)器將會(huì)驗(yàn)證Token的有效性,并查詢現(xiàn)有虛擬機(jī)運(yùn)行狀態(tài)。若所有驗(yàn)證性操作都成功通過(guò),則抽取合適虛擬設(shè)備,修改數(shù)據(jù)庫(kù)中對(duì)應(yīng)設(shè)備狀態(tài)信息,并通知 Flask服務(wù)器配置成功。
Flask取得配置情況狀態(tài)信息,根據(jù)對(duì)應(yīng)狀態(tài)返回相應(yīng)內(nèi)容。若成功配置,F(xiàn)lask服務(wù)器將向用戶端返回對(duì)應(yīng) Token 值。用戶取得合法的Token之后,向第一層代理服務(wù)器發(fā)起遠(yuǎn)程桌面連接請(qǐng)求,該請(qǐng)求為基于 HTTP協(xié)議實(shí)現(xiàn)的雙向通信協(xié)議 Guacamole。第一層代理服務(wù)器取得Token之后,根據(jù)第一階段數(shù)據(jù)庫(kù)中保存的配置信息核對(duì)用戶身份。驗(yàn)證通過(guò)后,取得對(duì)應(yīng)虛擬設(shè)備的訪問(wèn)地址與密鑰,同時(shí)向第二層代理發(fā)送配置信息。
第二層代理取得參數(shù),并根據(jù)例如 VNC、RDP等傳統(tǒng)遠(yuǎn)程桌面協(xié)議,裝載對(duì)應(yīng)插件并連接虛擬設(shè)備,成功后從用戶端到虛擬設(shè)備端的通信通道已經(jīng)建立,用戶可以在Web頁(yè)面上使用遠(yuǎn)程桌面。
本系統(tǒng)首先在天河二號(hào)部署 Restful 接口,然后調(diào)用接口進(jìn)行并行程序的編譯運(yùn)行功能,為了便于在本系統(tǒng)中使用部署在天河二號(hào)的接口,本平臺(tái)對(duì)API 進(jìn)行進(jìn)一步抽象封裝,將其接口封裝為 python 的EHPCClient 類和 submit_code 函數(shù),從而降低本系統(tǒng)和 HPC 環(huán)境的耦合性,并提供良好的編程接口。
完成封裝之后,教育實(shí)踐平臺(tái)使用 HPC 資源方法十分簡(jiǎn)單。以在線編程題目為例,當(dāng)學(xué)生配置好程序運(yùn)行環(huán)境(比如運(yùn)行節(jié)點(diǎn)數(shù)目、程序語(yǔ)言等參數(shù)),點(diǎn)擊提交代碼后,系統(tǒng)后臺(tái)獲取學(xué)生 HPC 環(huán)境配置和源代碼,然后直接調(diào)用 submit_code 即可獲取程序運(yùn)行結(jié)果。整個(gè)流程如圖3所示。
表1 HPC 接口列表Table 1 HPC interface list
本平臺(tái)用 Java Servlet 作為一層代理,主要實(shí)現(xiàn)了Controller類,它是 Servlet服務(wù)器與 Flask服務(wù)器交互的接口。當(dāng)用戶在前端發(fā)起連接請(qǐng)求時(shí),F(xiàn)lask服務(wù)器將生成Token,同時(shí)將對(duì)應(yīng)用戶id與Token一同發(fā)送至Servlet服務(wù)器。正確地接收到用戶id與Token 值之后,Controller將會(huì)按照如下步驟進(jìn)行操作:
(1)根據(jù)用戶id查詢數(shù)據(jù)庫(kù),若能找到記錄,則認(rèn)為此為用戶斷線重連操作,舍棄 Flask 傳來(lái)的新Token,取出該記錄中 Token 字段值,返回給 Flask 服務(wù)器。
(2)若非斷線重連操作,判斷獲得的Token值是否有與數(shù)據(jù)庫(kù)中任意一條記錄的 Token 值重復(fù),若重復(fù),則要求 Flask 服務(wù)器重新生成新的 Token。
(3)否則認(rèn)為請(qǐng)求正常,根據(jù)數(shù)據(jù)庫(kù)信息尋找可用設(shè)備,將該設(shè)備對(duì)應(yīng)記錄 Token 字段設(shè)置為獲得的Token,用戶 id 字段設(shè)置為獲得的用戶 id。并返回成功信息。
圖2 HPC 虛擬桌面原理圖Fig.2 HPC Virtual Desktop System
圖3 HPC 在線程序提交流程圖Fig.3Flow Chart of HPC Online Program Submission
此外,創(chuàng)建了 VNCSetter 類,該類根據(jù)用戶要求設(shè)置遠(yuǎn)程桌面的分辨率。首先 VNCSetter 將會(huì)對(duì)用戶傳來(lái)的 Token 值與分辨率參數(shù)進(jìn)行合法性驗(yàn)證,不允許非數(shù)字與負(fù)數(shù)分辨率。驗(yàn)證通過(guò)后 Java 后臺(tái)啟用新進(jìn)程在宿主機(jī)層面上通過(guò) Docker 對(duì)容器內(nèi)的虛擬設(shè)備分辨率進(jìn)行修改。修改時(shí),需要先關(guān)閉 VNC 服務(wù)器,然后使用帶分辨率參數(shù)的命令重新啟動(dòng)容器,返回成功的狀態(tài)碼之后,VNCSetter 向用戶返回執(zhí)行情況,前端根據(jù)返回的信息執(zhí)行錯(cuò)誤提示或者刷新頁(yè)面以獲得新的桌面。
平臺(tái)中所有的虛擬設(shè)備都運(yùn)行于 Docker 容器中,同時(shí)第二層代理 Guacd 也運(yùn)行于容器中,并監(jiān)聽(tīng) 4822 端口。對(duì)于每一個(gè)虛擬設(shè)備,使用Ubuntu16.04 系統(tǒng),并安裝 xfce4 輕量級(jí)桌面,并安裝VNCSERVER。使用 Docker 進(jìn)行虛擬設(shè)備創(chuàng)建時(shí),限制了設(shè)備CPU占用上限與內(nèi)存占用上限,以實(shí)現(xiàn)資源的平均分配。
本文采用經(jīng)典的部署方式來(lái)部署高性能計(jì)算教育實(shí)踐平臺(tái),主要用到以下工具:Nginx + Gunicorn +Supervisor + MySQL+ Java Servlet,整個(gè)部署架構(gòu)圖如圖4所示:
Nginx 反向代理處理公共的 HTTP 請(qǐng)求,發(fā)送給 WSGI 容器 Gunicorn,Gunicorn 通過(guò)調(diào)用 Flask Application 來(lái)獲取響應(yīng),并將響應(yīng)返回給客戶端。Supervisor 是一個(gè)守護(hù)進(jìn)程,用來(lái)保證 Gunicorn 能夠提供穩(wěn)定的服務(wù),MySQL 用來(lái)保存站點(diǎn)的數(shù)據(jù)。此外高性能計(jì)算服務(wù)通過(guò)在天河二號(hào)上部署 Restful API來(lái)實(shí)現(xiàn)。
對(duì)于虛擬桌面功能,部署了多臺(tái)云主機(jī)作為Docker 宿主機(jī),每臺(tái)云主機(jī)均提供10個(gè)Docker 容器。還部署有一臺(tái)云主機(jī)作為 Guacamole Server,將不同的桌面請(qǐng)求分發(fā)到不同的 Docker 容器上。此外,為了保證服務(wù)器安全,每臺(tái)服務(wù)器均使用Iptables防火墻屏蔽了部分端口,并做了一定的安全策略。為了實(shí)時(shí)地備份服務(wù)器上的重要文件,使用Lsyncd對(duì)Web服務(wù)器上的重要文件進(jìn)行實(shí)時(shí)備份。對(duì)于 Mysql 數(shù)據(jù)庫(kù),則采用數(shù)據(jù)庫(kù)的主從備份,將數(shù)據(jù)及時(shí)備份到備用服務(wù)器。
系統(tǒng)部署在國(guó)家超級(jí)計(jì)算廣州中心,已經(jīng)穩(wěn)定運(yùn)行。圖5為虛擬實(shí)驗(yàn)室的編程任務(wù),左側(cè)為編程任務(wù)的文檔說(shuō)明,右側(cè)為編程窗口。編程窗口中提供了默認(rèn)程序,但是缺失關(guān)鍵部分,用戶補(bǔ)全程序后,點(diǎn)擊提交程序,就能看到當(dāng)前程序的運(yùn)行結(jié)果。
圖4 高性能計(jì)算教育實(shí)踐平臺(tái)的實(shí)際部署Fig.4 Deployment of Online HPC Educational Practice Platform
圖5 HPC 虛擬實(shí)驗(yàn)室編程任務(wù)Fig.5 Programming Task of HPC Virtual Lab
圖6 HPC 虛擬實(shí)驗(yàn)室環(huán)境配置Fig.6 Environment Con fi guration of HPC Virtual Lab
[1] 臧大偉,曹政,孫凝暉.高性能計(jì)算的發(fā)展[J].科技導(dǎo)報(bào),2016,(14): 22-28.
[2] 陳國(guó)良,毛睿,蔡曄.高性能計(jì)算及其相關(guān)新興技術(shù)[J].深圳大學(xué)學(xué)報(bào): 理工版,2015,32(1): 25-31.
[3] Marowka A.Think parallel: Teaching parallel programming today[J].IEEE Distributed Systems Online,2008, 9(8):1.
[4] Grinberg M.Flask web development: developing web applications with python [M] quot; O'Reilly Media,Inc.quot;,2014.
[5] Allamaraju S,Amundsen M.RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity: [M].quot; O'Reilly Media,Inc.quot;,2010.
[6] Wang S T,Chang H Y.Development of Web-Based Remote Desktop to Provide Adaptive User Interfaces in Cloud Platform[J].Int'l J.Computer,Information,Systems and Control Eng,2014,8(8): 1195-1199.
[7] Mulfari D,Celesti A,Villari M,et al.Using virtualization and guacamole/vnc to provide adaptive user interfaces to disabled people in cloud computing[C]//Ubiquitous Intelligence and Computing,2013 IEEE 10th International Conference on and 10th International Conference on Autonomic and Trusted Computing(UIC/ATC).IEEE,2013: 72-79.
[8] Fink J.Docker: a software as a service,operating systemlevel virtualization framework[J].Code4Lib Journal,2014,25.
2016年11月10日
鄒哲鵬:中山大學(xué)數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,碩士,主要研究方向?yàn)橛?jì)算機(jī)體系結(jié)構(gòu)。
E-mail: zouzhp3@mail2.sysu.edu.cn
李 江:國(guó)家超級(jí)計(jì)算廣州中心,碩士,主要研究方向?yàn)楦咝阅苡?jì)算。
E-mail: jiang.li@nscc-gz.cn
趙 飛:中山大學(xué)數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,碩士,主要研究方向?yàn)榉植际接?jì)算。
E-mail: xuezaigds@gmail.com
吳 迪:中山大學(xué)數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,教授,博士,主要研究方向?yàn)椴⑿信c分布式系統(tǒng)。
E-mail: wudi27@mail.sysu.edu.cn
杜云飛:國(guó)家超級(jí)計(jì)算廣州中心,總工程師,博士,主要研究方向?yàn)楦咝阅苡?jì)算。
E-mail: yunfei.du@nscc-gz.cn
Research and Implementation of Online Educational Practice Platform for High Performance Computing
Zou Zhepeng1,Li Jiang2,Zhao Fei1,Wu Di1*,Du Yunfei2
1.School of Data and Computer Science,Sun Yat-sen University,Guangzhou,Guangdong 510006,China
2.National Supercomputer Center in Guangzhou,Guangzhou,Guangdong 510006,China
There are some shortcomings of the current professional training of talents in the fi eld of high performance computing(HPC)in China.The traditional classroom teaching focuses more on theoretical study,instead of practice and programming.To improve the training level of HPC talents in China,we must provide a flexible and adaptive HPC educational practice platform.In this paper,we design and implement an online educational practice platform for HPC,which contains online course module,quiz bank module,interactive community module,virtual laboratory module,etc.With our system,teachers can conduct online theoretical and experimental teaching,arrange HPC-related assignments and parallel programming tasks,and create HPC questions as well.Students can study HPC-related courses from the online platform,submit course assignments,exchange discussions,and complete HPC programming exercises.Our system can improve the level of
experimental teaching of HPC-related courses,and facilitate students to conduct the curriculum practice.High performance computing; online education; programming practice; Web application
10.11871/j.issn.1674-9480.2017.01.009
國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目“基于國(guó)家高性能計(jì)算環(huán)境的教育實(shí)踐平臺(tái)”(2016YFB0201900)
*通訊作者:吳迪(wudi27@mail.sysu.edu.cn)
數(shù)據(jù)與計(jì)算發(fā)展前沿2017年1期