引言
武漢大學(xué)電子信息學(xué)院一直著力于培養(yǎng)具有三創(chuàng)精神(創(chuàng)新、創(chuàng)造、創(chuàng)業(yè))和實(shí)踐能力的復(fù)合型人才。自2005年“多核微處理器”概念出現(xiàn)以來,學(xué)院就意識到“多核架構(gòu)”及其“基于多核架構(gòu)的多線程編程技術(shù)”必將對現(xiàn)有的軟件設(shè)計(jì)和相關(guān)課程內(nèi)容產(chǎn)生影響,于是成立了“多核課程小組”,并研究規(guī)劃將“多核”概念和知識添加到本科生課程體系中。2006年,武漢大學(xué)加入“Intel大學(xué)合作計(jì)劃”,并成立“武漢大學(xué)-Intel多核技術(shù)實(shí)驗(yàn)室”,2007年6月,獲得“教育部-Intel精品課程”建設(shè)項(xiàng)目批準(zhǔn)。
1課程建設(shè)背景及課程體系設(shè)計(jì)
1.1課程名稱及課程目的
課程小組進(jìn)行了近兩周的討論,從備選名中最終確定課程名稱為:“多核架構(gòu)及編程技術(shù)”。之所以確定此課程名,是因?yàn)槎嗪苏n程的受眾是通信工程及電子信息工程等專業(yè)本科生,學(xué)生具有扎實(shí)的硬件基礎(chǔ)、較強(qiáng)的動手能力和較好的編程能力;針對專業(yè)特點(diǎn)及學(xué)生特點(diǎn),多核架構(gòu)的認(rèn)知與基于多核的多線程編程技能具有同等重要性;除了對多核多線程編程方法的學(xué)習(xí)和相關(guān)工具的使用技能學(xué)習(xí)外,多核架構(gòu)的學(xué)習(xí)和認(rèn)知將有助于學(xué)生在硬件設(shè)計(jì)理念上得到提高。
課程名稱確定后,課程組又確定了課程的目的。大家一致認(rèn)為應(yīng)緊緊圍繞“多核架構(gòu)及編程技術(shù)在本學(xué)科領(lǐng)域中的應(yīng)用”為主線開展教學(xué)活動,使學(xué)生掌握多核體系的基本原理、典型設(shè)計(jì)策略,全面深入了解多核體系架構(gòu),完善知識結(jié)構(gòu),能在多核平臺上進(jìn)行并行編程,會使用相關(guān)工具進(jìn)行程序優(yōu)化及調(diào)試,理解多核技術(shù)對其他學(xué)科的影響,能獨(dú)立完成所要求的實(shí)驗(yàn)計(jì)劃。
1.2課程體系
從學(xué)科發(fā)展和現(xiàn)代教育思想出發(fā),結(jié)合工科專業(yè)特點(diǎn),經(jīng)充分的研討,針對我校電子信息工程、通信工程等本科專業(yè),學(xué)院創(chuàng)建了“多核架構(gòu)及編程技術(shù)”課程立體體系。該體系結(jié)構(gòu)為:課堂理論教學(xué)-系列講座-實(shí)踐性教學(xué)(實(shí)驗(yàn)和畢業(yè)設(shè)計(jì))三大模塊。課程建設(shè)圍繞該立體體系進(jìn)行,以我校電子信息學(xué)院“國家工科基礎(chǔ)課程電工電子教學(xué)基地”為依托,以一級學(xué)科“信息與通信工程”為龍頭,堅(jiān)持將多核架構(gòu)理論與實(shí)踐有機(jī)的結(jié)合,貫徹“少而精與博而通”教學(xué)思想的創(chuàng)新實(shí)踐,體現(xiàn)工科專業(yè)的特色。
2課程知識體系
2.1基礎(chǔ)理論
基礎(chǔ)理論通過課堂講解方式進(jìn)行,注重學(xué)生知識結(jié)構(gòu)的銜接和完善,包括多核技術(shù)的相關(guān)理論及多核編程工具的使用。其內(nèi)容主要有:計(jì)算機(jī)架構(gòu)的發(fā)展史,多核處理器體系結(jié)構(gòu),基礎(chǔ)理論知識,多核多線程的設(shè)計(jì)方法,并行計(jì)算及其實(shí)現(xiàn),基于多核平臺的程序調(diào)試技術(shù),基于多核的編譯優(yōu)化技術(shù),等。
2.2基礎(chǔ)實(shí)驗(yàn)
教師講解并分析完實(shí)驗(yàn)內(nèi)容和要求后,學(xué)生獨(dú)立完成基礎(chǔ)實(shí)驗(yàn)。基礎(chǔ)實(shí)驗(yàn)注重提高學(xué)生掌握基于多核架構(gòu)的編程技術(shù)的能力,包括了在Windows和Linux操作系統(tǒng)下的多核基礎(chǔ)編程及各個工具軟件的使用。工具軟件包括:Intel C++和Fortran編譯器、Intel數(shù)學(xué)核心函數(shù)庫和Intel集成性能元件庫、Intel TuneTM性能分析器、Intel線程檢測器和Intel調(diào)試器、Intel線程直方統(tǒng)計(jì)器,等。這些基本工具的熟練使用能力可為實(shí)際環(huán)境中多核技術(shù)的運(yùn)用打好堅(jiān)實(shí)的基礎(chǔ)。由于基于多核的編程與操作系統(tǒng)環(huán)境和編譯有密切的關(guān)系,所以在講解編程工具使用方法之前,應(yīng)著重介紹多核編譯的知識以及操作系統(tǒng)對多核的支持。
2.3課程設(shè)計(jì)
目前4個大實(shí)驗(yàn)(請參見課程網(wǎng)站,ttp://eis.whu.
edu.cn/jpkc)都是課程組成員在研或已經(jīng)完成(甚至是已進(jìn)入實(shí)際應(yīng)用)的課題?,F(xiàn)由學(xué)生分組進(jìn)行實(shí)驗(yàn)設(shè)計(jì)與開發(fā),并結(jié)合課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)進(jìn)行進(jìn)一步深入研究,要求提供較為詳細(xì)的算法設(shè)計(jì)與編程模型。學(xué)院還將會在多核技術(shù)在本專業(yè)領(lǐng)域?qū)嶋H使用中,不斷發(fā)現(xiàn)新的亮點(diǎn),不斷進(jìn)行專業(yè)應(yīng)用的實(shí)踐性實(shí)驗(yàn)設(shè)計(jì),拓寬課程設(shè)計(jì)內(nèi)涵和內(nèi)容,為學(xué)生學(xué)習(xí)多核技術(shù)提供更多的案例。
3多核課程的建設(shè)方法
3.1 教師隊(duì)伍構(gòu)成及立體化教學(xué)方法
本課程組成員均為長期從事教學(xué)科研的一線教師,具有豐富的教學(xué)研究和實(shí)踐經(jīng)驗(yàn),且來自于本學(xué)科領(lǐng)域的不同研究方向。課程組具有老中青結(jié)合,年齡結(jié)構(gòu)、知識結(jié)構(gòu)和職稱結(jié)構(gòu)合理的特征。在課程建設(shè)不斷深入的過程中,學(xué)院還將會擴(kuò)大課程組成員比例,開發(fā)出更多學(xué)習(xí)和研究案例。
在教學(xué)中,學(xué)院采取立體化教學(xué)方法,即采用課堂理論教學(xué)、系列講座、實(shí)踐性教學(xué)相結(jié)合的方式穿插進(jìn)行。其中,課堂教學(xué)采用多媒體教學(xué)與傳統(tǒng)教學(xué)方式有機(jī)結(jié)合;實(shí)驗(yàn)教學(xué)先使用多媒體方式進(jìn)行內(nèi)容分析和要求講解后,再進(jìn)行實(shí)驗(yàn);課程設(shè)計(jì)部分按大組進(jìn)行,由指導(dǎo)教師分組進(jìn)行指導(dǎo)和實(shí)踐。課后輔導(dǎo)形式更為多樣,采用當(dāng)面交流、教學(xué)網(wǎng)站、電子郵箱、QQ群等多種方式對學(xué)生進(jìn)行輔導(dǎo)和答疑。
3.2實(shí)驗(yàn)室建設(shè)
本課程是一門實(shí)踐性很強(qiáng)課程,課程教學(xué)中一半以上的時間都在實(shí)驗(yàn)室進(jìn)行。“武漢大學(xué)-Intel多核技術(shù)實(shí)驗(yàn)室”是一個全方位開放實(shí)驗(yàn)室,做到“人盡其材、物盡其利、地盡其用”。本實(shí)驗(yàn)室是學(xué)院創(chuàng)新實(shí)驗(yàn)室的組成部分,隸屬于“國家工科基礎(chǔ)課程電工電子教學(xué)基地”。我們建立了完善的設(shè)備管理制度、教學(xué)管理制度、值班管理制度、檔案管理制度,有效保證了實(shí)驗(yàn)室教學(xué)活動的順利開展,為學(xué)生業(yè)余科研和創(chuàng)新能力的培養(yǎng)提供了平臺。
4經(jīng)驗(yàn)分享
4.1教學(xué)內(nèi)容
緊密結(jié)合本學(xué)科和專業(yè)特點(diǎn),根據(jù)學(xué)生知識結(jié)構(gòu)因材施教,強(qiáng)調(diào)有機(jī)拓寬學(xué)生知識面,完善知識結(jié)構(gòu),強(qiáng)調(diào)知識結(jié)構(gòu)銜接性。重要的是,本課程更關(guān)注多核知識與本專業(yè)領(lǐng)域需求的有機(jī)結(jié)合,更加強(qiáng)對學(xué)生“創(chuàng)新性能力”的培養(yǎng),更強(qiáng)調(diào)學(xué)生對多核知識的掌握,更強(qiáng)調(diào)學(xué)生利用多核知識解決實(shí)際問題的能力。
同時,積極關(guān)注各種最新技術(shù)的發(fā)展,以促進(jìn)多核課程的教學(xué),這將是一個持續(xù)的過程。如:課程組通過對今年的熱點(diǎn)技術(shù)——Web2.0的討論,認(rèn)為Web 2.0是在微軟已經(jīng)沒有辦法通過軟件再吃掉Intel所增加的處理器頻率的時候,所出現(xiàn)的又一個極其消耗用戶資源的互聯(lián)網(wǎng)技術(shù),其帶來的超大規(guī)模的數(shù)據(jù)和計(jì)算都給多核技術(shù)的發(fā)展帶來了新的用武之地。所以,課程組已經(jīng)在教學(xué)內(nèi)容中添加了“什么是Web 2.0?”、
“Web 2.0與Web 1.0的區(qū)別是什么?”、“Web 2.0的發(fā)展給多核發(fā)展帶來怎樣的機(jī)會?”等專題,目的在于兩個方面:第一,使得學(xué)生逐步學(xué)會去關(guān)注和觀察周圍正在發(fā)生變化的技術(shù),提高發(fā)現(xiàn)問題的能力;第二,通過教師的講解,使得學(xué)生對最新知識有全面的了解和認(rèn)識,并通過對其中存在的和等待解決的問題進(jìn)行分析,提高解決問題的能力。
4.2教學(xué)實(shí)踐
將基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)相結(jié)合,將教學(xué)與科研相結(jié)合。本課程組教師團(tuán)隊(duì)均為長期從事相關(guān)研究的一線教師,積累了豐富的教學(xué)和科研素材,可以直接轉(zhuǎn)化為多核的應(yīng)用案例。這樣,學(xué)生便可以在基礎(chǔ)操作技能的基礎(chǔ)上將多核技術(shù)運(yùn)用到實(shí)際科研環(huán)境中。同時,還能在完成課程設(shè)計(jì)的基礎(chǔ)上,結(jié)合畢業(yè)設(shè)計(jì)開展進(jìn)一步的性能優(yōu)化等研究工作。
4.3教師指導(dǎo)環(huán)節(jié)
在實(shí)踐內(nèi)容的安排上,課程主講教師直接指導(dǎo)實(shí)驗(yàn)各個環(huán)節(jié)。強(qiáng)調(diào)學(xué)生對多核架構(gòu)及編程技術(shù)的掌握和實(shí)際運(yùn)用能力的培養(yǎng)和訓(xùn)練。我們的目的不是“為學(xué)習(xí)而學(xué)習(xí),為編程而編程”,而是著實(shí)提高學(xué)生在本學(xué)科領(lǐng)域中多核技術(shù)的應(yīng)用能力,注重“個性化”和創(chuàng)新能力的培養(yǎng),提高學(xué)生靈活運(yùn)用多核知識的能力。
4.4學(xué)習(xí)方式
充分依托“國家工科基礎(chǔ)課程電工電子教學(xué)基地”,借助開放平臺,搞好基礎(chǔ)訓(xùn)練。緊密結(jié)合“大學(xué)生科研”活動,讓更多的學(xué)生利用多核平臺進(jìn)行業(yè)余科研。由于程序開發(fā)的協(xié)同性特點(diǎn),我們更強(qiáng)調(diào)團(tuán)隊(duì)精神,并希望通過開展學(xué)術(shù)研討、經(jīng)驗(yàn)交流等“第二課堂”活動,促進(jìn)學(xué)生學(xué)習(xí)。
5總結(jié)
未來的計(jì)算平臺,不論是桌面應(yīng)用、移動應(yīng)用、服務(wù)器還是專用嵌入式平臺都很有可能采用多核結(jié)構(gòu)。多核課程建設(shè)勢在必行。
多核微處理器領(lǐng)域目前正在經(jīng)歷快速的發(fā)展,我們將密切關(guān)注各種最新技術(shù)的出現(xiàn),及時更新或補(bǔ)充教學(xué)內(nèi)容,不斷完善多核多線程技術(shù)在本學(xué)科領(lǐng)域運(yùn)用的案例,提高教學(xué)質(zhì)量和水平。