並行分布仿真原理

唐文傑 等

  • 出版商: 電子工業
  • 出版日期: 2026-10-01
  • 定價: $479
  • 售價: $478
  • 語言: 簡體中文
  • 頁數: 288
  • ISBN: 7121537125
  • ISBN-13: 9787121537127
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書立足於並行分布仿真技術的基礎與前沿,面向復雜系統仿真的實際需求,詳細闡述系統建模仿真基礎、並行計算理論、並行編程、保守時間管理、樂觀時間管理、高級並行仿真技術、分布式虛擬環境、數據分發、分布式時間同步等關鍵理論和技術環節,註重理論與實踐相結合,力求為讀者構建完整的知識體系與實踐能力框架。本書可作為高等院校系統工程、仿真建模、計算機科學與技術等專業的高年級本科生與研究生教材,也可供從事並行分布仿真系統研發的工程技術人員參考。期望本書能為讀者打開復雜系統仿真世界的大門,助力其在科研創新與工程實踐中走得更遠。

目錄大綱

第1 章 系統建模仿真基礎·······001
1.1 基本概念······001
1.1.1 模型·001
1.1.2 仿真·002
1.1.3 計算機仿真·······002
1.2 仿真分類······003
1.2.1 按應用目的分類················003
1.2.2 按時間更新方式分類········005
1.2.3 按應用場景分類················007
1.3 離散事件仿真···············008
1.3.1 時間·008
1.3.2 未來事件列表···009
1.3.3 事件驅動執行··.009
1.3.4 離散事件仿真程序············010
1.4 離散事件仿真的世界觀 011
1.4.1 引例.011
1.4.2 面向對象的建模················012
1.4.3 面向進程的建模················014
1.5 基於智能體的建模仿真015
1.5.1 多智能體模型典型結構····015
1.5.2 智能體特征·······016
1.5.3 智能體交互·······017
1.5.4 環境建模···········018
1.6 並行分布仿真案例·······019
1.7 本章小結······020
課後習題·····020
第2 章 並行計算理論···············022
2.1 並行計算的需求與挑戰022
2.1.1 為什麼需要並行計算········022
2.1.2 並行編程的挑戰················026
2.2 並行計算機體系結構···033
2.2.1 並行計算機實例················033
2.2.2 並行計算機抽象模型········042
2.2.3 互連網絡···········046
2.3 並行算法分析···············053
2.3.1 加速比與加速效率············053
2.3.2 阿姆達爾定律···054
2.3.3 古斯塔夫森定律················058
2.3.4 基於計算任務的並行算法分析··········058
2.4 並行算法案例···············061
2.4.1 前綴和計算·······061
2.4.2 歸並排序···········063
2.4.3 分治算法的一般形式········065
2.4.4 施特拉森算法···070
2.5 本章小結······071
課後習題·····072
第3 章 並行編程·····073
3.1 影響並行程序性能的關鍵因素·····073
3.1.1 並行開銷···········073
3.1.2 資源競爭···········074
3.1.3 負載均衡···········074
3.2 OpenMP 編程················074
3.2.1 共享內存編程模型············075
3.2.2 使用OpenMP 編寫多線程程序··········076
3.2.3 循環並行化·······078
3.2.4 任務並行化·······089
3.3 MPI 編程······093
3.3.1 消息傳遞接口···093
3.3.2 MPI 的基本操作················096
3.3.3 進程間點對點通信············097
3.3.4 進程間集合通信················101
3.3.5 阻塞和非阻塞通信············104
3.3.6 通信模式···········104
3.3.7 死鎖問題···········105
3.3.8 MPI 消息傳輸的一些特點·108
3.4 CUDA 編程··109
3.4.1 CUDA 概述······109
3.4.2 軟件架構··········.110
3.4.3 編程模型··········.110
3.4.4 CUDA 流·········.115
3.4.5 CUDA 庫·········.117
3.5 本章小結······123
課後習題·····123
第4 章 保守時間管理···············124
4.1 並行仿真及其正確性保證·············124
4.1.1 並行仿真的描述範式········124
4.1.2 並行仿真與串行仿真的本質區別······125
4.1.3 並行仿真的時間管理問題·127
4.2 基於空消息的時間管理算法·········128
4.2.1 一個簡單的保守時間管理算法··········128
4.2.2 CMB 算法·········129
4.3 前瞻值·129
4.3.1 前瞻值的基本概念············129
4.3.2 前瞻值與仿真模型的關系·130
4.3.3 前瞻值的修改···131
4.3.4 解決時間爬行問題············131
4.4 死鎖的檢測和恢復·······132
4.4.1 死鎖檢測···········132
4.4.2 死鎖恢復···········134
4.5 柵欄同步與暫態消息···135
4.5.1 同步執行問題···135
4.5.2 集中式柵欄·······136
4.5.3 廣播柵欄···········137
4.5.4 樹柵欄··············137
4.5.5 蝴蝶柵欄···········138
4.5.6 刷新柵欄及其實現············138
4.6 時間戳下界計算與邏輯進程間的距離··········139
4.6.1 時間戳下界計算················139
4.6.2 邏輯進程間的距離············140
4.6.3 同步保守時間管理協議····141
4.7 時間窗口受限算法和條件消息·····141
4.7.1 時間窗口受限算法············141
4.7.2 無條件信息與有條件信息·142
4.8 動態進程及互聯···········142
4.9 影響保守時間管理性能的因素·····144
4.10 保守機制的總結與評論···············145
4.11 本章小結····146
課後習題·····146
第5 章 樂觀時間管理···············147
5.1 基本概念······147
5.2 時間彎曲算法···············148
5.2.1 時序檢測···········148
5.2.2 狀態保存與恢復················149
5.2.3 已發送消息的取消及已處理事件重新排隊151
5.2.4 零前瞻值和同時事件對可重復性的影響···153
5.2.5 時間彎曲算法全局控制機制··············155
5.2.6 內存回收···········155
5.2.7 錯誤處理···········156
5.3 GVT 計算·····156
5.3.1 暫態消息問題···157
5.3.2 同時報告問題···158
5.3.3 Samadi GVT 算法··············158
5.3.4 Mattern GVT 算法·············159
5.3.5 Fujimoto GVT 算法···········163
5.3.6 混合異步GVT 算法··········163
5.4 樂觀控制······164
5.5 並行仿真的可重復性挑戰及應對·165
5.5.1 同時事件和隨機數帶來的可重復性問題···166
5.5.2 同時事件可重復性應對策略··············167
5.5.3 隨機數可重復性應對策略·168
5.6 樂觀時間管理與保守時間管理的比較··········170
5.7 本章小結······170
課後習題·····170
第6 章 高級並行仿真技術·······172
6.1 分析仿真性能需求與高性能並行仿真技術思路····172
6.1.1 分析仿真特點及性能需求·172
6.1.2 基於高性能並行計算的分析仿真系統層次式體系架構··············174
6.2 負載均衡技術···············176
6.2.1 並行計算中的負載均衡策略··············176
6.2.2 並行離散事件仿真的負載平衡策略··184
6.3 興趣匹配算法···············190
6.3.1 蠻力匹配算法···192
6.3.2 基於網格的匹配算法········192
6.3.3 混合算法···········193
6.3.4 基於排序的匹配算法········193
6.3.5 基於樹結構的匹配算法····197
6.4 本章小結······200
課後習題·····200
第7 章 分布式虛擬環境···········201
7.1 目標····201
7.2 與PDES 系統的對比····202
7.3 集中式架構與分布式架構·············202
7.4 DIS 介紹······204
7.4.1 DIS 設計原則···205
7.4.2 DIS 協議數據單元·············207
7.4.3 延遲約束···········209
7.4.4 自治與協同的權衡············209
7.5 推算定位······210
7.5.1 推算定位模型··.211
7.5.2 時間補償···········212
7.5.3 平滑處理···········213
7.5.4 精度與可擴展性的權衡····213
7.6 HLA ····213
7.6.1 歷史演進:從DIS 到HLA················214
7.6.2 HLA 概述·········215
7.6.3 HLA 規則·········218
7.6.4 OMT 218
7.6.5 接口規範···········222
7.6.6 典型的聯邦執行················223
7.6.7 體系化設計:從規範約束到靈活協作·······224
7.7 本章小結······225
課後習題·····226
第8 章 數據分發·····227
8.1 數據分發需求分析·······227
8.1.1 消息傳輸的服務特性········228
8.1.2 案例說明···········229
8.1.3 網絡性能關鍵指標············230
8.1.4 DVE 對網絡的性能要求···231
8.2 數據分發的網絡通信技術基礎·····232
8.2.1 網絡類型與性能特征········232
8.2.2 通信協議···········233
8.2.3 組通信··············234
8.3 發布/訂閱:數據分發的接口抽象235
8.3.1 發布/訂閱機制的原理·······235
8.3.2 名字空間、興趣與描述表達式··········236
8.3.3 接口設計的權衡················237
8.4 HLA 中的數據分發管理···············237
8.4.1 基於類的靜態數據分發····238
8.4.2 基於值的動態數據分發····239
8.4.3 組播映射優化···242
8.4.4 動態組播組管理················244
8.4.5 特殊場景挑戰:廣域觀察者與快速移動實體······245
8.5 現代數據分發中間件及應用·········246
8.5.1 消息隊列中間件················246
8.5.2 數據分發服務···248
8.6 本章小結······251
課後習題·····252
第9 章 分布式時間同步···········253
9.1 問題描述······253
9.2 消息排序服務···············254
9.2.1 分布式事件排序的意義····255
9.2.2 因果序··············255
9.2.3 因果全序···········258
9.2.4 增量因果序·······260
9.2.5 時間戳排序·······261
9.2.6 消息排序方法的比較與選擇··············262
9.3 同步墻鐘時間···············263
9.3.1 時間和時鐘源···264
9.3.2 時鐘同步算法···266
9.3.3 時鐘同步誤差的修正········268
9.3.4 網絡時間協議···268
9.4 本章小結······270
課後習題·····271
參考文獻············273
後記···277