周舟
摘要:隨著社會經(jīng)濟的快速發(fā)展,在很大程度上促進了計算機技術(shù)的進步,目前高性能的計算已經(jīng)受到各界的廣泛關(guān)注,這也在一定程度上表明實施高性能計算教學是非常有必要的。實際在開展教學的過程中,應(yīng)當根據(jù)高性能計算課程教學的可行性,提出課程的基本教學方法,提高學生的自身能力,從而提升教學效果及質(zhì)量。
關(guān)鍵詞:高性能計算;教學方法;并行平臺;操作系統(tǒng)
國產(chǎn)CPU的應(yīng)用預(yù)示著高性能計算機的成本將進一步的降低,從而為高性能計算在各領(lǐng)域和更多單位更廣泛應(yīng)用創(chuàng)造了條件。隨著越來越多的高性能計算系統(tǒng)的使用,人們不得不去了解并掌握高性能計算方法,才能充分并高效的利用計算資源。
一、高性能計算教學必要性
開展高性能計算教學工作對國民經(jīng)濟的發(fā)展具有重要的意義,這是因為它在國家建設(shè)和發(fā)展的各個領(lǐng)域中都有廣泛的應(yīng)用。主要的應(yīng)用領(lǐng)域包括:能源勘探,氣象預(yù)報,國防、航空和航天,遙測遙感以及科學與工程計算等。在國防、航空和航天方面,高性能計算為數(shù)值模擬核技術(shù)創(chuàng)造了條件,為大目標武器系統(tǒng)的研制節(jié)約了研發(fā)成本;科學與工程計算以計算數(shù)學與計算物理學為基礎(chǔ),解決各類科學與工程問題,高性能計算在解決諸如神經(jīng)網(wǎng)絡(luò)、遺傳算法、模擬退火等非線性問題,以及復(fù)雜問題的數(shù)值求解等方面具有廣泛應(yīng)用。此外,其應(yīng)用還涉及遙測遙感生物醫(yī)學、水利工程汽車和船舶制造股票數(shù)理統(tǒng)計、動畫電影制作、網(wǎng)絡(luò)游戲等。
二、選擇高性能計算教學平臺
目前,常用的高性能平臺有兩種,一種基于PVM(Parallel Virtual Machine),另一種基于MPI( Message Passing Interface),它們相對數(shù)據(jù)并行編程(HP列的應(yīng)用更廣泛)。MPI與PVM主要有以下區(qū)別。(1)PVM是一個自含式系統(tǒng),而MPI需要依靠低層平臺提供的進程管理和I/O功能.(2)MPI對消息傳遞的支持更強大,但不提供進程管理的功能。(3)PVM和MPI正在相互向?qū)Ψ窖葑僊PICH2中增加了進程管理的功能,而PVM也已有了更多的集合通信功能。(4)MPI是一種標準,而PVM不是,這意味著PVM的移植性弱于MPI,而MPI可以不做任何修改的應(yīng)用到所有計算機體系、平臺與操作系統(tǒng)。(5)目前,PVM已經(jīng)停止免費的技術(shù)服務(wù),而MPI對商業(yè)和科研均是免費。由此可看出,MPI平臺更具優(yōu)勢。因此,在高性能計算教學過程中選擇提供免費技術(shù)支持和可移植性強的MPI并行平臺。
三、開展教學的可行性研究
(一)具備一定的語言基礎(chǔ)
從高性能計算平臺的介紹可以看出,高性能計算課程的設(shè)置是在學生具有一定的C語言或Fortran語言基礎(chǔ)之上進行的,而國內(nèi)幾乎所有高校具有理工科背景的本科生,在一二年級階段都進行了相關(guān)語言的學習。因此,在本科高年級階段或者研究生階段進行該課程的設(shè)置是合適。
(二)熟練的操作系統(tǒng)
目前,市場上主流的操作系統(tǒng)是Windows系列和Unix系烈,由于Unix系列代碼是開源的,它為世界上優(yōu)秀的軟件工程師對其進行改良提供了方便,具有較高的系統(tǒng)穩(wěn)定性。目前大多的高性能計算機都是基于Unix操作系統(tǒng)的。但在目前情況下,在操作系統(tǒng)領(lǐng)域完全拋開Windows系列是不可能的,國內(nèi)操作系統(tǒng)的教育也主要是基于微軟的視窗系統(tǒng),大多數(shù)的學生已經(jīng)習慣了友好的視窗界面,對于Unix系統(tǒng)的命令行式操作往往是無所適從。上面我們提到,MPI平臺的并行程序具有很強的移植性,它不依賴所使用的操作系統(tǒng),也就是說編寫成功的并行MPI程序,可以不作任何修改的應(yīng)用與Unix和Windows系列的操作系統(tǒng)。
(三)組網(wǎng)連接
同時由于目前能提供高性能計算系統(tǒng)的教學單位尚屬少數(shù),因此可以把基本普及的PC機進行組網(wǎng),并在組建的PC機群上進行模擬操作。為了學生能適應(yīng)未來工作的需要,還可以在視窗系統(tǒng)下虛擬一個或多個Unix系統(tǒng),初步了解基于命令行的操作技巧,了解操作Unix系統(tǒng)經(jīng)常使用的幾個編寫、編譯和運行程序的命令。高性能計算教學的可行基本模式如圖所示。
四、教學方法及需要注意的事項要點
(一)教學方法
實際教學中采用的方法首要的問題是要結(jié)合實際應(yīng)用。因此,首先讓學生掌握如何組建基于PC機群的計算網(wǎng)絡(luò),如工作組或域的創(chuàng)建,網(wǎng)絡(luò)權(quán)限的配置等,這可在計算機實驗室來完成;其次是基于Windows和Unix操作系統(tǒng),了解并掌握MPI平臺的安裝、配置和使用過程,這可以通過電教方式在計算機實驗室現(xiàn)場操作。與此同時,每個學生在各自PC上按流程進行相應(yīng)操作;再次,高性能計算課程的學習如其它計算機語言一樣,除需要了解一定的基礎(chǔ)知識外,還需要有高性能程序的編寫、編譯和運行等相關(guān)實戰(zhàn)演練,才能達到理論聯(lián)系實際的效果。
(二)教學中要注意的問題
高性能計算課程教學的內(nèi)容包括很多方面,除了并行機的分類、消息傳遞模式、基本的并行庫接口函數(shù)、并行程序設(shè)計模式等知識外,還包括高性能計算的中級提高和高級應(yīng)用,但是全面講授高性能計算的知識是不可能的。高性能計算教學就如其它計算機語言的教學一樣,主要目的是為了使學生對它進行掌握并應(yīng)用。
(三)教學要點
首要的教學要點是計算網(wǎng)絡(luò)的組建和高性能計算平臺的搭建;在高性能計算的基礎(chǔ)知識方面,幾個基本的并行庫接口函數(shù)是必須掌握的內(nèi)容,它們構(gòu)成了高性能計算程序設(shè)計的基礎(chǔ);在程序的設(shè)計方面,使學生掌握針對耗時最長的計算部分進行任務(wù)分割,并進行各處理器間的任務(wù)協(xié)調(diào);通過高性能程序的分析與設(shè)計,要學生體會高性能程序的設(shè)計理念。
(四)加強校企合作
高性能計算環(huán)境建設(shè)中,要實現(xiàn)軟件建設(shè)和硬件建設(shè)并重,加強校企合作,加大自主軟件的開發(fā)和集成力度,使高性能計算環(huán)境真正發(fā)揮應(yīng)有的作用。在高性能環(huán)境的軟件建設(shè)方面,學校的投入還需要增加,給其以持續(xù)不斷的支持。
五、結(jié)束語
綜上所述,隨著我國經(jīng)濟的發(fā)展,對各行業(yè)的技術(shù)要求也在不斷的提高。目前我國經(jīng)濟在發(fā)展及安全保障的過程中,廣泛應(yīng)用了高性能計算,這也對高性能計算人才的需求也十分龐大,因此廣泛開展高性能計算課程的教學工作具有重要的實用意義與價值。
參考文獻:
[1]林皎,張武生,徐偉平,等.百萬億次集群機的建設(shè)和部署[J].實驗室研究與探索,2013,32(6):188-190.
[2]李惠歡,楊敏,吳汝明.基于TORQUE的高性能計算平臺記賬系統(tǒng)[J].計算機應(yīng)用與軟件,2016(8):126-130.