999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“多核軟件設計”課程建設

2007-12-31 00:00:00
計算機教育 2007年23期

1引言

華南理工大學軟件學院和計算機科學與工程學院在多核微處理器系統出現之初,就已經意識到該技術對軟件設計的重大影響,開始研究相關技術和規劃設立“多核軟件設計”課程。2006年12月,作為Intel大學合作計劃的合作伙伴,華南理工大學派遣本課程的負責教師參加了相關技術培訓。2007年3月,該課程進入“Intel大學合作計劃”,并接收了Intel公司捐贈的相關實驗設備。2007年6月,該課程被批準為2007年度“教育部-Intel精品課程”建設項目。

2“多核軟件設計”課程的知識體系

根據多核軟件技術本身的特點,以及我校整體課程體系情況,學院將“多核軟件設計”課程的主要內容設定為四

個主要部分:基本理論知識,多核軟件設計技術,基于多核處理器的并行算法設計與實現,多核軟件性能分析工具的使用。

2.1基本理論知識

該部分主要介紹多核軟件設計的硬件和操作系統平臺基礎,以期讓學生掌握多核軟件設計的基本原理。

(1) 多核處理器體系結構。此部分將重點講授基于地址空間共享機制的多核處理器體系結構的主要技術特征,介紹以Intel公司為代表的主流多核微處理器產品,并根據多核處理器的發展介紹其他有代表性的多核微處理器體系結構。

(2) 多核處理器上的操作系統。該部分將首先回顧線程和進程的基本概念,繼而討論操作系統對線程的不同實現思路(內核級、應用級、混合型)和特點。在此基礎上,介紹多核處理器上操作系統的關鍵性技術問題,重點介紹Windows 2000操作系統中多核處理器的線程調度機制。

2.2多核軟件設計技術

這部分內容主要講授基于Linux、Windows等操作系統平臺上多線程程序設計的基本操作系統原語,以及OpenMP的基本設計方法,以期讓學生掌握使用多線程方法進行多核軟件設計的基本技能。

(1) 基于Linux平臺的多線程程序設計方法。該部分主要講授PThread線程庫中的主要API接口函數,包括線程創建、撤銷、互斥鎖、條件變量、信號量,等,并通過N柵欄和生產者/消費者兩個問題介紹上述API接口函數的使用。

(2) 基于Windows平臺的多線程程序設計方法。該部分主要講授Windows平臺上的多線程API接口函數,包括線程創建、撤銷、掛起/恢復、優先級設置、睡眠、臨界區,等。

(3) 基于OpenMP的多核軟件程序設計方法。該部分主要講授OpenMP的主要原理和特點,編譯制導語句格式,語句中經常使用的制導命令和子句,重點介紹變量屬性、線程分配策略、規約語句主要內容。

2.3并行算法設計基本方法和實例分析

這部分內容主要講授并行計算程序設計的一般原理,以及結合實例說明在多核處理器平臺上使用多線程方法設計并行程序的方法。

(1) 并行程序設計的基本原理。該部分首先講授任務依賴圖,引入并發度、關鍵路徑、粒度等基本概念,然后介紹了三種基本的任務分解方法,最后圍繞加速比、執行效率、成本等概念,講授Amdahl定律。

(2) 并行程序設計實例分析。該部分有針對性地選擇了三個實例:高斯消去法,多路歸并排序和蒙特卡羅法求PI值。其中,高斯消去法主要介紹數值類型計算中的數據劃分方法,多路歸并排序主要介紹非數值計算中比較復雜的負載均衡問題,蒙特卡羅法則是通過多線程共享互斥的隨機數產生過程而對性能 產生的副作用,來討論多線程程序設計中可能出現的問題。

2.4多核軟件的性能分析方法和工具

這部分內容以Intel公司的VTune性能分析工具為基礎,介紹了多核軟件實際運行性能的分析和優化方法。首先介紹了性能分析工具中采樣方式和調用圖方式的工作原理,然后介紹了Thread Checker工具中關于數據競爭、死鎖、關鍵路徑、負載均衡等重要問題的方法。

3“多核軟件設計”課程建設的幾點經驗

“多核軟件設計”是當前新興的軟件設計方法和技術,它需要結合計算機系統結構、操作系統等基礎理論知識,還需要掌握并行算法設計的基本思想和方法,以改進和優化已有的串行程序設計。這對課程的教學和研究都提出了新的要求。我們在該課程的建設中在以下方面取得了一些經驗。

3.1重視科研工作和教學的聯系,以最新科研成果帶動教學水平的提高

本課程團隊長期從事計算機系統結構和基礎軟件的研究工作,對當前多核處理器技術的發展比較了解,充分認識到多核處理器體系結構對已有軟件設計方法提出的新挑戰和新問題,并在多核處理器出現之初就搭建了相關實驗平臺,開始了多核軟件設計的研究工作。正是這些研究工作使得我們具備了多核軟件設計的經驗,掌握了其關鍵技術,認識到其中可能存在的誤區和問題,這為后續的課程建設奠定了堅實的基礎。

同時,在科研工作中我們積累了一批多核軟件的開發成果,這些成果直接為建立多核軟件設計的實踐案例提供了豐富的素材。

3.2重視案例教學和動手實踐能力的培養

如何通過多核體系結構提升軟件的性能是本課程的核心目標,這需要學生具備一定的并行算法設計能力。針對本科學生的知識水平和接收能力,本課程盡量簡化了相關的理論內容,而采用學生熟悉的串行算法的并行化過程作為教學案例。通過對這些教學案例的深入分析,使得學生能比較直觀地理解并行算法設計的基本思路和方法。

同時,本課程還充分利用已有的多核計算機系統,特別是Intel公司捐贈的4核和8核服務器,為學生提供了良好的多核軟件設計實踐環境。通過對兩個經典串行問題(優先級查找和K值算法)并行化改造過程的實踐,提高分析和解決問題的能力,以及實際動手編程的能力。

3.3結合廣東軟件產業的實際情況,設定教學內容

廣東省國內軟件產業的重要基地之一,在面向商業應用軟件開發方面具有很強的優勢,因此,本課程教學內容和實驗案例中大多以廣東省應用最為廣泛的商業計算核心并行化為主導,突出了經典的非數值計算問題,從而增強學生的學習興趣和未來解決實際問題的能力。

4總結

“多核軟件設計”是隨著多核處理器的出現而發展起來的一門新興課程,內容涉及計算機體系結構、操作系統和并行算法等多個基礎知識領域。在華南理工大學的“多核軟件設計”課程中,突出了教學實踐環節,強化學生對多核軟件設計基本技術的訓練,引導學生自主分析、設計、實現和評估多核處理器上的經典并行算法,并利用多核軟件分析工具對已有軟件進行性能分析和改進,以期增強學生利用多核處理器并行特性自主解決實際問題的能力。

多核處理器技術和相關的軟件設計技術依然是當前發展非常迅速的一個領域。在未來的教學過程中,本課程將及時汲取相關領域的最新研究成果,不斷更新教學內容,加強實踐素材,進一步提高該課程的教學質量和水平。

課程教材:

[1] Shameem Akhter, Jason Roberts著,李寶峰富弘毅李韜譯,多核程序設計技術,電子工業出版社 , 2007,ISBN 978-7-121-03871-6

課程課件和實驗案例網站:

http://www.gdsoftwarelab.cn/uploadfile/Multicore/index.htm

主站蜘蛛池模板: 午夜综合网| a天堂视频| 国产亚洲欧美在线人成aaaa | 欧美亚洲欧美| 国产主播在线一区| 四虎在线高清无码| 欧美精品啪啪一区二区三区| 中文字幕免费在线视频| 日韩天堂视频| 国产经典免费播放视频| 一本色道久久88亚洲综合| 99在线视频精品| 成人精品亚洲| 四虎国产成人免费观看| 77777亚洲午夜久久多人| 色悠久久综合| 再看日本中文字幕在线观看| 黄片一区二区三区| 久久免费精品琪琪| 丰满人妻中出白浆| 亚洲综合精品第一页| 国产91特黄特色A级毛片| 久久99国产视频| 狠狠躁天天躁夜夜躁婷婷| 91美女视频在线| 91小视频在线观看免费版高清| 九九视频免费在线观看| 国产精品午夜电影| 超碰免费91| 欧美 亚洲 日韩 国产| 国内精品久久久久鸭| 国产自无码视频在线观看| 免费一看一级毛片| 亚洲天堂成人在线观看| 97久久精品人人做人人爽| 久久伊伊香蕉综合精品| 国产九九精品视频| 久久精品亚洲专区| 亚洲视频四区| 欧美不卡二区| 亚洲综合天堂网| 欧美a在线| 国产精女同一区二区三区久| 亚洲伊人久久精品影院| 沈阳少妇高潮在线| 国产免费黄| 波多野结衣中文字幕一区二区| 国产二级毛片| 无码电影在线观看| 亚洲精品欧美重口| 中文字幕1区2区| 国产97区一区二区三区无码| 无码中字出轨中文人妻中文中| 日韩精品一区二区深田咏美| 911亚洲精品| 久久黄色免费电影| 亚洲系列中文字幕一区二区| 免费A∨中文乱码专区| 免费看一级毛片波多结衣| 欧美三级日韩三级| 精品国产自在在线在线观看| 美女内射视频WWW网站午夜 | 97久久免费视频| 亚州AV秘 一区二区三区| 国产在线观看一区精品| 18禁影院亚洲专区| AV网站中文| 欧美亚洲中文精品三区| а∨天堂一区中文字幕| 国产91视频观看| 好吊日免费视频| 伊人久久大香线蕉影院| 欧美狠狠干| 中文字幕天无码久久精品视频免费 | 在线精品亚洲一区二区古装| 日韩一区二区在线电影| 四虎成人精品在永久免费| 久久久久人妻一区精品| 亚洲欧美日韩色图| 又大又硬又爽免费视频| 欧美综合中文字幕久久| 成人在线欧美|