計算機硬件技術(shù)的飛速發(fā)展,給計算機科學(xué)研究帶來了新的契機與挑戰(zhàn)。多核是計算機、集成電路發(fā)展的結(jié)果,對計算機教學(xué)產(chǎn)生了深遠影響。浙江大學(xué)計算機專業(yè)在研究生課程“多核計算”精品課程建設(shè)中積累了一定的經(jīng)驗;并在本科生中的開設(shè)與推廣進行了有益的嘗試。
1 多核課程定位
眾所周知,在計算機產(chǎn)業(yè)中,硬件和軟件的發(fā)展一向是相輔相成、互相促進的。多核這場硬件的革命自然也帶動了軟件的革命。隨著計算機體系結(jié)構(gòu)的發(fā)展,多核平臺得到了越來越廣泛的應(yīng)用。多核平臺與并行計算理論相結(jié)合,以多線程并行的方式使應(yīng)用程序性能大為提高。
結(jié)合多核產(chǎn)業(yè)技術(shù)性和國際化需求,浙江大學(xué)計算機學(xué)院對多核教學(xué)課程內(nèi)容體系、實踐體系、教學(xué)方法和手段、實驗環(huán)境建設(shè)、教材與教學(xué)論文建設(shè)、課程推廣等多方面進行改革。在結(jié)合浙江大學(xué)計算機學(xué)院在體系結(jié)構(gòu)、多核調(diào)優(yōu)軟件這兩方面的優(yōu)勢的同時,借鑒CC2004和CE2005的課程體系設(shè)計理念,緊密聯(lián)系學(xué)院各門課程的技術(shù)要點,建立系統(tǒng)的面向多核軟件設(shè)計為主的課程內(nèi)容體系。
概括起來,這個體系可以分成三個層次:首先是前序知識介紹。包括計算機體系結(jié)構(gòu)、大規(guī)模集成電路、多核芯片、多核系統(tǒng)軟件、并行編譯技術(shù),等。其次是重點掌握知識介紹,包括并行算法的基本原理、多線程設(shè)計方法,OpenMP、MPI設(shè)計方法,等。最后是提高和深入知識介紹,包括多核性能分析、多線程糾錯、多核調(diào)優(yōu),等。
2 課程實施與改革
2.1知識點劃分
多核技術(shù)涉及的知識點如圖1所示。這些多核技術(shù)相關(guān)的知識點都需要在多核課程中涉及。
所有這些多核技術(shù)相關(guān)的知識點中,一部分屬于多核編程技術(shù)與技巧,可以結(jié)合多核編程工具與性能調(diào)優(yōu)工具,通過編程實踐鍛煉學(xué)生對多核編程能力的培養(yǎng)。另一部分屬于并行計算機與數(shù)字芯片技術(shù)方向的最前沿,可以作為研究生的課程,擴大學(xué)生們的知識面,了解計算機體系結(jié)構(gòu),并行計算和芯片設(shè)計技術(shù)等領(lǐng)域的最新熱點。
2.2教學(xué)大綱體系建設(shè)
課程組多次組織國內(nèi)高校召開多核課程體系的研討會,與高校教師們研討多核課程的內(nèi)容架構(gòu),互相促進課程體系的完善。另外,還積極走出國門,參與2007年印度舉辦的亞洲學(xué)術(shù)論壇,與亞洲各大學(xué)分享課程組的教學(xué)成果。課程組多次參與教育方面的國際會議,充分與國際教育家探討該課程的國際化建設(shè)。
教學(xué)隊伍中除了本校教師以外,還邀請了國外著名專家進行授課,2005年以來,邀請了日本法政大學(xué)李亞民教授累計講授了48課時課程,2007年,邀請了英特爾公司資深工程師進行課程講座。
2.3教學(xué)實踐與教學(xué)改革
以往的程序設(shè)計教學(xué),或少有具體實驗案例,或過于側(cè)重某個具體案例分析而忽略了知識結(jié)構(gòu)的完整培養(yǎng);或只注重于硬件底層開發(fā)技術(shù)卻未能有上層軟件的輔助,或只注重于上層軟件開發(fā)卻未能深入到硬件底層,形成不了一個完整的多核系統(tǒng)解決方案。針對上述問題,課程組提出以多核硬件體系結(jié)構(gòu)為切入點,采用理論指導(dǎo)、課程實驗奠基,走出課堂融入社會與產(chǎn)業(yè)應(yīng)用相結(jié)合的教學(xué)理念,并以此設(shè)計完成一套多核系統(tǒng)課程實驗體系。
在課外實踐上,課程小組采用項目申請討論形式,讓學(xué)生進行自由發(fā)揮,鼓勵學(xué)生提出自己的研究方案,對于具有創(chuàng)新意義的方案,課程小組依托多核實驗室,支持學(xué)生參加學(xué)生科研項目(SRTP)和多核程序設(shè)計競賽,并給予一定的專項科研經(jīng)費的支持,授予第二課堂學(xué)分,極大的激發(fā)了學(xué)生的實踐熱情。課程組還獲得了國家大學(xué)生創(chuàng)新計劃的支持。
2. 4教學(xué)條件與教學(xué)環(huán)境建設(shè)
為了建立良好、可持續(xù)發(fā)展的教學(xué)環(huán)境,課程組加強教學(xué)條件建設(shè),挖掘網(wǎng)絡(luò)資源,并通過自主開發(fā)、校企合作等方式建立了良好的教學(xué)實驗條件。
課程小組利用所依靠的強大教學(xué)與科研力量開辦了專門的教學(xué)網(wǎng)站(網(wǎng)址為multicore.zju.edu.cn或multicore.net.cn)。網(wǎng)站內(nèi)容包括了多核教學(xué)課件、實驗代碼、最新的多核研究文獻等內(nèi)容,充分調(diào)動了學(xué)生學(xué)習(xí)多核課程的積極性,起到了良好的效果。
考慮到大多數(shù)開發(fā)人員都沒有雙核機器,Intel提供的開發(fā)軟件價格貴,而多核環(huán)境下的編程開發(fā)是趨勢。因此,網(wǎng)站還提供了2臺多核的計算機,連接在網(wǎng)通與電信的網(wǎng)絡(luò)上,提供遠程桌面連接,使缺少多核軟硬件的同學(xué)們能方便地使用這兩臺計算機。使用中保證“單人單機模式”,多核服務(wù)器實行單用戶使用制度,在任何時段只有一個用戶登錄使用,保證獨自享受多核的處理能力。
近兩年來,多核技術(shù)突飛猛進,硬件平臺進步十分明顯。為了跟上發(fā)展潮流,為學(xué)生提供最前沿的信息和知識,教學(xué)組在保證教學(xué)體系不變的情況下,對實驗設(shè)備、教學(xué)內(nèi)容、實驗設(shè)置等進行了多次更新,其中在短短一年內(nèi),實驗設(shè)備進行了五次大規(guī)模的跟新?lián)Q代。
(1)2006年4月,英特爾捐贈了inteI core due計算機12臺,軟件12套。
(2)2006年7月,購置了80套intelcore due計算機。
(3)2006年10月,英特爾贈送了80套軟件授權(quán)。
(4)2007年4月,英特爾贈送了8核計算機、4核服務(wù)器各1套。
(5)2007年5月,購置了50套intelcote 2 due(酷睿2)計算機。
3 總結(jié)
浙江大學(xué)計算機學(xué)科在多核精品課程建設(shè)過程中積累了一定的經(jīng)驗,通過教學(xué)大綱、國際合作、競賽組織、實驗環(huán)境更新等手段,取得了課程建設(shè)的第一手資料,為進一步推廣多核課程作鋪墊。