




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1,并行計算與多核程序設計研討課 多核多線程,陳天洲,施青松,胡威 tzchen, zjsqs, 2009年12月16日,玉泉校區(qū)曹西101,2,多線程討論話題1,多核多處理器服務器上的線程,運行機制是怎么樣的,3,多處理器 每個處理器是多核 塔式服務器 機架式服務器(1U-4U) 刀片服務器 blade server 主要結構為: 一大型主體機箱,內部可插上許多 “刀片”,每一塊刀片上就是一塊系統母板 類似于多個獨立的服務器,可以通過本地硬盤啟動自己的操作系統 每一塊刀片可以運行自己的系統,服務于指定的不同用戶群,相互之間沒有關聯 可以用系統軟件將這些主板集合成一個服務器集群,成為集群模式
2、所有的刀片可以連接起來提供高速的網絡環(huán)境,共享資源,為相同的用戶群服務 在集群中插入新的刀片,就可以提高整體性能 熱插拔 刀片服務器分類 服務器刀片、網絡刀片、存儲刀片、管理刀片、光纖通道SAN刀片、擴展I/O刀片等等 特點 克服了芯片服務器集群的缺點 實現了機柜優(yōu)化,4,任務分別適合怎么樣的多核多處理器? 單進程單線程 多進程單線程 單進程多線程 多進程多線程 哪種任務會更優(yōu)?,5,多線程討論話題2,L2cache共享與否,與程序設計的哪些部分有關系,6,緩存的功能 本身核心上線程訪問變量是否hit 其他核心上線程訪問變量能否hit 緩存大小 緩存共享機制,7,共享級別 共享L1的多核,少見
3、 處理器核心可以L2共享,也可以L2獨享 處理器核心可以L3共享 AMD 4核處理器Barcelona一個4核共享的2MB的三級 Cache Magny-Cours皓龍?zhí)幚砥鲀蓚€6核拼接,12MB L3 Intel 六核心Dunnington Xeon 7400三級緩存12/16MB 八核心Nehalem-EX Xeon服務器處理器 每個處理器核支持兩路同時多線程,8處理器共享24MB三級緩存 IBM power6的L2私有化 4MB P5是共享的,8,UMA CPU訪問任何地址所需要的時間都是相同的,這種內存就叫UMA NUMA 非一致訪問分布共享存儲技術non-uniform memory
4、 architecture 是在多處理系統中配置微處理器的簇的方法 例如 簇一般由四個微處理器(例如四個奔騰微處理器)組成,這四個微處理器通過一條局域總線(例如外圍組件互聯總線)與一個單獨主板(也可能是一個卡)上的共享內存(就是L3緩存)連接 單獨的處理器內存看起來就像一個內存 訪存順序 首先察看本身的L1緩存 然后是附近的稍微大些的L1 然后是L2緩存芯片 再然后是NUMA結構在尋找數據之前提供的L3緩存 位于另一個微處理器附近的遠程內存“,9,多路Nehalem會形成一個ccNUMA架構 ccNUMA:cache coherent Non-Uniform Memory Access 多個N
5、ehalem處理器之間使用MESIF協議來保持緩存一致性,10,多線程討論話題3,線程遷移,軟親和與硬親和,對多核程序有何優(yōu)劣,11,線程遷移 線程從一個 CPU 移動到另一個上的過程稱作遷移 目的是負載平衡、任務并行 親和的作用 程序員操控處理器核心 線程的節(jié)點親和性(Node affinity) 盡量在線程的本地內存上為其進行分配, 并盡量讓線程保持在該節(jié)點上 常見于NUMA中強調低延遲訪問時候 緩存親和性(Cache Affinity) 讓數據盡量長時間的保留在某一個CPU的緩存中,而不是來回在多個CPU的緩存里換來換去 編程如何實現這幾個親和性?,12,多線程討論話題4,線程這個級別并
6、發(fā),是否可更細致,13,硬件線程,Intel的HT技術 SUN的SMT技術 AMD Bulldozer技術 單核多線程技術(multi-threadingtechnology) 2011年推出Bulldozer“推土機”技術,增加Bulldozer器件 雙核成本增加75%,雙核的性能提高90% SSE 5,14,15,并發(fā)級別,指令級(Instruction level)并發(fā) 一條單指令中的多個部分被同時執(zhí)行時,便產生了指令級的并發(fā) 匯編加速 流水線、微融合、宏融合 例程級(Routine level)并發(fā) 對象級(Object level)并發(fā) corba 應用程序級(Application
7、 level) WBS,16,虛擬化 計算元件在虛擬的基礎上而不是真實的基礎上運行 可以擴大硬件的容量,簡化軟件的重新配置過程 CPU虛擬化技術 可以單CPU模擬多CPU并行 允許一個平臺同時運行多個操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響 軟件虛擬化 硬件虛擬化,17,事務內存,來自于數據庫事務的概念 無鎖編程(Lockless programming) 使用原子操作(Atomic Operations)和同步路障(Memory barrier)來完成線程間同步的功能 事務內存是數據的集合 通常存放在主存中,應用于程序設計 可以通過事務來訪問事務內存(內存事務) 事務內存
8、系統負責正確執(zhí)行事務 程序員只需將對事務內存的操作封裝為事務,無需考慮復雜的事務同步問題,18,事務內存分為兩類 延遲更新(deferred-update) 一個線程對僅對對象的一個副本進行改變,如果此次執(zhí)行不與其他線程發(fā)生同步沖突,則此事務成功并執(zhí)行提交(Commit)動作,如果失敗則執(zhí)行回滾(Abort 或 Rollback)動作。 直接更新 (direct-update) 直接更新則是直接對對象進行更新,并使用顯式的同步語句避免其他事物在進行更新的時候修改此對象。顯然在直接更新時需要系統記錄此對象的原始值,以便在回滾時可以恢復 兩種實現方式 基于軟件的STM(Software Trans
9、actional Memory)1993 基于硬件的HTM(Hardware Transacational Memory)1995,19,多線程討論話題5,幾種線程同步機制分別適用于哪些場合,20,共享變量 條件變量 RW鎖 Mutex Mutex是一個核心對象,可以在不同的線程之間實現“排他性占有”,甚至幾十那些現成分屬不同進程 它是: 一個核心對象。 如果擁有mutex的那個線程結束,則會產生一個“abandoned”錯誤信息。 可以使用Wait()等待一個mutex。 可以具名,因此可以被其他進程開啟。 只能被擁有它的那個線程釋放(released),21,Semaphore Semap
10、hore被用來追蹤有限的資源。 它是: 一個核心對象。 沒有擁有者。 可以具名,因此可以被其他進程開啟。 可以被任何一個線程釋放(released)。 事件 Event object通常使用于overlapped I/O,或用來設計某些自定義的同步對象。 它是: 一個核心對象。 完全在程序掌控之下。 適用于設計新的同步對象。 “要求蘇醒”的請求并不會被儲存起來,可能會遺失掉。 可以具名,因此可以被其他進程開啟。 臨界區(qū) 適用范圍是單一進程的各線程之間。 它是: 一個局部性對象,不是一個核心對象。 快速而有效率。 不能夠同時有一個以上的critical section被等待。 無法偵測是否已被某個線程放棄。,22,多線程討論話題5,多線程運行時,如何優(yōu)化內存管理產生的失效,23,什么時候訪存失效? Cache miss Page fault 算法設計可以優(yōu)化cache Stack設計可以優(yōu)化page 內存在哪里 Stack int i; Heap new,malloc 預取機制,24,多線程討論話題7,線程之間通訊機制有哪些,優(yōu)劣如何,25,全局變量 事件 消息 硬件是如何實現的?,26,多線程討論話題8,線程異常終止方法,27,主執(zhí)行線程終
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園安全診斷與整治行動
- 小學生遠離手機健康成長指南
- 學會溝通心理健康課課件
- 我勇敢了健康繪本
- 復工工人月度教育體系構建
- 消化道疑難病例討論
- 設計定位品牌分析
- 2025年計量標準器具:化學計量標準器具項目立項申請報告模板
- 【承德】2025年河北承德市直事業(yè)單位引進碩士研究生以上高層次人才20人筆試歷年典型考題及考點剖析附帶答案詳解
- 單韻母趣味教學課件
- 《康復治療學專業(yè)畢業(yè)實習》教學大綱
- 北師大版7年級數學下冊期末真題專項練習 03 計算題(含答案)
- 職業(yè)衛(wèi)生管理制度和操作規(guī)程標準版
- 小學信息技術四年級下冊教案(全冊)
- 河道保潔船管理制度
- 【增程式電動拖拉機驅動系統總體設計方案計算1900字】
- 2025年重慶市中考物理試卷真題(含標準答案)
- 2025至2030中國云計算行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 黨課課件含講稿:《關于加強黨的作風建設論述摘編》輔導報告
- GB/T 19023-2025質量管理體系成文信息指南
- 語文(西藏卷)-2025年中考考前預測卷(全解全析)
評論
0/150
提交評論