隨著多核處理器在PC機上的普及,PC機上的計算方式也要 “改朝換代”了,串行計算將步入歷史,而并行計算時代則逐漸走向主流。并行計算對我們的應用有什么變化呢?實現并行計算的最大障礙是什么呢?
并行時代到來
在單核處理器時代的初期,程序是以獨占CPU的方式串行執行。隨后,操作系統由DOS 到Windows 的變革,單核處理器在PC機上程序的執行有了里程碑式的進步,操作系統的并發調度和CPU的分時執行讓程序執行由串行方式變為并發方式(concurrent),CPU的利用率得到了有效的提升。
為了讓大家更容易理解串行和并行的概念,這里舉個形象的例子。如果有一座跨河的橋,它只有一個車道,由于承重的問題一次只允許一輛車通行,這樣任何需要過河的車輛都要排隊等候一輛一輛逐個通過。如果我們多建幾座橋梁或者建的新橋有多個車道同時有更大的承重能力,這樣多輛汽車就可以并行通過橋梁,通行效率就大為提高了�,F在清楚了串行和并行效率上的差別了吧!
多核處理器則進一步讓并發執行的多個程序以更高效的并行方式執行(parallel),也可以讓一個程序中多個并發執行的線程以并行的方式執行。程序的執行效率有了本質的提升。如果配合虛擬化技術的實現,在不久的將來多個操作系統同時在一臺PC機上并行運行也會變得”稀松平常”,毫不稀奇,就像我們今天在Windows 里面可以自由在多個正在運行的程序之間來回切換一樣,我們可以在多個操作系統之間自由切換。
越來越多用戶的PC系統都具備了雙核,甚至四核的處理器,隨著處理器核數的增加,程序的并行執行度可以更高,但是目前不少用戶覺得多核沒有帶來很明顯的性能提升,這是為什么呢?這是因為現在針對多核開發和優化的應用程序還比較少。其中的主要原因之一就是開發并行執行程序的難度非常大,程序員面臨的巨大挑戰就是如何把需要執行的任務并行化。
然而,編寫并行度超過4路以上的高效率程序,沒有經過系統的專業學習和長期并行編程的實踐經驗,編寫的程序就很難充分利用多核處理器帶來的并行計算優勢。即使是并行編程經驗豐富的程序員在編寫并行度較高的程序時的效率,相比他/她編寫并行度低的程序時的效率要低得多。
多核處理器在PC機上的普及和推廣,英特爾無疑是領頭人。如果只是硬件就緒,而可以充分利用多核優勢的應用程序寥寥可數,那么PC機并行計算時代的到來只是一句空話。
如何加快并行程序設計的速度同時確保程序并行度達到高效率呢?主要方法就是:1. 把程序員編程時需要調用的標準函數庫進行重新的并行設計和優化,例如,標準的數學函數庫,多媒體函數庫等等。 2. 并行優化的編譯器,調試工具,優化工具等等。
英特爾高效程序開發工具
在這些方面,英特爾一直在不懈的努力,而且成果在業界也是有目共睹。為了讓軟件開發人員可以最高效率的設計程序和對程序進行優化,英特爾之前開發了高性能程序設計的套件: Intel? Compilers —— 英特爾? 編譯器,如:Intel C++ 和 Fortran 編譯器 11.0 - 英特爾? 集成性能原件 6.0 (Intel? Integrated Performance Primitives 6.0) - 英特爾? 線程構建模塊 2.1 (Intel? Threading Building Blocks 2.1)
Intel? Libraries —— 英特爾? 函數庫 - 英特爾? 數學內核函數庫10.1 (Intel Math Kernel Library 10.1) - Intel? MPI Library 3.2,性能庫
Intel? VTune? Performance Analyzer ——英特爾? VTune? 性能分析器 - Intel? Thread Profiler For Windows (用于Windows 環境的 英特爾? 線程剖析器)
Intel? Cluster Tools —— 英特爾? 集群工具 - 英特爾? 跟蹤分析器和跟蹤采集器7.2帶有 MPI正確性檢查器(Intel? Trace Analyzer and Collector 7.2 with MPI correctness checker) - 英特爾? MPI 性能指標評測 3.2 (Intel? MPI Benchmarks 3.2) 它們用于Windows 平臺和Linux平臺的軟件開發。
Intel? Parallel Studio —— 英特爾? 并行程序開發套件
為了提高并行程序設計的效率,英特爾公司最近還推出了令人激動的并行程序開發套件——Intel? Parallel Studio,它是用于Windows 用戶端的并行程序開發包。這套件有三個主要部分組成: - Intel? Parallel Composer(英特爾? 并行設計程序): 用于并行程序編碼 & 調試,利用C/C++編譯器和全面的線程庫開發高效的并行應用程序。 - Intel? Parallel Inspector(英特爾? 并行檢驗程序):檢測并行存儲與線程錯誤,以確保應用程序的可靠性。通過快速的代碼解析,更快地發現和定位線程錯誤。 - Intel? Parallel Amplifier(英特爾? 并行調優程序):采用直觀的性能分析工具和優化工具,快速找到并行執行的瓶頸,對程序的并行性進行優化。
上述工具可以讓多線程并行編程更加高效簡便,使程序在多核系統上得到了性能的飛躍,達到高能效的最終結果。
為了讓中國的編程高手和愛好者熟悉并行編程和這些并行編程工具的使用,由清華大學和863高性能計算機評測中心共同主辦, 英特爾中國協辦的 2009 “英特爾杯” 全國計算機多核程序設計大賽已經開賽了。主要面向在校學生、軟件工程師、以及廣大的計算機愛好者。此次競賽的主要目的,是推動國內的學生和軟件工程師使用英特爾公司最新的 Parallel Studio 軟件開發套件來簡化多線程編程,提升在多核平臺上并行程序設計與優化的能力。(編輯:王小凡)
進入論壇>>聲明:IT商業新聞網登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。文章內容僅供參考。新聞咨詢:(010)68023640.推薦閱讀
5月5日,Windows7RC面向公眾開放下載。微軟臺灣公司在當日的演示會上稱,Windows7的普及率將高于WindowsVista。 5月7日消息,據中國臺灣媒體報道,來自微軟臺灣公司的消息稱,Windows 7普及率將高于Windows Vista。 >>>詳細閱讀
本文標題:英特爾計算方式也要 “改朝換代”了
地址:http://www.oumuer.cn/a/xie/20111230/204177.html