?

多核時代“并行計算”課程教學模式研究與實踐

2021-03-10 10:13雷向東雷振陽龍軍
教育教學論壇 2021年2期
關鍵詞:并行計算課程思政教學模式

雷向東 雷振陽 龍軍

[摘 要] 多核技術的出現與快速發展使計算機技術發生了重大變化。國內外著名高校將多核技術引入到計算機教育體系當中,并開設了并行計算課程,培養學生的并行計算思維和并行計算系統能力。文章對“并行計算”課程建設、教材建設、教學模式和課程思政等方面進行研究和探討。

[關鍵詞] 并行計算;多核;教學模式;課程思政

[基金項目] 2017年度湖南省研究生教學改革項目“基于協同創新中心專業學位研究生多元化聯合培養模式與實踐研究”(JG2017B016);2019年度中南大學《并行計算》課程思政項目

[作者簡介] 雷向東(1964—),男,湖南常寧人,博士,中南大學計算機學院副教授,主要從事并行計算研究。

[中圖分類號] G642? ?[文獻標識碼] A? ?[文章編號] 1674-9324(2021)02-0141-04? ? [收稿日期] 2020-05-06

多核技術的出現與快速發展使計算機技術發生了重大變化[1,2]。多個處理器核心的出現,為軟件在單處理器上的并行提供了豐富的硬件資源。多核技術利用片上多核處理器資源進行線程級并行,通過多核并行編程技術,充分利用這些計算資源。為了應對多核技術及其引起的相關計算機技術發展的需要,國內外著名高校都開設了“并行計算”課程,將多核技術相關知識內容融入“并行計算”教學中[3,4]。通過“并行計算”課程的學習,使學生掌握多核相關知識、多核程序設計方法以及相關的多核優化工具,更好地適應計算機技術發展和IT企業的需求。

一、“并行計算”課程建設

并行計算是實現高性能、高可用計算機系統的主要途徑?!安⑿杏嬎恪闭n程以高性能并行計算機為主題,主要介紹當代并行計算機系統及其結構模型,并行算法設計與并行程序的設計原理與方法。通過“并行計算”課程的學習,使學生從系統結構、算法、程序設計三個方面,了解并行處理的基本概念,把握并行處理技術的最新成就和發展趨勢,掌握并行計算編程技術和方法。

多核技術的出現與快速發展帶來了計算機技術的變革,這既帶來了計算機體系結構、操作系統、編譯、程序設計等方面的技術進步,又對計算機教育提出了挑戰。為了應對這一挑戰,很多高校都開設了多核編程。多核課程教學目的是讓學生了解當前計算機芯片設計領域中,新興多核體系設計的基本原理、技術難點、目前發展狀況以及對計算機領域帶來的相關影響。多核課程主要講述多核處理器體系結構和多核編程。多核編程講究程序的架構,任務的分配,每個處理機的負載?,F在用的多核編程工具主要是面向共享存儲機制的OpenMP并行編程,主要利用的共享內存保護機制是分布式鎖機制。這些多核課程的內容應該在“并行計算”課程中介紹清楚。

二、“并行計算”課程教材建設

根據筆者多年從事“并行計算”教學、科研的經驗,編寫了《高性能并行計算:技術、算法與編程》教材,已由中南大學出版社出版。該教材全面介紹了并行計算原理、技術和方法,以及并行計算的最新技術。全書分成并行計算機體系結構、并行算法和并行編程三部分,共15章。將多核技術引入教材中,安排第7章專門介紹多核技術。并行計算機體系結構部分介紹了高性能并行計算機的概念和系統組成、靜態互聯網絡和動態互聯網絡、并行計算機訪存模型、Amdahl定律、并行系統的可擴展性和基準測試程序、基于監聽總線高速緩存一致性協議和基于目錄的高速緩存一致性協議、消息傳遞系統中的交換機制、機群、多核技術和多核中的并行性、以及并行計算模型。并行算法部分介紹了數組求和、排序、矩陣運算、線性方程組求解、快速傅里葉變換和圖等并行算法。并行編程部分介紹了MPI、POISX、OpenMP、Java多線程和Windows多線程并行程序設計思想、方法和技術。教材各章組織如下。

第1章并行計算機體系結構,介紹了高性能并行計算機的概念和系統組成,敘述了計算機系統的弗林分類法,詳細講解了SIMD和MIMD系統。第2章多處理器互連網絡,介紹了靜態互連網絡和動態互連網絡,詳細講解了并行計算機訪存模型。第3章多處理器體系結構的性能,介紹了并行計算性能評測、詳細講解了Amdahl定律、Gustafson定律和Sun-Ni定律,并對并行系統的可擴展性和基準測試程序進行了討論。第4章共享存儲器系統,介紹了共享存儲器系統高速緩存一致性,詳細講解了基于監聽總線協議和基于目錄的協議和共享存儲器的編程模型。第5章消息傳遞系統,介紹了消息傳遞系統中路由,詳細講解了消息傳遞中的交換機制和消息傳遞系統編程模型。第6章機群,介紹了機群的體系結構和典型的IBM SP機群系統。第7章多核構架,介紹了多核技術和多核中的并行性,以及多核處理器關鍵技術。第8章并行計算模型與并行算法設計方法,介紹了包括PRAM模型、APRAM模型、BSP模型和logP模型的計算模型,以及并行算法設計方法。第9章并行算法,包括數組求和、排序、矩陣運算、線性方程組求解,圖算法和快速傅里葉變換。第10章并行程序設計方法,包括并行程序設計基礎、共享存儲系統并行編程、分布式存儲系統并行編程和并行程序設計環境與工具。第11章MPI并行程序設計,詳細講解了MPI并行程序設計思想,方法和技術。第12章POSIX線程并行程序設計,詳細講解了POSIX線程并行程序設計思想、方法和技術。第13章OpenMP并行程序設計詳細講解了OpenMP并行程序設計思想、方法和技術。第14章Java并行程序設計,詳細講解了Java并行程序設計思想、方法和技術。第15章Windows多線程并行程序設計,詳細講解了Windows并行程序設計思想、方法和技術。全書提供了大量應用實例,每章后均附有習題,教師根據教學進度和學時,合理選擇書上習題以進一步加深理解課堂所講授的內容。該教材適合作為高年級本科生、研究生的教材。

三、“并行計算”課程教學模式

興趣是學生學習的最大動力[5]。在“并行計算”課程中,堅持以學生為中心的思想,針對所學過的“計算機體系結構”“操作系統”“編譯原理”等課程知識,經常以相關知識引導學生進行深入理解,同時也提高了學生的自信心,更好地實現自我。啟發式教學是培養創新型人才的重要方法[6,7]。在教學過程中應引導學生在學習過程中主動地提出問題,主動地思考問題,主動去發現、去探索,教師在培養學生的批判性思維與探索精神的同時,做到教學相長。例如,在講授互聯網技術時,引導學生積極思考,提出問題,思考多核處理器中互聯網問題,并鼓勵學生通過查閱相關資料,研究路由協議,進行討論式學習,以期收到更好的教學效果。采用項目驅動方式教學。教師在教學過程中布置進行工程實踐項目,由學生分階段提交產品,通過工程項目和課程論文的教學環節,可以將“學習和研究”緊密地結合起來。在“并行計算”課程中引入與探討多核技術,使學生更好地適應飛速到來的多核時代。一個芯片上集成多核的系統將對資源的分配、核心互聯、多核技術編程方法等帶來巨大的影響,通過向學生介紹多核概念、多核技術以及其帶來的挑戰,可以激發學生的學習和研究興趣,從而更好地開展進一步的科研工作。

四、“并行計算”實驗教學

“并行計算”是一門應用性非常強的綜合性課程[8],并行計算廣泛應用于生物計算、氣象預報、油藏模擬、核武器數值模擬、航天器設計、基因測序。為了更好地開展“并行計算”課程教學,在完成課程理論教學后進行實踐教學。實踐是“并行計算”課程教學中不可或缺的重要環節?!安⑿杏嬎恪闭n程實踐編程工具主要有MPI、POISX、OpenMP、Java多核多線程和Windows多核多線程。MPI是目前最重要的MPP和機群的并行編程工具,具有強大的功能且效率非常高。POSIX線程是在類Unix操作系統(Unix、Linux、Mac OS X等)中線程的POSIX標準,該標準定義了創建和操縱線程的一整套API。POSIX線程具有很好的可移植性,屬于共享存儲器并行技術。程序調用API啟動多個線程,同步方式有互斥量、信號量、條件變量,用于所有線程的同步。OpenMP是一個支持共享存儲并行設計的庫,特別適宜多核的并行程序。Java多線程從誕生開始就明智地選擇了內置對多線程的支持,這使得Java語言相比其他語言具有明顯的優勢。Windows線程API為線程、共享內存和同步原語提供支持。這些編程環境包含了消息傳遞系統和共享存儲器系統,通過實踐工程項目課題實踐教學,使學生能夠掌握了消息傳遞和共享存儲器兩種并行程序設計方法。

五、“并行計算”課程思政

課程思政是在課程知識學習的同時進行價值觀的引導[8],把課程中蘊含的思想政治教育元素,從哲學角度將思政融入課堂[9],將社會主義核心價值觀與課程內容相結合,有機融入課程教育體系中[ 10 ],充分發揮專業課程的在思想政治教育方面的作用[ 11 ]。在“并行計算”課程中融入思想政治元素,達到引導學生在完成并行計算專業課程學習的同時,塑造價值觀、人生觀的目的。

根據課程思政的目標修改了“并行計算”課程的教學大綱,重點在教學目標培養上,在并行計算知識和技能目標基礎上,加上素質目標。把學生在并行計算專業知識學習與政治素質培養相結合。以習近平新時代中國特色社會主義思想為指導,堅持知識傳授與價值引領相結合,運用可以培養大學生理想信念、價值取向、政治信仰、社會責任的題材與內容,全面提高大學生政治素質,讓學生成為德才兼備、全面發展的人才。確立價值塑造、能力培養、知識傳授三位一體,深入挖掘課程所蘊含的思想政治教育元素和所承載的思想政治教育功能,融入課堂教學,達成德育滲透的教學成效[ 12 ]。提高學生思想水平、政治覺悟、道德品質、文化素養等的培養。堅持“育人為本、德育為先”,把培育和踐行社會主義核心價值觀有機融入“并行計算”課程教育體系中。

在課堂教學中介紹我國在超級計算機領域取得領先世界的偉大成就,增強同學們的民族自豪感。但同時清醒認識到我國在芯片等核心技術與西方國家有較大的差距,教育學生發奮學習,努力拼搏。在講述并行計算機體系結構時,介紹我國“天河二號”超級計算機。天河二號是由國防科學技術大學研制的超級計算機系統,以峰值計算速度每秒5.49億億次、持續計算速度每秒3.39億億次雙精度浮點運算的優異性能位居榜首,成為2013年全球最快超級計算機。當年西方國家封鎖制裁我國,結果我國自力更生研究出原子彈、氫彈、超級計算機。加強了學生愛國主義、集體主義、社會主義教育,引導學生樹立正確的歷史觀、民族觀、國家觀、文化觀,奮發圖強、自強不息,為建設好祖國貢獻自己的青春才華。在講述并行計算機體系結構性能時,介紹美國不出售我國“天河二號”使用的CPU。我國計算機科研工作者于2016年自主研發了神威·太湖之光超級計算機,完全使用我國自己研制的CPU。2016年6月20日,在法蘭克福世界超算大會上,國際TOP500組織發布的榜單顯示,“神威·太湖之光”超級計算機系統登頂榜單之首。教育學生“不忘初心,牢記使命”,堅持自主研發,掌握核心技術,才能打破西方國家對我國的技術封鎖。引導學生努力與自我發展和民族復興聯系起來。在講述消息傳遞系統中的路由協議時,介紹路由協議設計的原則。路由協議原則是所有的消息傳遞要自由、平等、公正。教育學生樹立“自由、平等、公正、法治”社會主義核心價值觀。在講述機群時,介紹機群的一個最重要的特征是對用戶提供了統一的系統映像,稱為單一系統映像(Single-System Image,SSI),即機群系統中各計算機工作站工作越和諧,機群性能越高。教育學生“和諧”的社會主義核心價值觀?!昂椭C”的是經濟社會和諧穩定、持續健康發展的重要保證。在講述多核構架時,介紹CPU芯片設計生產。CPU芯片設計生產是工業生產的皇冠明珠。而其中一個關鍵設備是光刻機,可以說是半導體芯片之魂,光刻機的精度直接決定了芯片的制程。只有最先進的EUV光刻機才能生產7nm芯片。美國對華技術出口管制以及《瓦森納協議》,對中國的發展具有深層次的影響,企圖阻礙中國加入全球生產體系。生產世界上最先進的EUV光刻機是荷蘭的ASML公司,ASML的強大就是西方工業化體系的集成。從我國花重金都買不到最先進的光刻機之事件。引導學生將自我發展和民族復興聯系起來,愛國主義和敬業精神結合起來??傆幸惶煳覈軌蛏a出最先進的光刻機。教育學生“愛國、敬業”的社會主義核心價值觀。真正先進的技術,就是你肯花重金也買不來。引導學生將自我發展和民族復興聯系起來。個人利益要服從國家和集體利益:在講述并行算法設計時,介紹并行算法設計方法。由于人們的思維方式不習慣并行處理,并行算法設計比較難。并行算法設計的一個重要原則是負載平衡,即各部分要服從整體,這樣才能提高并行算法的性能。教育學生在國家整體發展戰略中,個人利益要服從國家和集體利益。在社會主義制度下,個人利益要服從集體利益,局部利益要服從整體利益,暫時利益要服從長遠利益,或者說小局服從大局,小道理服從大道理。在講述并行程序設計方法時,介紹并行程序設計方法嚴謹性、踏實性和規范性。教育學生科學研究的嚴謹性、踏實性、規范性,讓學生真切感受到科學研究的嚴謹性、踏實性、規范性。理解科學研究者對科學研究的態度觀念,技術使用的價值和倫理關系。程序設計是利用計算機來解決現實問題,提供工作效率的一種手段。

六、結束語

多核技術的出現與快速發展使計算機技術發生了重大變化。通過多核編程,充分利用多核處理器體系結構,發揮多核處理器的性能。國內外著名高校將多核技術引入到計算機教育體系當中,對本科生高年級學生和研究生開設了“并行計算”課程,本文對“并行計算”課程建設、課程思政、教材建設和教學模式,進行深入的研究和探討。

參考文獻

[1]于永斌,徐潔.多核時代的“計算機系統結構”課程[J].計算機教育,2011(6):45-47.

[2]陸楓,金海.將并行計算納入本科教育——深化計算機學科創新人才培養[J].高等工程教育研究,2016(6):108-112.

[3]陳國良,孫廣中.并行計算課程的教學方法[J].中國大學教育,2004(2):35-37.

[4]雷向東,袁曉莉,黃東軍.計算機專業研究生課程建設與教學改革[J].高等教育發展研究,2012,29(2):31-34.

[5]王同科,?;圪e,王彩華.信息與計算科學專業并行計算人才培養模式[J].高師理科學刊,2016(2):47-49.

[6]孫廣中,陳國良.并行計算系列課程教學團隊建設[J].中國大學教育,2008(2):36-38.

[7]肖健,于策,許益.并行計算實驗課程建設的實踐與探討[J].實驗室研究與探索,2018(12):178-181.

[8]蔣紅雨.課程思政的教與學[J].黑龍江教育·理論與實踐,2019(9):6-8.

[9]趙繼偉.“課程思政”:涵義、理念、問題與對策[J].教育學研究,2019,17(3):114-119.

[10]趙靜靜.課程思政的研究現狀及未來研究方向展望[J].德育研究,2019(7):24-26.

[11]趙厚寶,曾井泉.研發類課程開展課程思政教育的探索與實踐[J].高教學刊,2019(4):118-190.

[12]劉鶴,石瑛.課程思政建設的理性內涵與實施路徑[J]. 中國大學教學,2019(3):59-62.

Research and Practice on the Teaching Model of Parallel Computing Course in Multi-core Era

LEI Xiang-dong, LEI Zhen-yang, LONG Jun

(School of Computer Science and Engineering, Central South University, Changsha, Hunan 410083, China)

Abstract:With the emergence and rapid development of multi-core technology, great changes have taken place in computer technology. Famous colleges and universities at home and abroad have introduced multi-core technology into the computer education system, and have set up Parallel Computing course to train students' parallel computing thinking and the ability of parallel computing system. This paper studies and discusses the course construction, the teaching material construction, the teaching model, and the “curriculum ideological and political education” of Parallel Computing course.

Key words:Parallel Computing; multi-core; teaching model; “curriculum ideological and political education”

猜你喜歡
并行計算課程思政教學模式
群文閱讀教學模式探討
云計算中MapReduce分布式并行處理框架的研究與搭建
并行硬件簡介
“一精三多”教學模式的探索與實踐
“導航杯”實踐教學模式的做法與成效
5E教學模式對我國中學數學教學的啟示
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合