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