吳建平 汪祥 楊錦輝 銀福康 彭軍
摘? 要:并行計(jì)算技術(shù)課程是在大氣海洋環(huán)境數(shù)值模擬對(duì)大規(guī)??茖W(xué)與工程計(jì)算的需求越來越大的背景下開設(shè)的,但自開設(shè)以來,還存在教學(xué)內(nèi)容過多、各知識(shí)點(diǎn)之間邏輯關(guān)系不十分清晰與講授順序不太合理等問題。該文基于對(duì)教學(xué)內(nèi)容先按知識(shí)點(diǎn)進(jìn)行劃分,再基于教學(xué)目標(biāo)牽引,利用圖論技術(shù)進(jìn)行知識(shí)點(diǎn)間依賴關(guān)系分析的方法,對(duì)教學(xué)內(nèi)容進(jìn)行精簡與模塊重新組織,以改進(jìn)教學(xué)內(nèi)容的針對(duì)性與知識(shí)點(diǎn)間的順暢性,提升教學(xué)質(zhì)量與學(xué)生學(xué)習(xí)效果。
關(guān)鍵詞:并行計(jì)算;教學(xué)內(nèi)容;模塊化;依賴關(guān)系;圖論
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? ? ? 文章編號(hào):2096-000X(2023)17-0095-04
Abstract: The course of Parallel Computing Technology is set up under the background of the increasing demand for large-scale scientific and engineering calculation by numerical simulation of atmospheric and marine environment. However, since its establishment, there are still many problems, such as too many teaching contents, unclear logical relationship between knowledge points and unreasonable teaching sequence. Based on the division of teaching contents according to knowledge points, and then based on the direction of teaching objectives, the graph theory technology is used to analyze the dependence between knowledge points. The teaching content is simplified and reorganized to improve the focalization of teaching content and the rationality of the order of knowledge points, and to improve the teaching quality and students' learning effect.
Keywords: Parallel Computing; course content; modularization; dependency; Graph theory
大氣海洋環(huán)境數(shù)值模擬是采用偏微分方程組對(duì)大氣海洋狀態(tài)演變規(guī)律進(jìn)行數(shù)學(xué)建模,并采用數(shù)值方法進(jìn)行求解,從初始狀態(tài)進(jìn)行未來狀態(tài)預(yù)測的一種客觀與定量預(yù)測方法,已越來越成為天氣預(yù)報(bào)與海洋環(huán)境預(yù)報(bào)的主流方法。該方法不僅涉及到狀態(tài)在時(shí)間維度上的演變,而且涉及到方程組在三維空間中的離散,形成離散網(wǎng)格,并在眾多網(wǎng)格點(diǎn)或網(wǎng)格中心上進(jìn)行計(jì)算,導(dǎo)致計(jì)算量巨大問題,而業(yè)務(wù)數(shù)值預(yù)報(bào)又對(duì)實(shí)時(shí)性要求很高,因此,采用高性能計(jì)算機(jī)進(jìn)行并行數(shù)值模擬成為必然選擇。歐洲中期天氣預(yù)報(bào)中心、美國國家環(huán)境預(yù)報(bào)中心、英國氣象局、法國氣象局、德國氣象局、日本氣象廳與加拿大環(huán)境部等在內(nèi)的眾多先進(jìn)數(shù)值預(yù)報(bào)中心,都采用了非常先進(jìn)的高性能計(jì)算機(jī)與高計(jì)算效率的數(shù)值預(yù)報(bào)系統(tǒng),來進(jìn)行業(yè)務(wù)數(shù)值預(yù)報(bào)。
作為我國專門從事大氣海洋環(huán)境數(shù)值預(yù)報(bào)技術(shù)研究與系統(tǒng)研制的單位之一,國防科技大學(xué)從20世紀(jì)80年代起即開始進(jìn)行數(shù)值預(yù)報(bào)系統(tǒng)研發(fā),并深刻認(rèn)識(shí)到并行計(jì)算技術(shù)在數(shù)值預(yù)報(bào)實(shí)時(shí)性問題中的重要地位并進(jìn)行了長期的技術(shù)積累。但自2017年學(xué)校進(jìn)行重新組建并重組氣象海洋學(xué)院以來,一方面是隨著模式分辨率的不斷提升與模式本身復(fù)雜性的不斷提高,并行計(jì)算技術(shù)在數(shù)值預(yù)報(bào)中的重要性有增無減。另一方面,既沒有專門針對(duì)數(shù)值預(yù)報(bào)并行計(jì)算的本科生課程,也尚未在學(xué)校層面開設(shè)并行計(jì)算技術(shù)方面的公共課程。正是在該背景之下,在進(jìn)行大氣科學(xué)專業(yè)課程體系重新設(shè)計(jì)時(shí),規(guī)劃了并行計(jì)算技術(shù)課程,制訂了相應(yīng)的教學(xué)計(jì)劃,并自2018級(jí)本科生起開始實(shí)施,旨在使學(xué)員掌握基本的并行計(jì)算技術(shù),為利用數(shù)值預(yù)報(bào)進(jìn)行氣象海洋環(huán)境保障提供理論基礎(chǔ)和技術(shù)支撐。
在進(jìn)行課程內(nèi)容設(shè)計(jì)時(shí),一個(gè)很自然的想法是對(duì)相關(guān)課程進(jìn)行模塊化設(shè)計(jì)。模塊化教學(xué)思想首先由德國與美國高校提出,但主要用于課程體系按模塊來進(jìn)行構(gòu)建[1],旨在將理論教學(xué)與生產(chǎn)實(shí)踐有機(jī)融合,針對(duì)不同培養(yǎng)目的開展教學(xué)活動(dòng),以培養(yǎng)能夠具備社會(huì)實(shí)際需要的應(yīng)用復(fù)合型人才[2]。國內(nèi)在采用模塊化對(duì)課程教學(xué)內(nèi)容進(jìn)行設(shè)計(jì)方面也進(jìn)行了不少研究。余國江[3]針對(duì)高校轉(zhuǎn)型的需要,分析了其核心問題即課程轉(zhuǎn)型的緊迫性、模塊化課程的特點(diǎn)及其在轉(zhuǎn)型中的作用,并從宏觀、中觀、微觀三個(gè)層次進(jìn)行了模塊構(gòu)建途徑研究。屈婉玲等[4]對(duì)離散數(shù)學(xué)課程教學(xué)內(nèi)容按知識(shí)單元進(jìn)行模塊化設(shè)置,以根據(jù)培養(yǎng)目標(biāo)進(jìn)行教學(xué)內(nèi)容的靈活組織。魏英[5]在深入分析大學(xué)計(jì)算機(jī)基礎(chǔ)課程教學(xué)所存在問題的基礎(chǔ)上,根據(jù)各部分內(nèi)容相對(duì)獨(dú)立的特點(diǎn),對(duì)分層模塊化教學(xué)模式進(jìn)行了研究。蘭長林等[6]采取課程內(nèi)容模塊化和教師講授、專題報(bào)告研究型教學(xué)模塊化相結(jié)合的方式,開展了模塊化教學(xué)方法研究。這些對(duì)模塊化教學(xué)的研究,主要側(cè)重于對(duì)課程內(nèi)容的模塊化組織,而對(duì)模塊間所涉知識(shí)點(diǎn)的相互關(guān)系考慮較少。
對(duì)知識(shí)點(diǎn)或模塊間關(guān)系的研究上,王燕等[7]針對(duì)網(wǎng)絡(luò)課程,提出了利用概念圖進(jìn)行教學(xué)內(nèi)容的建構(gòu)與組織的方法,以避免教學(xué)內(nèi)容出現(xiàn)概念孤立化與知識(shí)碎片化的問題,其圍繞不同主題按樹形結(jié)構(gòu)進(jìn)行知識(shí)組織,并通過相關(guān)主題、節(jié)點(diǎn)的展開與鏈接,論述了擴(kuò)充學(xué)習(xí)、加深學(xué)習(xí)與補(bǔ)救學(xué)習(xí)的概念。陳雅[8]以認(rèn)知彈性理論為指導(dǎo),采用知識(shí)結(jié)構(gòu)圖與超文本技術(shù)相結(jié)合編排教學(xué)內(nèi)容的序列與鏈接,探討了網(wǎng)絡(luò)課程教學(xué)內(nèi)容的組織與呈現(xiàn),其分析了將課程名稱作為根節(jié)點(diǎn)的知識(shí)點(diǎn)間有向無環(huán)樹形結(jié)構(gòu)組織形式,以及基于知識(shí)點(diǎn)間從屬與先決關(guān)系的排序結(jié)構(gòu)。唐明[9]將教學(xué)內(nèi)容具體化為知識(shí)點(diǎn)集合,并對(duì)知識(shí)點(diǎn)采用串行遞推關(guān)系與并行遞推關(guān)系進(jìn)行層次關(guān)系建模分析。這些研究涉及到了知識(shí)點(diǎn)間的相關(guān)關(guān)系,并部分提到采用樹形與網(wǎng)絡(luò)等方式進(jìn)行知識(shí)組織的思想,但很少涉及如何進(jìn)行具體組織的問題。
本文針對(duì)并行計(jì)算技術(shù)課程教學(xué)內(nèi)容,在目前已有知識(shí)點(diǎn)按模塊進(jìn)行組織的基礎(chǔ)上,針對(duì)教學(xué)內(nèi)容過多、各知識(shí)點(diǎn)間講授先后順序不太合理等問題,在對(duì)教學(xué)內(nèi)容按知識(shí)點(diǎn)進(jìn)行劃分的基礎(chǔ)上,利用圖論技術(shù)進(jìn)行知識(shí)點(diǎn)間依賴關(guān)系分析,再基于教學(xué)目標(biāo)牽引對(duì)教學(xué)內(nèi)容進(jìn)行精簡,并對(duì)各教學(xué)模塊內(nèi)容進(jìn)行重組,以改進(jìn)對(duì)課程教學(xué)內(nèi)容的設(shè)置。
一? 教學(xué)內(nèi)容基于圖論的模塊化優(yōu)化設(shè)計(jì)
目前,并行計(jì)算技術(shù)課程的教學(xué)內(nèi)容組織為兩大部分共6個(gè)模塊,其中第一部分主要側(cè)重于理論知識(shí),包括并行計(jì)算基本概念、并行計(jì)算所涉軟硬件基礎(chǔ)、并行計(jì)算基本原理與方法3個(gè)模塊;第二部分側(cè)重于實(shí)踐,包括并行計(jì)算環(huán)境基礎(chǔ)、OpenMP并行編程基礎(chǔ)、MPI并行編程基礎(chǔ)3個(gè)模塊。
第一部分的知識(shí)中,并行計(jì)算基本概念模塊包括并行計(jì)算的意義、并行計(jì)算思維、并行處理的三要素、問題規(guī)模、并行度、任務(wù)分解、數(shù)據(jù)相關(guān)性、機(jī)器規(guī)模、任務(wù)調(diào)度、負(fù)載平衡、并行執(zhí)行時(shí)間、并行開銷、加速比、并行效率、同步、死鎖、Amdahl定律和Gustafson定律等知識(shí)點(diǎn);并行計(jì)算所涉軟硬件基礎(chǔ)模塊包括并行計(jì)算存儲(chǔ)結(jié)構(gòu)、并行計(jì)算互連結(jié)構(gòu)、并行計(jì)算模型和并行計(jì)算軟件基礎(chǔ)等知識(shí)點(diǎn);并行計(jì)算基本原理與方法模塊包括數(shù)據(jù)并行設(shè)計(jì)模式、任務(wù)分解概述、輸出數(shù)據(jù)劃分技術(shù)、輸入數(shù)據(jù)劃分技術(shù)、任務(wù)調(diào)度概述、塊分布調(diào)度方法、循環(huán)塊分布調(diào)度方法、分布存儲(chǔ)并行計(jì)算原理、SPMD與MPMD、問題規(guī)模的影響、并行度的影響、通信次數(shù)的影響、計(jì)算通信重疊的影響、共享存儲(chǔ)并行計(jì)算原理、指導(dǎo)語句數(shù)的影響和訪存沖突的影響等知識(shí)點(diǎn)。
第二部分的知識(shí)中,并行計(jì)算環(huán)境基礎(chǔ)包括Redhat Linux基礎(chǔ)環(huán)境、gcc編譯器及其安裝、OpenMP并行計(jì)算環(huán)境驗(yàn)證、MPI并行計(jì)算環(huán)境配置和MPI并行計(jì)算環(huán)境驗(yàn)證等知識(shí)點(diǎn);OpenMP并行編程基礎(chǔ)包括OpenMP簡介、動(dòng)態(tài)域與靜態(tài)域、OpenMP編譯指導(dǎo)語句格式、OpenMP中的條件編譯、OpenMP中的parallel語句、OpenMP中的for指導(dǎo)語句、OpenMP中的同步指導(dǎo)語句、OpenMP中的函數(shù)和OpenMP中的環(huán)境變量等知識(shí)點(diǎn);MPI并行編程基礎(chǔ)包括MPI簡介、MPI程序的一般結(jié)構(gòu)、MPI中的6個(gè)基本函數(shù)、MPI中的點(diǎn)對(duì)點(diǎn)通信、MPI中的數(shù)據(jù)類型、MPI中聚合通信操作、Jacobi迭代的并行計(jì)算和WRF模式的并行計(jì)算等知識(shí)點(diǎn)。
現(xiàn)在對(duì)并行計(jì)算技術(shù)課程所有知識(shí)點(diǎn)之間的依賴關(guān)系進(jìn)行建模,當(dāng)知識(shí)點(diǎn)A的講授需要以先講授知識(shí)點(diǎn)B為前提時(shí),稱知識(shí)點(diǎn)A依賴于知識(shí)點(diǎn)B。例如,“并行開銷”依賴于“并行計(jì)算思維”“并行執(zhí)行時(shí)間”“機(jī)器規(guī)模”“負(fù)載平衡”與“同步”。這樣,每個(gè)知識(shí)點(diǎn)可能依賴于其他的知識(shí)點(diǎn)。由于進(jìn)行上述知識(shí)點(diǎn)的劃分時(shí),知識(shí)點(diǎn)已經(jīng)足夠細(xì)到彼此之間不會(huì)出現(xiàn)相互依賴,即如果知識(shí)點(diǎn)A依賴于知識(shí)點(diǎn)B,則知識(shí)點(diǎn)B不可能反過來再依賴于知識(shí)點(diǎn)A,因此,如果知識(shí)點(diǎn)A依賴于知識(shí)點(diǎn)B,就引一條從知識(shí)點(diǎn)A到知識(shí)點(diǎn)B的邊,則所有知識(shí)點(diǎn)之間的依賴關(guān)系給出的是一個(gè)有向無回路圖[10]。
在按上述方式進(jìn)行建模時(shí),所得到的有向無回路圖G中可能由于依賴關(guān)系較復(fù)雜,導(dǎo)致邊數(shù)很多,而使得有向無回路圖顯得相當(dāng)雜亂,不便進(jìn)行后續(xù)分析。另一方面,我們?cè)谶M(jìn)行知識(shí)點(diǎn)講授時(shí),只需要知道知識(shí)點(diǎn)之間有依賴路徑即可,而并無必要考慮每個(gè)知識(shí)點(diǎn)依賴的所有其他知識(shí)點(diǎn)。換句話說,如果圖中存在從知識(shí)點(diǎn)A到知識(shí)點(diǎn)B的一條有向路徑,則意味著已經(jīng)得知知識(shí)點(diǎn)A需要在知識(shí)點(diǎn)B講授完之后才能進(jìn)行講授,因此,此時(shí)知識(shí)點(diǎn)A到知識(shí)點(diǎn)B之間的有向邊完全沒有必要給出。假設(shè)知識(shí)點(diǎn)個(gè)數(shù)為n,如果將圖G對(duì)應(yīng)到一個(gè)邏輯矩陣M,并對(duì)知識(shí)點(diǎn)進(jìn)行標(biāo)號(hào),第k個(gè)知識(shí)點(diǎn)對(duì)應(yīng)于圖G中的結(jié)點(diǎn)k,第i個(gè)知識(shí)點(diǎn)依賴于第j個(gè)知識(shí)點(diǎn)則mij取值為真,否則取值為假,則可以通過依次計(jì)算M1、M2直到Mn并檢查每2個(gè)知識(shí)點(diǎn)間是否出現(xiàn)路徑,并在出現(xiàn)路徑時(shí)直接刪除其間可能存在的有向邊。
在如上處理后,并行計(jì)算技術(shù)課程各知識(shí)點(diǎn)之間的依賴關(guān)系進(jìn)行了大幅簡化,具體如圖1所示。從圖1清晰可見,知識(shí)點(diǎn)講授時(shí)應(yīng)嚴(yán)格遵循的先后順序。例如,在講授“同步”之前,先要講授“數(shù)據(jù)相關(guān)性”,而在此之前,又要先講授“任務(wù)分解”,而在講授“任務(wù)分解”之前,又必須先講授“問題規(guī)模”與“并行計(jì)算思維”。此外,如果課時(shí)有限,從圖1中可以清晰地發(fā)現(xiàn)哪些知識(shí)點(diǎn)不會(huì)被其他知識(shí)點(diǎn)所依賴,在這些知識(shí)點(diǎn)對(duì)教學(xué)目標(biāo)的實(shí)現(xiàn)不太重要時(shí),即完全可以直接刪除以進(jìn)行內(nèi)容的精簡。對(duì)并行計(jì)算技術(shù)課程,教學(xué)目標(biāo)主要是使學(xué)員掌握基本的并行計(jì)算技術(shù),為利用數(shù)值預(yù)報(bào)進(jìn)行氣象海洋環(huán)境保障提供理論基礎(chǔ)和技術(shù)支撐,而具體編程實(shí)踐實(shí)際上是永無止境的,只要引學(xué)生入門即可。鑒于總課時(shí)數(shù)只有24學(xué)時(shí),且從前幾年的實(shí)際經(jīng)驗(yàn)看,目前課程內(nèi)容過多,確需壓減課堂內(nèi)容,為此,結(jié)合圖1,顯然易見,可以壓減其中“Amdahl定律”“Gustafson定律”“并行計(jì)算模型”“動(dòng)態(tài)域與靜態(tài)域”“OpenMP編譯指導(dǎo)語句格式”“OpenMP中的條件編譯”“OpenMP中的同步指導(dǎo)語句”“OpenMP中的函數(shù)”“MPI中的數(shù)據(jù)類型”和“MPI中聚合通信操作”等知識(shí)點(diǎn)。
此外,通過圖1所示的有向無回路圖,還可以檢查目前各模塊中知識(shí)點(diǎn)設(shè)置的合理性,即可以檢查在進(jìn)行課程內(nèi)容教學(xué)實(shí)施時(shí),知識(shí)點(diǎn)之間的依賴關(guān)系是否能夠得到滿足。顯然,目前大部分知識(shí)點(diǎn)在模塊中的歸屬是合理的,但“OpenMP簡介”原來安排在“MPI并行編程基礎(chǔ)”模塊進(jìn)行介紹,實(shí)際上在“并行計(jì)算環(huán)境基礎(chǔ)”模塊的“OpenMP并行計(jì)算環(huán)境驗(yàn)證”知識(shí)點(diǎn)之前應(yīng)該講授,否則,將造成模塊之間的相互依賴關(guān)系,引起教學(xué)實(shí)施上的不順暢?!癕PI簡介”也具有類似問題。因此,“OpenMP簡介”與“MPI簡介”這2個(gè)知識(shí)點(diǎn)應(yīng)分別從“OpenMP并行編程基礎(chǔ)”“MPI并行編程基礎(chǔ)”移到“并行計(jì)算環(huán)境基礎(chǔ)”模塊中,使得“并行計(jì)算環(huán)境基礎(chǔ)”模塊的知識(shí)點(diǎn)依次包括“Redhat Linux基礎(chǔ)環(huán)境”“OpenMP簡介”“gcc編譯器及其安裝”“OpenMP并行計(jì)算環(huán)境驗(yàn)證”“MPI簡介”“MPI并行計(jì)算環(huán)境配置”和“MPI并行計(jì)算環(huán)境驗(yàn)證”。此外,在每個(gè)模塊內(nèi),知識(shí)點(diǎn)之間也應(yīng)遵循圖1所給出的嚴(yán)格順序關(guān)系,例如,對(duì)“并行計(jì)算基本概念”模塊中知識(shí)點(diǎn)進(jìn)行講授時(shí),部分需要進(jìn)行先后順序的重新安排。在綜合考慮內(nèi)容精簡與知識(shí)點(diǎn)的重新組織后,優(yōu)化前后各模塊中知識(shí)點(diǎn)的教學(xué)實(shí)施順序見表1,其中,無論對(duì)兩模塊還是兩知識(shí)點(diǎn),列于前者應(yīng)該先行進(jìn)行教學(xué)實(shí)施。
二? 結(jié)束語
并行計(jì)算技術(shù)課程雖然在開設(shè)時(shí),已經(jīng)按模塊化方式進(jìn)行了教學(xué)計(jì)劃的詳細(xì)設(shè)計(jì),但在教學(xué)實(shí)施過程中發(fā)現(xiàn)還存在教學(xué)內(nèi)容過多、各知識(shí)點(diǎn)之間邏輯關(guān)系不十分清晰、講授順序不太合理等問題,本文通過對(duì)知識(shí)點(diǎn)依賴關(guān)系采用有向無回路圖進(jìn)行建模,采用從圖中去除對(duì)教學(xué)目標(biāo)影響小且不被依賴的知識(shí)點(diǎn)來縮減教學(xué)內(nèi)容、基于圖中知識(shí)點(diǎn)間依賴關(guān)系對(duì)模塊間與模塊內(nèi)知識(shí)點(diǎn)進(jìn)行重組的方法,對(duì)教學(xué)內(nèi)容的精簡與重組進(jìn)行了優(yōu)化設(shè)計(jì)。
參考文獻(xiàn):
[1] 米潔,黃民.基于模塊化知識(shí)體系的創(chuàng)新實(shí)踐能力培養(yǎng)教學(xué)改革[J].中國大學(xué)教學(xué),2014(9):37-40.
[2] 于婷婷.“互聯(lián)網(wǎng)+”視域下高校模塊化教學(xué)探究[J].中國成人教育,2018(4):89-91.
[3] 余國江.課程模塊化:地方本科院校課程轉(zhuǎn)型的路徑探索[J].中國高教研究,2014(11):99-102.
[4] 屈婉玲,王元元,傅彥,等.“離散數(shù)學(xué)”課程教學(xué)實(shí)施方案[J].中國大學(xué)教學(xué),2011(1):39-41.
[5] 魏英.大學(xué)計(jì)算機(jī)基礎(chǔ)分層模塊化教學(xué)改革研究與實(shí)踐[J].西北工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2012,32(3):105-106.
[6] 蘭長林,趙江濤,崔瑩,等.“模塊化”教學(xué)法在《原子核物理學(xué)》課程中的探索與應(yīng)用[J].教育教學(xué)論壇,2019(18):215-216.
[7] 王燕,周艷潔.基于概念圖的網(wǎng)絡(luò)課程教學(xué)內(nèi)容的組織探究[J].軟件導(dǎo)刊(教育技術(shù)),2014,13(12):5-7.
[8] 陳雅.基于認(rèn)知彈性理論的網(wǎng)絡(luò)課程教學(xué)內(nèi)容的組織[J].中國成人教育,2014(13):141-143.
[9] 唐明.面向復(fù)雜工程問題的高校課堂教學(xué)內(nèi)容組織方法淺論[J].教育現(xiàn)代化,2019,6(80):227-228.
[10] 吳建平,王正華,李曉梅.稀疏線性方程組的高效求解與并行計(jì)算[M].長沙:湖南科學(xué)技術(shù)出版社,2004.