天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 英文數(shù)據(jù)庫 >

多核編程arm_pub網(wǎng)上書店

發(fā)布時間:2016-12-08 15:43

  本文關(guān)鍵詞:多核應(yīng)用編程實戰(zhàn),由筆耕文化傳播整理發(fā)布。


多核應(yīng)用編程實戰(zhàn)

基本信息

原書名:Multicore application programming:for windows,linux,and Oracle Solaris

作者: (美)戈夫(Darryl Gove)   

譯者: 郭晴霞

叢書名: 圖靈程序設(shè)計叢書

出版社:人民郵電出版社

ISBN:9787115317506

上架時間:2013-5-22

出版日期:2013 年5月

開本:16開

頁碼:1

版次:1-1

所屬分類:計算機(jī)

多核編程arm_pub網(wǎng)上書店


更多關(guān)于 》》》《多核應(yīng)用編程實戰(zhàn)

內(nèi)容簡介

    計算機(jī)書籍

  《多核應(yīng)用編程實戰(zhàn)》是一本全面實用的多核應(yīng)用編程指南,,旨在介紹如何編寫功能正確、性能優(yōu)越且適合擴(kuò)展為在多個cpu核心的系統(tǒng)運(yùn)行的應(yīng)用程序。本書面向多種操作系統(tǒng)和處理器類型引用程序示例,內(nèi)容涵蓋類unix 操作系統(tǒng)(linux、oracle solaris、os x)和windows 系統(tǒng)上多核應(yīng)用的編寫方法、多核的硬件實現(xiàn)對應(yīng)用程序的性能影響、編寫并行應(yīng)用程序時要避免的潛在問題,以及如何編寫可擴(kuò)展至大量并行線程的應(yīng)用程序。

   《多核應(yīng)用編程實戰(zhàn)》適合所有c程序員學(xué)習(xí)參考。

   面向主流平臺打造多核應(yīng)用程序,真正實現(xiàn)高性能與高可擴(kuò)展性并舉。

   《多核應(yīng)用編程實戰(zhàn)》是一本全面、實用的高性能多核應(yīng)用編程指南,不僅介紹了在windows、linux和oracle solaris上實現(xiàn)并行化的前沿方法,而且通過示例闡述了面向多核處理器編程時所涉及的各種挑戰(zhàn),指導(dǎo)讀者開發(fā)功能正確、性能優(yōu)越,且可擴(kuò)展為在8個、16個甚至更多cpu核心的系統(tǒng)運(yùn)行的應(yīng)用程序。通讀本書,你將了解具體硬件實現(xiàn)對應(yīng)用程序性能的影響,了解如何避免常見問題,一步步學(xué)會編寫可處理大量并行線程的應(yīng)用程序,并掌握高級并行化技術(shù)。

   《多核應(yīng)用編程實戰(zhàn)》并不局限于一種方式或平臺。有了它,每一位使用現(xiàn)代多核處理器的c程序員都能在任意前沿操作系統(tǒng)環(huán)境中游刃有余!

   《多核應(yīng)用編程實戰(zhàn)》內(nèi)容

   在最佳時機(jī)采用并行化技術(shù)

   在多線程間安全共享數(shù)據(jù)

   用posix或windows線程編寫應(yīng)用程序 

   用自定義代碼實現(xiàn)同步和共享

   充分利用自動并行化和openmp

   克服限制擴(kuò)展性的常見障礙

   用新的方法編寫正確、快速、可擴(kuò)展的并行代碼 

目錄

多核應(yīng)用編程實戰(zhàn)》 

第1章 硬件、進(jìn)程和線程  1 

1.1  計算機(jī)的內(nèi)部結(jié)構(gòu)  1 

1.2  多核處理器的緣起  3 

1.2.1  在單芯片上支持多線程  4 

1.2.2  通過處理器核心流水線作業(yè)提高指令發(fā)出率  8 

1.2.3  使用緩存保存最近使用的數(shù)據(jù)  10 

1.2.4  用虛擬內(nèi)存存儲數(shù)據(jù)  12 

1.2.5  從虛擬地址轉(zhuǎn)換到物理地址  13 

1.3  多處理器系統(tǒng)的特征  14 

1.4  源代碼到匯編語言的轉(zhuǎn)換  16 

1.4.1  32位與64位代碼的性能  18 

1.4.2  確保內(nèi)存操作的正確順序  19 

1.4.3  進(jìn)程和線程的差異  21 

1.5  小結(jié)  23 

第2章 高性能編碼  24 

2.1  定義性能  24 

2.2  了解算法復(fù)雜度  25 

2.2.1  算法復(fù)雜度的示例  26 

2.2.2  算法復(fù)雜度的重要性  28 

.2.2.3  謹(jǐn)慎運(yùn)用算法復(fù)雜度  30 

2.3  結(jié)構(gòu)如何影響性能  30 

2.3.1  在源代碼和生成結(jié)構(gòu)上權(quán)衡性能和便利性  30 

2.3.2  利用庫結(jié)構(gòu)化應(yīng)用程序  33 

2.3.3  數(shù)據(jù)結(jié)構(gòu)對性能的影響  42 

2.4  編譯器的作用  47 

2.4.1  兩種編譯器優(yōu)化  48 

2.4.2  選擇合適的編譯器選項  50 

2.4.3  如何用跨文件優(yōu)化提高性能  51 

2.4.4  使用配置文件反饋  53 

2.4.5  潛在的指針別名會如何抑制編譯器優(yōu)化  55 

2.5  通過分析確定占用時間的地方  58 

2.6  怎樣避免手動優(yōu)化  64 

2.7  從設(shè)計角度看性能  64 

2.8  小結(jié)  65 

第3章 識別并行機(jī)會  66 

3.1  使用多進(jìn)程提高系統(tǒng)工作效率  66 

3.2  多用戶使用一個系統(tǒng)  67 

3.3  通過整合提高機(jī)器工作效率  68 

3.3.1  用容器隔離共享一個系統(tǒng)的應(yīng)用程序  69 

3.3.2  使用虛擬機(jī)監(jiān)控程序托管多個操作系統(tǒng)  69 

3.4  采用并行機(jī)制提高單個任務(wù)的性能  71 

3.4.1  理解并行應(yīng)用程序  72 

3.4.2  并行如何影響算法的選擇  72 

3.4.3  amdahl定律  73 

3.4.4  確定最大實際線程數(shù)  75 

3.4.5  同步成本怎樣降低擴(kuò)展性  76 

3.5  并行模式  78 

3.5.1  使用simd指令的數(shù)據(jù)并行  78 

3.5.2  通過進(jìn)程或線程實現(xiàn)并行化  79 

3.5.3  多個獨(dú)立任務(wù)  79 

3.5.4  多個松散耦合的任務(wù)  80 

3.5.5  相同任務(wù)的多個副本  81 

3.5.6  單個任務(wù)拆分到多個線程  82 

3.5.7  使用流水線任務(wù)完成某個事項  82 

3.5.8  將工作分配給客戶端和服務(wù)器  83 

3.5.9  將責(zé)任劃分給生產(chǎn)者和消費(fèi)者  84 

3.5.10  結(jié)合多種并行化策略  85 

3.6  依賴關(guān)系對并行運(yùn)行代碼能力的影響  85 

3.6.1  反依賴和輸出依賴  86 

3.6.2  通過推測打破依賴  88 

3.6.3  關(guān)鍵路徑  91 

3.7  發(fā)現(xiàn)并行機(jī)會  92 

3.8  小結(jié)  93 

第4章 同步和數(shù)據(jù)共享  94 

4.1  數(shù)據(jù)爭用  94 

4.1.1  使用工具檢測數(shù)據(jù)爭用  95 

4.1.2  避免數(shù)據(jù)爭用  98 

4.2  同步原語  98 

4.2.1  互斥量和臨界區(qū)  98 

4.2.2  自旋鎖  99 

4.2.3  信號量  100 

4.2.4  讀寫鎖  100 

4.2.5  屏障  101 

4.2.6  原子操作和無鎖代碼  102 

4.3  死鎖和活鎖  103 

4.4  線程和進(jìn)程間的通信  104 

4.4.1  內(nèi)存、共享內(nèi)存和內(nèi)存映射文件  104 

4.4.2  條件變量  105 

4.4.3  信號和事件  107 

4.4.4  消息隊列  108 

4.4.5  命名管道  108 

4.4.6  通過網(wǎng)絡(luò)棧進(jìn)行通信  109 

4.4.7  線程之間共享數(shù)據(jù)的其他方法  110 

4.5  存儲線程私有數(shù)據(jù)  110 

4.6  小結(jié)  112 

第5章 使用posix線程  113 

5.1  創(chuàng)建線程  113 

5.1.1  線程終止  114 

5.1.2  用子線程接收和傳遞數(shù)據(jù)  115 

5.1.3  分離線程  116 

5.1.4  設(shè)置pthread的屬性  117 

5.2  編譯多線程代碼  119 

5.3  進(jìn)程終止  121 

5.4  線程之間共享數(shù)據(jù)  122 

5.4.1  使用互斥鎖保護(hù)訪問  122 

5.4.2  互斥鎖屬性  124 

5.4.3  使用自旋鎖  125 

5.4.4  讀寫鎖  127 

5.4.5  屏障  129 

5.4.6  信號量  130 

5.4.7  條件變量  136 

5.5  變量和內(nèi)存  140 

5.6  多進(jìn)程編程  143 

5.6.1  在進(jìn)程之間共享內(nèi)存  144 

5.6.2  在進(jìn)程之間共享信號量  147 

5.6.3  消息隊列  147 

5.6.4  管道和命名管道  150 

5.6.5  使用信號與進(jìn)程通信  151 

5.7  套接字  156 

5.8  可重入代碼和編譯器標(biāo)志  158 

5.9  小結(jié)  160 

第6章 windows線程  161 

6.1  創(chuàng)建windows本機(jī)線程  161 

6.1.1  終止線程  165 

6.1.2  創(chuàng)建和重新啟動掛起的線程  167 

6.1.3  使用內(nèi)核資源的句柄  168 

6.2  同步和資源共享的方式  168 

6.2.1  線程間需要同步的一個例子  169 

6.2.2  保護(hù)對臨界區(qū)代碼的訪問  170 

6.2.3  用互斥量保護(hù)代碼段  172 

6.2.4  輕量級讀寫鎖  173 

6.2.5  信號量  175 

6.2.6  條件變量  177 

6.2.7  向其他線程或進(jìn)程發(fā)出事件完成的信號  178 

6.3  windows中的寬字符串處理  179 

6.4  創(chuàng)建進(jìn)程  180 

6.4.1  在進(jìn)程之間共享內(nèi)存  182 

6.4.2  在子進(jìn)程中繼承句柄  185 

6.4.3  互斥量命名及其在進(jìn)程間的共享  186 

6.4.4  用管道通信  187 

6.4.5  用套接字進(jìn)行通信  190 

6.5  變量的原子更新  193 

6.6  分配線程本地存儲  195 

6.7  設(shè)置線程的優(yōu)先級  197 

6.8  小結(jié)  198 

第7章 自動并行化和openmp  199 

7.1  使用自動并行化產(chǎn)生并行代碼  199 

7.1.1  識別和并行約簡  203 

7.1.2  對包含調(diào)用的代碼進(jìn)行自動并行化  204 

7.1.3  協(xié)助編譯器實現(xiàn)代碼的自動并行化  206 

7.2  使用openmp生成并行應(yīng)用程序  208 

7.2.1  使用openmp并行化循環(huán)  209 

7.2.2  openmp應(yīng)用程序的運(yùn)行時行為  210 

7.2.3  openmp并行區(qū)域中的變量作用域  210 

7.2.4  使用openmp并行化約簡  212 

7.2.5  在并行區(qū)域外訪問私有數(shù)據(jù)  212 

7.2.6  使用調(diào)度改進(jìn)工作分配  214 

7.2.7  用并行段完成獨(dú)立工作  217 

7.2.8  嵌套并行  218 

7.2.9  使用openmp動態(tài)定義并行任務(wù)  219 

7.2.10  保持?jǐn)?shù)據(jù)對線程私有  223 

7.2.11  控制openmp運(yùn)行時環(huán)境  225 

7.2.12  等待工作完成  227 

7.2.13  限制執(zhí)行代碼區(qū)域的線程  229 

7.3  確保并行區(qū)域的代碼按順序執(zhí)行  232 

7.4  折疊循環(huán)改進(jìn)工作負(fù)荷均衡  233 

7.5  強(qiáng)制實現(xiàn)內(nèi)存一致性  234 

7.6  并行化示例  235 

7.7  小結(jié)  239 

第8章 手工編碼的同步和共享  240 

8.1  原子操作  240 

8.1.1  用比較和交換指令構(gòu)成更復(fù)雜的原子操作  242 

8.1.2  強(qiáng)制實現(xiàn)內(nèi)存排序以確保正確操作  245 

8.1.3  編譯器對內(nèi)存排序指令的支持  247 

8.1.4  編譯器對操作的重新排序  247 

8.1.5  易失變量  251 

8.2  操作系統(tǒng)提供的原子操作  251 

8.3  無鎖算法  254 

8.3.1  dekker算法  254 

8.3.2  帶循環(huán)緩存的生產(chǎn)者/消費(fèi)者  256 

8.3.3  擴(kuò)展到多個消費(fèi)者或生產(chǎn)者  259 

8.3.4  將生產(chǎn)者/消費(fèi)者擴(kuò)展到多個線程  260 

8.3.5  更改生產(chǎn)者/消費(fèi)者代碼為使用原子操作  266 

8.3.6  aba問題  268 

8.4  小結(jié)  271 

第9章 基于多核處理器的擴(kuò)展  272 

9.1  對應(yīng)用程序擴(kuò)展的限制  272 

9.1.1  串行代碼對性能的限制  272 

9.1.2  超線性擴(kuò)展  275 

9.1.3  工作負(fù)荷不均衡  276 

9.1.4  熱鎖  277 

9.1.5  庫代碼擴(kuò)展  282 

9.1.6  工作量不足  284 

9.1.7  算法限制  286 

9.2  擴(kuò)展的硬件限制  288 

9.2.1  核心之間的帶寬共享  288 

9.2.2  偽共享  290 

9.2.3  緩存沖突和容量  293 

9.2.4  流水線資源匱乏  297 

9.3  操作系統(tǒng)對擴(kuò)展性的限制  301 

9.3.1  過度訂閱  301 

9.3.2  使用處理器綁定改善內(nèi)存局部性  303 

9.3.3  優(yōu)先級反轉(zhuǎn)  310 

9.4  多核處理器和擴(kuò)展  310 

9.5  小結(jié)  311 

第10章 其他并行技術(shù)  312 

10.1  基于gpu的運(yùn)算  312 

10.2  語言擴(kuò)展  314 

10.2.1  線程構(gòu)建模塊  314 

10.2.2  cilk++  317 

10.2.3  grand central dispatch  320 

10.2.4  為未來c和c++標(biāo)準(zhǔn)提議的可能功能  321 

10.2.5  微軟的c++/cli  324 

10.3  其他語言  325 

10.4  集群技術(shù)  327 

10.4.1  mpi  328 

10.4.2  以mapreduce作為擴(kuò)展策略  331 

10.4.3  網(wǎng)格  332 

10.5  事務(wù)性內(nèi)存  332 

10.6  向量化  333 

10.7  小結(jié)  334 

第11章 結(jié)束語  335 

11.1  編寫并行應(yīng)用程序  335 

11.1.1  識別任務(wù)  335 

11.1.2  估算性能提升  336 

11.1.3  確定依賴關(guān)系  336 

11.1.4  數(shù)據(jù)爭用和互斥鎖擴(kuò)展限制  336 

11.1.5  鎖的粒度  337 

11.2  多核處理器上的并行代碼  337 

11.3  并行化的未來  339 

參考文獻(xiàn)  340 

索引  342


本圖書信息來源:互動出版網(wǎng)


  本文關(guān)鍵詞:多核應(yīng)用編程實戰(zhàn),由筆耕文化傳播整理發(fā)布。



本文編號:208296

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/208296.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶302f4***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
免费啪视频免费欧美亚洲| 免费观看日韩一级黄色大片| 亚洲国产精品无遮挡羞羞| 日韩欧美国产高清在线| 亚洲熟女一区二区三四区| 国产精品午夜小视频观看| 国产精品一区二区三区欧美| 日韩人妻免费视频一专区| 人人妻在人人看人人澡| 国产专区亚洲专区久久| 中日韩美一级特黄大片| 亚洲中文字幕一区三区| 麻豆一区二区三区在线免费| 久久精品国产99精品亚洲| 国产欧美一区二区色综合| 一区二区三区18禁看| 国产福利一区二区久久| 污污黄黄的成年亚洲毛片| 99亚洲综合精品成人网色播| 精品日韩欧美一区久久| 毛片在线观看免费日韩| 欧美91精品国产自产| 欧洲一级片一区二区三区| 中文字幕人妻一区二区免费| 亚洲欧美中文日韩综合| 激情五月天深爱丁香婷婷| 欧美日韩精品综合在线| 日韩精品免费一区三区| 午夜视频在线观看日韩| 老司机精品一区二区三区| 国产在线观看不卡一区二区| 国产日产欧美精品视频| 在线免费视频你懂的观看| 亚洲最大的中文字幕在线视频| 黑丝袜美女老师的小逼逼| 国产成人精品视频一二区| 亚洲伦理中文字幕在线观看| 太香蕉久久国产精品视频| 国产日产欧美精品视频| 午夜视频成人在线免费| 欧美二区视频在线观看|