使用IntelThreadProfiler調(diào)整線程化代碼_第1頁
使用IntelThreadProfiler調(diào)整線程化代碼_第2頁
使用IntelThreadProfiler調(diào)整線程化代碼_第3頁
使用IntelThreadProfiler調(diào)整線程化代碼_第4頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、東南大學成賢學院計算機系東南大學成賢學院計算機系Southeast University東東 南南 大大 學學2n定義關(guān)鍵路徑分析定義關(guān)鍵路徑分析nThread Profiler視圖視圖n常見的性能問題常見的性能問題n常規(guī)優(yōu)化常規(guī)優(yōu)化Southeast University東東 南南 大大 學學3n定義定義: nIntel Thread Profiler使用下列線程化方法幫助你使用下列線程化方法幫助你分析多線程應(yīng)用程序的性能分析多線程應(yīng)用程序的性能 : Southeast University東東 南南 大大 學學4n你能用你能用Intel Thread Profiler完成下列功能完成下列功

2、能:Southeast University東東 南南 大大 學學5nIntel Thread Profiler幫助你識別下列性能問幫助你識別下列性能問題題: Southeast University東東 南南 大大 學學6n為了識別和解決性能問題,為了識別和解決性能問題,Intel Thread Profiler: Southeast University東東 南南 大大 學學7n支持的編譯器支持的編譯器Southeast University東東 南南 大大 學學8n在執(zhí)行文件中加入二進制檢測指令來采集下列數(shù)據(jù):在執(zhí)行文件中加入二進制檢測指令來采集下列數(shù)據(jù):n在下列情況下你必須使用二進制檢

3、測指令在下列情況下你必須使用二進制檢測指令:Southeast University東東 南南 大大 學學9n檢測指令的級別檢測指令的級別檢測指令級別檢測指令級別描述描述All Functions這個級別的檢測指令動態(tài)地連接這個級別的檢測指令動態(tài)地連接API,靜態(tài)地,靜態(tài)地連接連接C運行時運行時API。為了得到靜態(tài)鏈接。為了得到靜態(tài)鏈接C運行時運行時API的符號信號,要創(chuàng)建調(diào)試信號。的符號信號,要創(chuàng)建調(diào)試信號。API Imports (default)這個級別的檢測指令動態(tài)地連接這個級別的檢測指令動態(tài)地連接API。這是一。這是一個推薦的設(shè)置。它比個推薦的設(shè)置。它比All Functions設(shè)置

4、要花費設(shè)置要花費更少的時間。更少的時間。Module Imports這個級別不在這個級別不在API中插入檢測指令。如果另外中插入檢測指令。如果另外兩個級別失敗,你能用這個級別。如果你不希兩個級別失敗,你能用這個級別。如果你不希望分析這個模塊或者如果檢測指令在其他級別望分析這個模塊或者如果檢測指令在其他級別失敗,就可以用這個級別。失敗,就可以用這個級別。Southeast University東東 南南 大大 學學10nIntel Thread Profiler特性特性nThread Profiler視圖視圖n常見的性能問題常見的性能問題n常規(guī)優(yōu)化常規(guī)優(yōu)化Southeast University

5、東東 南南 大大 學學11n多線程應(yīng)用包含多個多線程應(yīng)用包含多個nIntel Thread Profiler為為Windows線程定義一個線程定義一個執(zhí)行流為執(zhí)行流為 n一個執(zhí)行流一個執(zhí)行流: Southeast University東東 南南 大大 學學12n關(guān)鍵路徑關(guān)鍵路徑多線程應(yīng)用程序中三個線程的執(zhí)行流多線程應(yīng)用程序中三個線程的執(zhí)行流Thread 2Thread 3T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15Acquire LThreads 2 & 3 DoneAcquire LWait for Threads 2 & 3Release L

6、Acquire lock LWait for LRelease LWait for LThread 2 terminatesThread 3 terminatesThread 1 terminatesThread 1Southeast University東東 南南 大大 學學13n關(guān)鍵路徑分析關(guān)鍵路徑分析Southeast University東東 南南 大大 學學14n關(guān)鍵路徑分析關(guān)鍵路徑分析Southeast University東東 南南 大大 學學15n系統(tǒng)使用系統(tǒng)使用Southeast University東東 南南 大大 學學16nIntel Thread Profiler fo

7、r Windows 線程定義的線程定義的5種并發(fā)級種并發(fā)級別的類型別的類型:Idle: 不活躍的線程不活躍的線程Serial: 單獨活躍的一個線程單獨活躍的一個線程Under Utilized: 多個線程,但少于核數(shù)多個線程,但少于核數(shù)Fully Utilized : # 線程數(shù)線程數(shù) = # 核數(shù)核數(shù)Over Utilized : # 線程數(shù)線程數(shù) # 核數(shù)核數(shù)Thread 1Thread 2Thread 3T0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15Acquire lock LWait for Threads 2 & 3Wait for LRelea

8、se LWait for LRelease LAcquire LAcquire LThreads 2 & 3DoneIdleSerialFully UtilizedUnder UtilizedOver UtilizedConcurrency Level015510TimeSoutheast University東東 南南 大大 學學17nIntel Thread Profiler沿著關(guān)鍵路徑分類線程的配合到下面沿著關(guān)鍵路徑分類線程的配合到下面的類別的類別: Cruise Time: 沒有在關(guān)鍵路徑上受干擾的線程執(zhí)行時間沒有在關(guān)鍵路徑上受干擾的線程執(zhí)行時間Overhead Time :

9、從一個線程轉(zhuǎn)到下一個線程的在關(guān)鍵路徑上的延遲從一個線程轉(zhuǎn)到下一個線程的在關(guān)鍵路徑上的延遲 Blocking Time:在關(guān)鍵路徑上的當前線程花費在等外部事件上的時間在關(guān)鍵路徑上的當前線程花費在等外部事件上的時間Impact Time: 關(guān)鍵路徑上的當前線程通過維持一些同步的資源讓下一個線程在關(guān)鍵路徑上的當前線程通過維持一些同步的資源讓下一個線程在 關(guān)鍵路徑上的延遲時間關(guān)鍵路徑上的延遲時間Cruise timeOverheadBlocking timeImpact timeThread Interaction015510TimeThread 1Thread 2Thread 3T0T1T2T3T4

10、T5T6T7T8T9T10T11T12T13T14T15Acquire lock LWait for Threads 2 & 3Wait for LRelease LWait for LRelease LAcquire LAcquire LThreads 2 & 3 DoneSoutheast University東東 南南 大大 學學18n合并并發(fā)和行為合并并發(fā)和行為以系統(tǒng)應(yīng)用開始以系統(tǒng)應(yīng)用開始進一步的行為分類進一步的行為分類Concurrency Level Critical Path Thread Interaction015510TimeSoutheast Univer

11、sity東東 南南 大大 學學19nIntel Thread Profiler顏色圖例顏色圖例BehaviorProcessor UtilizationBadGoodOver UtilizedIdle0Serialn = 1Under(n p)ImpactBlockingCritical PathOverheadSoutheast University東東 南南 大大 學學20nIntel Thread Profiler特性特性n定義關(guān)鍵路徑分析定義關(guān)鍵路徑分析n常見的性能問題常見的性能問題n常規(guī)優(yōu)化常規(guī)優(yōu)化Southeast University東東 南南 大大 學學21n關(guān)鍵路徑視圖關(guān)鍵路

12、徑視圖nProfile視圖視圖n時間軸視圖時間軸視圖n源碼視圖源碼視圖n概要視圖概要視圖Southeast University東東 南南 大大 學學22n活動活動1ASoutheast University東東 南南 大大 學學23nProfile視圖視圖Profile PaneTimeline PaneSoutheast University東東 南南 大大 學學24nProfile視圖視圖 并發(fā)級視圖并發(fā)級視圖并發(fā)級視圖65%的時間運行單個線程讓我們看看線程視窗33%的時間兩個線程在運行Southeast University東東 南南 大大 學學25nProfile視圖視圖 Threa

13、ds視圖視圖在關(guān)鍵路徑上的時間線程的活動時間線程的生命周期Southeast University東東 南南 大大 學學26nProfile視圖視圖 對象視圖對象視圖這個對象引起的影響讓我們看看時間軸視圖Southeast University東東 南南 大大 學學27n時間軸視圖時間軸視圖Southeast University東東 南南 大大 學學28n源碼視圖源碼視圖Southeast University東東 南南 大大 學學29n活動活動1bSoutheast University東東 南南 大大 學學30nIntel Thread Profiler特性特性n定義關(guān)鍵路徑分析定義關(guān)鍵

14、路徑分析nThread Profiler視圖視圖n常規(guī)優(yōu)化常規(guī)優(yōu)化Southeast University東東 南南 大大 學學31n負載不均衡負載不均衡n同步同步n并行開銷并行開銷n粒度粒度Southeast University東東 南南 大大 學學32n負載不均衡負載不均衡 忙忙 閑閑時間時間Thread 0Thread 1Thread 2Thread 3Start threadsJoin threadsSoutheast University東東 南南 大大 學學33n將工作再分布到線程將工作再分布到線程Southeast University東東 南南 大大 學學34n將工作再分布到

15、線程將工作再分布到線程Southeast University東東 南南 大大 學學35n不均衡的工作負載不均衡的工作負載Southeast University東東 南南 大大 學學36n活動活動2-尋找負載不均衡問題尋找負載不均衡問題Southeast University東東 南南 大大 學學37n同步同步 忙忙 空閑空閑 在臨界區(qū)在臨界區(qū)時間時間Southeast University東東 南南 大大 學學38n同步的調(diào)整同步的調(diào)整 用本地變量存放部分結(jié)果,本地計算介紹后再修改用本地變量存放部分結(jié)果,本地計算介紹后再修改全局變量全局變量 在線程棧中分配空間在線程棧中分配空間(alloc

16、a) 使用線程本體存儲使用線程本體存儲(TlsAlloc) 一些全局數(shù)據(jù)的修改可以用原子操作一些全局數(shù)據(jù)的修改可以用原子操作(Interlocked API family)Southeast University東東 南南 大大 學學39n同步調(diào)整同步調(diào)整Southeast University東東 南南 大大 學學40n同步的調(diào)整同步的調(diào)整Southeast University東東 南南 大大 學學41n同步的調(diào)整同步的調(diào)整 本地對象本地對象 在同一進程中的可用線程在同一進程中的可用線程 較低的開銷較低的開銷(比比mutex(互斥)快(互斥)快8倍倍) 內(nèi)核對象內(nèi)核對象 不同進程中的可訪問線程不同進程中的可訪問線程 死鎖安全的死鎖安全的(只能被擁有者釋放只能被擁有者釋放)Southeast University東東 南南 大大 學學42n對象競爭對象競爭Southeast University東東 南南 大大 學學43n活動活動3Southeast University東東 南南 大大 學學44n活動活動3Southeast University東東 南南 大大 學學45n并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論