幫助中心 | 我的帳號 | 關於我們

高性能並行運行時系統(設計與實現)/高性能計算技術叢書

  • 作者:(美)邁克爾·克萊姆//吉姆·考尼|責編:劉鋒//馮潤峰|譯者:郝萌//張偉哲//何慧//劉錚//王法瑞等
  • 出版社:機械工業
  • ISBN:9787111739494
  • 出版日期:2023/12/01
  • 裝幀:平裝
  • 頁數:258
人民幣:RMB 109 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書聚焦于當今高性能多核處理器的並行編程系統的理論和實踐方面,探討實現並行編程模型所需的關鍵演算法的有效實現。此類實現需要考慮底層電腦體系結構的特定體系結構方面以及執行環境提供的功能。本書簡要回顧了現代電腦體系結構的關鍵概念,特別關注並行代碼的性能以及並行編程模型中的相關概念。然後,本書轉向用於實現並行編程模型的基本演算法,並討論它們如何與現代處理器交互。雖然本書將重點介紹一般機制,但我們將主要使用英特爾處理器體系結構來舉例說明所討論的實現概念,但也將在適當的情況下介紹其他處理器體系結構。所有的演算法和概念都以一種易於理解的方式進行了討論,並附有許多示例、圖表和源代碼片段。

作者介紹
(美)邁克爾·克萊姆//吉姆·考尼|責編:劉鋒//馮潤峰|譯者:郝萌//張偉哲//何慧//劉錚//王法瑞等

目錄
譯者序

前言
術語表
第1章  緒論
  1.1  本書結構
  1.2  探索設計空間
    1.2.1  作為庫的並行
    1.2.2  作為語言的並行
  1.3  代碼示例
  1.4  機器配置
第2章  並行編程模型與概念
  2.1  多進程與多線程
    2.1.1  線程基礎
    2.1.2  線程親和性
    2.1.3  基於線程編程的OpenMP API
    2.1.4  工作分享
    2.1.5  OpenMP線程親和性
  2.2  基於任務的並行編程
  2.3  同步構造
    2.3.1  鎖與互斥
    2.3.2  同步障、歸約和閉鎖
    2.3.3  任務同步障
    2.3.4  任務依賴
  2.4  阿姆達爾定律
    2.4.1  呈現性能結果
    2.4.2  對性能的影響
    2.4.3  將開銷映射到阿姆達爾定律中
    2.4.4  阿姆達爾定律變體
  2.5  總結
第3章  眾核與多核電腦架構
  3.1  執行機制
    3.1.1  馮·諾依曼架構與按序執行
    3.1.2  按序流水線執行
    3.1.3  亂序執行
    3.1.4  分支預測
    3.1.5  超標量執行
    3.1.6  同步多線程
    3.1.7  單指令多數據
  3.2  現代內存子系統
    3.2.1  內存層次結構
    3.2.2  內存模型與內存一致性
    3.2.3  緩存
    3.2.4  緩存一致性:概述
    3.2.5  緩存一致性:MESI協議
    3.2.6  性能影響
    3.2.7  非統一內存架構
  3.3  總結
第4章  編譯器和運行時的交互
  4.1  編譯器基礎

  4.2  基於任務的並行模型的實現
    4.2.1  lambda函數和閉包
    4.2.2  TBB中的排隊任務
  4.3  並行編程語言的編譯器
  4.4  並行代碼生成模式
    4.4.1  並行域的代碼生成
    4.4.2  線程並行循環的代碼生成
    4.4.3  SIMD並行循環的代碼生成
    4.4.4  串列構造的代碼生成
    4.4.5  靜態任務的代碼生成
    4.4.6  動態任務的代碼生成
  4.5  OpenMP實現示例
    4.5.1  GNU編譯器套件
    4.5.2  Intel編譯器和LLVM編譯器
  4.6  總結
第5章  並行運行時基本機制
  5.1  管理並行性
    5.1.1  生成並行性
    5.1.2  等待
  5.2  並行性管理與硬體結構
    5.2.1  檢測硬體結構
    5.2.2  線程固定
  5.3  並行運行時系統中的內存管理
    5.3.1  內存效率及緩存使用
    5.3.2  單線程內存分配器
    5.3.3  多線程內存分配器
    5.3.4  並行運行時系統的專用內存分配器
    5.3.5  線程本地存儲
    5.3.6  線程對象的數據布局
  5.4  總結
第6章  互斥和原子性
  6.1  互斥問題
    6.1.1  鎖的硬體支持:原子指令
    6.1.2  ABA問題
  6.2  我們應該寫鎖代碼嗎
  6.3  鎖的類別
  6.4  鎖演算法的特性
  6.5  鎖演算法
    6.5.1  測試並設置鎖
    6.5.2  測試及測試並設置鎖
    6.5.3  票鎖
    6.5.4  排隊鎖
  6.6  實際代碼性能
    6.6.1  無爭用鎖開銷
    6.6.2  爭用鎖的吞吐量
    6.6.3  性能總結
  6.7  如何等待
  6.8  事務同步
    6.8.1  事務語義
    6.8.2  MESI協議中的實現

    6.8.3  事務指令
    6.8.4  事務鎖
    6.8.5  互斥和預測的比較
  6.9  其他串列操作
    6.9.1  master和masked構造
    6.9.2  single構造
  6.10  原子操作
    6.10.1  原子指令映射
    6.10.2  最小值和最大值的原子實現
  6.11  總結
    6.11.1  鎖總結
    6.11.2  原子操作總結
第7章  同步障和歸約
  7.1  同步障基本原理
  7.2  同步障性能測量
    7.2.1  同步障微基準程序
    7.2.2  同步障性能模型
  7.3  同步障組件
    7.3.1  計數器和標誌
    7.3.2  廣播
  7.4  同步障演算法分類
  7.5  同步障演算法
    7.5.1  計數同步障
    7.5.2  多對多同步障
    7.5.3  蝶形/超立方體同步障
    7.5.4  傳播型同步障
    7.5.5  樹形簽入同步障
  7.6  歸約
  7.7  其他優化
  7.8  總結
第8章  調度並行循環
  8.1  調度目標
  8.2  調度效率的理論極限
  8.3  基本調度方法
    8.3.1  靜態循環調度
    8.3.2  動態循環調度
  8.4  映射為規範形式
  8.5  編譯器循環轉換
  8.6  循環調度單調性
  8.7  靜態循環調度實現
    8.7.1  分塊式循環調度
    8.7.2  塊循環式循環調度
  8.8  動態循環調度實現
    8.8.1  指導式調度
    8.8.2  monotonic:dynamic
    8.8.3  nonmonotonic:dynamic
  8.9  循環調度評估
  8.10  其他循環調度方案
    8.10.1  使用歷史信息
    8.10.2  用戶控制調度

  8.11  總結
第9章  任務並行模型的運行時支持
  9.1  任務描述符
  9.2  任務池實現
    9.2.1  單任務池
    9.2.2  多任務池
  9.3  任務同步
    9.3.1  等待任務子集完成
    9.3.2  等待直接子任務完成
    9.3.3  任務依賴
  9.4  任務調度
    9.4.1  任務調度點
    9.4.2  廣度優先調度和深度優先調度
    9.4.3  任務竊取
  9.5  任務調度約束
    9.5.1  棧調度
    9.5.2  循環調度
  9.6  其他任務主題
    9.6.1  任務優先順序
    9.6.2  任務親和性
  9.7  總結
第10章  總結和感想
附錄  技術縮略語
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032