崔慶華
摘要:多核計(jì)算平臺(tái)的普及以及多核技術(shù)應(yīng)用人才的需求,對傳統(tǒng)的計(jì)算機(jī)專業(yè)教學(xué)產(chǎn)生了重要的影響。本文針對高職院校的計(jì)算機(jī)專業(yè)教學(xué)現(xiàn)狀,論述和探討了多核對計(jì)算機(jī)專業(yè)的教學(xué)觀念和編程語言類課程的影響,并就開展多核技術(shù)教學(xué)的師資隊(duì)伍、課程教材和實(shí)驗(yàn)室建設(shè)進(jìn)行了有益探索。
關(guān)鍵詞:多核技術(shù);計(jì)算機(jī)教學(xué);高職院校
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
多核技術(shù)發(fā)展迅猛之勢已超出人們的預(yù)期想象,給計(jì)算機(jī)軟硬件設(shè)計(jì)理念和方法帶來重大變革。作為計(jì)算機(jī)應(yīng)用人才培養(yǎng)重要基地的高職院校,如何在多核時(shí)代到來之初就開始探索計(jì)算機(jī)相關(guān)課程的革新,適應(yīng)多核時(shí)代對計(jì)算機(jī)人才的需要,是一個(gè)新的挑戰(zhàn)。計(jì)算機(jī)教學(xué)觀念、計(jì)算機(jī)教學(xué)知識(shí)體系就應(yīng)該根據(jù)多核技術(shù)發(fā)展走勢做相應(yīng)的變化,例如教學(xué)觀念要從結(jié)構(gòu)化和面向?qū)ο缶幊贪l(fā)展到多線程并行編程,教學(xué)課程從編程語言到軟件工程,從計(jì)算機(jī)組成到芯片設(shè)計(jì),都可以引入多核技術(shù)。本文就教學(xué)觀念和編程語言類課程的影響進(jìn)行了有益的探討。
1高職院校計(jì)算機(jī)專業(yè)課程體系的現(xiàn)狀
20多年間,中國職業(yè)教育已經(jīng)成為世界上規(guī)模最大、人數(shù)最多、進(jìn)步最快的職業(yè)教育體系:目前高職在校生人數(shù)在大學(xué)生中所占比例高達(dá)53%,總?cè)藬?shù)是1998年的6倍多。從1980年起步時(shí)期的區(qū)區(qū)13所,到2005年底的1091所,全國僅獨(dú)立設(shè)置的高職高專學(xué)校數(shù)量就增長了80多倍,幾乎所有的高職院校都有計(jì)算機(jī)專業(yè)或涉及計(jì)算機(jī)教育。如此之大規(guī)模,計(jì)算機(jī)教育必然給高職的教育質(zhì)量帶來相應(yīng)的高影響力和新課題。
由于辦學(xué)定位上的差別,高職計(jì)算機(jī)專業(yè)的教學(xué)自然不同于傳統(tǒng)的大學(xué)本科計(jì)算機(jī)專業(yè)的教學(xué)。高職計(jì)算機(jī)專業(yè)教學(xué)應(yīng)以培養(yǎng)生產(chǎn)或服務(wù)一線的技術(shù)應(yīng)用型人才為宗旨,專門性、實(shí)踐性應(yīng)當(dāng)是其課程設(shè)置的基本定位,應(yīng)以工作能力(技術(shù)應(yīng)用能力和職業(yè)素質(zhì))為主線來設(shè)計(jì)課程教學(xué)體系。其辦學(xué)特色是堅(jiān)持根據(jù)市場和技術(shù)需求變化適時(shí)調(diào)整對學(xué)生的培養(yǎng)目標(biāo),特別要注意多核技術(shù)帶來的技術(shù)需求的變化,使得學(xué)生具有新技術(shù)的適應(yīng)能力。
2007年7月23日,在新疆舉行的“全國高等院校計(jì)算機(jī)基礎(chǔ)教育”2007論壇暨全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)學(xué)術(shù)年會(huì)上,誕生了《中國高職院校計(jì)算機(jī)教育課程體系2007》。其英文譯名為China Vocational -Computing Curricula,簡稱CVC2007。封面為藍(lán)色,通常稱作高職藍(lán)皮書。它是我國高職院校計(jì)算機(jī)領(lǐng)域中第一個(gè)全面、系統(tǒng)的指導(dǎo)性文件,CVC2007要解決的問題是:高職計(jì)算機(jī)教
育應(yīng)當(dāng)遵循什么指導(dǎo)思想和辦學(xué)理念;當(dāng)前面臨的形勢和需要解決的問題;依據(jù)什么原則去構(gòu)建高職計(jì)算機(jī)教育的課程體系,并提供了計(jì)算機(jī)應(yīng)用技術(shù)等七個(gè)專業(yè)的課程體系參考方案,現(xiàn)在大多數(shù)高職院校都按照該藍(lán)本進(jìn)行相關(guān)計(jì)算機(jī)專業(yè)課程體系的設(shè)計(jì)。
多核時(shí)代的到來,多核技術(shù)的發(fā)展,使得大學(xué)計(jì)算機(jī)的教育面臨新的問題:在多核技術(shù)的影響下,計(jì)算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)、編譯技術(shù)和應(yīng)用軟件的編程模型等都發(fā)生了較大的變化,大學(xué)計(jì)算機(jī)的教學(xué)需要跟上多核技術(shù)的腳步,做出有針對性的調(diào)整。國外的高校例如美國麻省理工學(xué)院、喬治亞理工學(xué)院等已經(jīng)開始設(shè)置多核課程,通過新增課程或修改原有課程的教學(xué)內(nèi)容,以適應(yīng)多核計(jì)算技術(shù)帶來的變化。對國內(nèi)的普通高校來說,教育部已聯(lián)合英特爾公司推出了“教育部—英特爾精品課程”,投入和支持一系列與多核課程相關(guān)的精品課程建設(shè)項(xiàng)目,推動(dòng)了我國高校引入多核內(nèi)容進(jìn)行課程教學(xué)與建設(shè)。目前高職院校的相應(yīng)工作比較滯后,CVC2007還未明確涉及多核技術(shù),需要進(jìn)行相應(yīng)的修改和補(bǔ)充,以達(dá)到培養(yǎng)的學(xué)生具備在主流計(jì)算機(jī)硬件上進(jìn)行多核技術(shù)應(yīng)用和開發(fā)的能力,增強(qiáng)學(xué)生的就業(yè)能力和創(chuàng)業(yè)能力。因此,將多核技術(shù)納入到高職院校的課程體系中具有相當(dāng)?shù)闹匾院途o迫性。
2多核帶來的影響
所謂雙核處理器,就是在一塊CPU基板上集成兩個(gè)處理器核心,并通過總線等互連技術(shù),將各處理器核心連接起來。多核并不是一個(gè)新概念,現(xiàn)在的多核基本上指的是CMP(Chip Multi Processors,單芯片多處理器)類型,其實(shí)在RISC處理器領(lǐng)域早已實(shí)現(xiàn)。多核與單核的區(qū)別在于,前者可以讓程序真正地“同時(shí)”執(zhí)行,而不是多個(gè)進(jìn)程輪流使用CPU,從而給用戶造成“多個(gè)程序正在同時(shí)執(zhí)行”的假象。以前,通常是依賴CPU時(shí)鐘頻率的提升來提高CPU的性能。然而普通單核心處理器的頻率難于進(jìn)一步提升,性能也無法有質(zhì)的飛躍。由于時(shí)鐘頻率高,功率消耗大,溫度升也高,機(jī)器易發(fā)生故障和老化,英特爾公司在發(fā)布3.8GHz的產(chǎn)品以后只得宣布停止4GHz的產(chǎn)品計(jì)劃。
因此,處理器全面轉(zhuǎn)向多核體系,CPU內(nèi)部開始出現(xiàn)了兩個(gè)、四個(gè)甚至更多的內(nèi)核。
由于是底層的計(jì)算平臺(tái)正在發(fā)生變化,因此IT領(lǐng)域從業(yè)人員,不僅僅是開發(fā)者,包括需求分析人員、設(shè)計(jì)者、程序員和測試者,都在工作時(shí)要考慮到并行帶來的影響。作為高職院校的計(jì)算機(jī)教育工作者,要考慮到技術(shù)變化所帶來的技術(shù)需求的變化,以適應(yīng)高職院校培養(yǎng)人才的需求。為此,本文僅就多核對計(jì)算機(jī)專業(yè)的教學(xué)觀念和編程語言課程的影響進(jìn)行了初步探討。
2.1并行設(shè)計(jì)思想的引入
多核的流行和普及,使程序中可以有多個(gè)線程真正地“同時(shí)”運(yùn)行,也就是并行執(zhí)行。如果說第一代是過程化和結(jié)構(gòu)化編程,第二代是面向?qū)ο缶幊?那么現(xiàn)在到了第三代多線程并行編程。能不能把多線程并行化的工作完全交給操作系統(tǒng)和編譯器呢?這是一個(gè)充滿誘惑力的前景。我們認(rèn)為并行化的工作現(xiàn)在無法自動(dòng)實(shí)現(xiàn),未來也只能在一定程度上有所緩解,而不可能全部交由機(jī)器完成。因此,在教學(xué)觀念上,需要建立并行設(shè)計(jì)的思想和掌握并行編程模式,需要增設(shè)課程或在相關(guān)課程中加入Foster的PCAM并行設(shè)計(jì)方法學(xué)和多種的并行編程模式。面對多核,需要建立新的思維方式,就像當(dāng)年從過程化編程過渡到面向?qū)ο缶幊虝r(shí)所做的那樣。
2.2編程語言課程的影響
高職院校在教學(xué)計(jì)劃中大多都安排C和Java語言這兩門課,過去主要是體現(xiàn)的是單線程串行程序設(shè)計(jì)模式、結(jié)構(gòu)化與面向?qū)ο蟮脑O(shè)計(jì)思想,現(xiàn)在面對多核處理器,需要在并行觀念的基礎(chǔ)上進(jìn)行并行編程,因此需要對C和Java語言課進(jìn)行內(nèi)容的調(diào)整和補(bǔ)充。C和Java語言都具有良好的并行程序設(shè)計(jì)支持的功能,可以在課程中適當(dāng)?shù)剡M(jìn)行補(bǔ)充。如C語言的OpenMP和MPI庫分別支持共享存儲(chǔ)和分布存儲(chǔ)編程模式,其多線程庫也支持多線程并行。Java有很好的多線程編程功能,其代號(hào)為Tiger的Java 5的java.util.concurrent包的出現(xiàn),可以使用低層機(jī)器指令取代鎖,精化了互斥訪問的粒度,提高了系統(tǒng)的可伸縮性和活性。
設(shè)計(jì)一個(gè)好的并行編程應(yīng)用系統(tǒng)是困難的,設(shè)計(jì)者不僅僅要了解語言的并行功能部分,重要的是還要掌握和理解并行設(shè)計(jì)思想。設(shè)計(jì)者要面對的一個(gè)挑戰(zhàn)是任務(wù)劃分和數(shù)據(jù)分解,要盡可能地讓每個(gè)任務(wù)在執(zhí)行時(shí)只使用自己的數(shù)據(jù)。如果不同的線程要共享數(shù)據(jù),問題將迅速變得復(fù)雜,同時(shí)并行程序的測試與調(diào)試也會(huì)更加困難。不久前,當(dāng)有人問C#之父Anders Hejlsberg“未來幾年內(nèi)語言的發(fā)展方向在何處”時(shí),Anders表示“要處理好多核的問題,并提供一個(gè)更好的并發(fā)模型”。Erlang語言最近也受到越來越多的關(guān)注,這說明人們迫切需要一個(gè)強(qiáng)大而又充分簡單的工具來解決并發(fā)編程的挑戰(zhàn)。
3應(yīng)對的措施和改革
由于學(xué)生就業(yè)有“滯后性”的特點(diǎn),而教學(xué)設(shè)計(jì)必須具有“前瞻性”,這樣才能適應(yīng)由于技術(shù)變化帶來的人才市場需求變化。因此,多核相關(guān)課程教學(xué)的開展和引入多核技術(shù)是現(xiàn)實(shí)的必然,而且是早行動(dòng)早受益。開展多核技術(shù)的教學(xué)需要在教材、教學(xué)內(nèi)容、教學(xué)計(jì)劃等方面進(jìn)行相應(yīng)的調(diào)整,更重要的是教師培訓(xùn)必須先行一步。
3.1教師培訓(xùn)
教師是多核技術(shù)傳授的關(guān)鍵,只有教師自己掌握了多核技術(shù)的相關(guān)知識(shí),才能組織好對學(xué)生的培養(yǎng)和教學(xué)工作。目前與多核相關(guān)的一些并行課程,也只有在國內(nèi)少數(shù)高校才開設(shè),高職院校的教師普遍缺乏這方面的知識(shí),我們的教師應(yīng)盡快地接受必要的培訓(xùn),與時(shí)俱進(jìn),更新知識(shí),只有教師早行動(dòng),學(xué)生才能早受益。多核技術(shù)的教師培訓(xùn)也可以采用送出去和請進(jìn)來相結(jié)合的辦法,送教師到相關(guān)院校學(xué)習(xí)和參加英特爾公司的大學(xué)課程計(jì)劃培訓(xùn)班,也可以請一些專家教授到學(xué)院進(jìn)行專題講座。另外,通過組織多核技術(shù)的研究小組,使教師迅速掌握多核技術(shù)領(lǐng)域的最新技術(shù)和研究前沿。
3.2課程和教材改革
多核課程的開設(shè),可以使學(xué)生對多核計(jì)算技術(shù)與應(yīng)用有一個(gè)全面深入的認(rèn)識(shí),完善學(xué)生的知識(shí)結(jié)構(gòu),以更好適應(yīng)未來的計(jì)算機(jī)技術(shù)及其應(yīng)用的發(fā)展與革新。將多核技術(shù)引入計(jì)算機(jī)專業(yè)教學(xué)課程體系可以有兩種方式:一種為單獨(dú)開設(shè)課程,一種為改造現(xiàn)有課程。單獨(dú)開設(shè)課程,需要高水平的教師及適合高職院校的優(yōu)秀教材,這種方式現(xiàn)階段較難實(shí)行;對現(xiàn)有課程的改造和擴(kuò)充比較切實(shí)可行,我們可以首先對C和Java編程語言課進(jìn)行示范,將并行設(shè)計(jì)思想融合到這些課程中。另外,此前教育部聯(lián)合英特爾公司推出了“教育部—英特爾精品課程”,支持了一系列與多核課程相關(guān)的精品課程建設(shè)項(xiàng)目,我們可以引入和借鑒這類多核課程及教材。
3.3實(shí)驗(yàn)環(huán)境建立
建立多核技術(shù)課程的實(shí)驗(yàn)環(huán)境是必備和必需的。目前的臺(tái)式機(jī)和筆記本都是雙核以上的多核環(huán)境,開展多核計(jì)算硬件條件基本不成問題;軟件方面像OpenMP、MPI、Pthread等都有一些開源資源,可以實(shí)現(xiàn)共享式存儲(chǔ)計(jì)算和分布式存儲(chǔ)計(jì)算。對于某些系統(tǒng)環(huán)境需要進(jìn)行購置和添加,如Intel的多核計(jì)算環(huán)境,包括C編譯器、數(shù)學(xué)庫、測試和分析工具等。
4結(jié)束語
目前多核計(jì)算機(jī)系統(tǒng)已普及,需要我們高職院校的多核技術(shù)教育及時(shí)跟上發(fā)展潮流,為學(xué)生提供最前沿的信息和知識(shí),適時(shí)地為社會(huì)培養(yǎng)出滿足市場技術(shù)需求的人才。希望通過我們的多核課程,學(xué)生能了解流行的多核硬件平臺(tái),掌握多核編程和程序評(píng)測、調(diào)優(yōu)技能,具有扎實(shí)的動(dòng)手實(shí)踐能力,為將來在無處不在的多核應(yīng)用領(lǐng)域工作打好扎實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1] 中國高等職業(yè)院校計(jì)算機(jī)教育改革課題研究組. 中國高職院校計(jì)算機(jī)教育課程體系2007[M]. 北京:中國鐵道出版社,2007.
[2] 陳天洲. 多核課程建設(shè)探索與實(shí)踐[J]. 計(jì)算機(jī)教育, 2007(3).
[3] 陳國良. 并行計(jì)算-結(jié)構(gòu)?算法?編程(修訂版)[M]. 北京:高等教育出版社,2003.