商品详情

引言 .... 1
第1 章 云计算底层软硬件 . 8
1.1 云计算概述 . 8
1.1.1 云计算的概念 .... 8
1.1.2 IaaS、PaaS 和SaaS . 9
1.2 IaaS 层核心服务... 10
1.2.1 计算类服务 11
1.2.2 存储类服务 13
1.2.3 网络类服务 16
1.2.4 IaaS 层服务总结 .... 18
1.3 云计算的特点 . 19
1.3.1 更大的规模 19
1.3.2 更“大”的数据 .... 20
1.3.3 更多的租户 21
1.3.4 更复杂的网络 .. 22
1.3.5 安全问题无处不在 24
1.3.6 面向特定应用场景的云计算服务 26
1.3.7 服务接口的兼容性和通用性 .. 27
1.4 底层软硬件挑战 ... 28
1.4.1 业务异构加速 .. 28
1.4.2 工作任务卸载 .. 29
1.4.3 软硬件接口的标准化和灵活性 .... 30
1.4.4 硬件处理的虚拟化和个性化 .. 31
1.4.5 业务和管理物理分离 .. 32
1.4.6 硬件的功能扩展 .... 33
1.4.7 让硬件快速迭代 .... 33
1.4.8 硬件高可用 34
1.5 总结 ... 34
第2 章 软硬件融合综述 ... 36
2.1 软硬件基本概念 ... 36
2.1.1 软件和硬件 36
2.1.2 FPGA、ASIC 和SoC .. 37
2.1.3 硬件加速原理 .. 40
2.2 软硬件划分 ..... 41
2.2.1 三个维度 .... 41
2.2.2 综合分析 .... 44
2.2.3 平台选择 .... 45
2.3 软硬件协作 ..... 46
2.3.1 多平台混合架构 .... 46
2.3.2 软硬件平台的协作 49
2.3.3 软硬件平台的交互 51
2.4 软硬件融合 ..... 52
2.4.1 软硬件融合的概念 52
2.4.2 软硬件融合的特点 54
2.4.3 软硬件融合技术 .... 55
第3 章 计算机体系结构基础 . 57
3.1 计算机原理 ..... 57
3.1.1 处理器架构:从冯·诺依曼架构到RISC-V 57
3.1.2 内存地址:从寻址模式到MMU . 61
3.1.3 I/O:从CPU 中断到DMA .... 65
3.1.4 多核互连:从传统总线到网状总线 .. 66
3.1.5 服务器板级架构 .... 69
3.2 存储 ... 71
3.2.1 缓存和存储分层结构 .. 71
3.2.2 本地存储:磁盘分区和逻辑/物理卷 . 74
3.2.3 分布式存储:GFS 和存储的“温度” .... 76
3.3 网络 ... 79
3.3.1 基础物理网络:分层和拓扑 .. 79
3.3.2 虚拟网络:VLAN 和VxLAN 83
3.3.3 软件定义网络:从OpenFlow 到P4 .. 87
3.4 虚拟化 ..... 93
3.4.1 虚拟化的层次、定义和分类 .. 93
3.4.2 CPU 虚拟化:从软件模拟到完全硬件 ... 96
3.4.3 内存虚拟化:影子页表和EPT .... 99
3.4.4 I/O 设备虚拟化:从软件模拟到SR-IOV ... 100
3.4.5 容器虚拟化:Docker 和Kubernetes 介绍 ... 103
第4 章 软硬件接口 ... 105
4.1 软硬件接口概述 . 105
4.1.1 软硬件接口定义 .. 106
4.1.2 生产者-消费者模型 .. 109
4.1.3 用户态的PMD:DPDK 和SPDK ... 113
4.2 总线互连. 116
4.2.1 AMBA 总线 ... 116
4.2.2 片上网络NoC 总线 .. 120
4.2.3 片间高速总线PCIe 及SR-IOV .. 123
4.2.4 对称的缓存一致性总线CCIX ... 128
4.2.5 非对称的缓存一致性总线CXL . 132
4.2.6 总线互连总结 136
4.3 通用接口Virtio .. 139
4.3.1 Virtio 寄存器 . 139
4.3.2 Virtqueue 交互队列 ... 141
4.3.3 Virtio 交互 ..... 143
4.3.4 总结 .... 144
4.4 高速网络接口RDMA .... 146
4.4.1 基本概念 .. 146
4.4.2 RoCE 分层 ..... 147
4.4.3 RDMA 接口 ... 148
4.4.4 RDMA 总结 ... 149
4.5 高速存储接口NVMe ..... 150
4.5.1 NVMe 概述.... 150
4.5.2 NVMe 寄存器 151
4.5.3 NVMe 队列.... 153
4.5.4 NVMe 命令结构 .. 155
4.5.5 网络存储接口NVMeoF . 160
4.5.6 NVMe 及NVMeoF 总结 162
4.6 软硬件接口总结 . 163
4.6.1 接口分层 .. 163
4.6.2 接口共享 .. 163
第5 章 算法加速和任务卸载 ..... 165
5.1 基本概念. 165
5.1.1 硬件加速 .. 166
5.1.2 硬件处理模块 167
5.1.3 算法加速和任务卸载的概念 169
5.2 算法加速. 171
5.2.1 加密算法加速 171
5.2.2 压缩算法加速 176
5.2.3 数据冗余算法加速 .... 181
5.2.4 正则表达式算法加速 183
5.2.5 加速器性能设计原则 185
5.3 任务卸载. 186
5.3.1 任务卸载模型 186
5.3.2 IPsec 卸载 188
5.3.3 虚拟网络卸载 190
5.3.4 远程存储卸载 192
5.3.5 虚拟化卸载 .... 194
5.4 算法加速和任务卸载总结 ... 197
5.4.1 算法加速是基础 .. 197
5.4.2 任务卸载是多系统协作 .. 199
第6 章 虚拟化硬件加速 . 203
6.1 基本概念. 203
6.1.1 软硬件中的抽象 .. 204
6.1.2 虚拟化抽象 .... 205
6.1.3 虚拟化模型 .... 207
6.1.4 虚拟化加速的必要性 210
6.2 虚拟化的硬件处理 ... 211
6.2.1 流水线处理 .... 211
6.2.2 虚拟化映射 .... 215
6.2.3 缓存机制 .. 219
6.2.4 通用虚拟化流水线 .... 221
6.3 网络虚拟化处理 . 222
6.3.1 包处理用于网络虚拟化 .. 222
6.3.2 定制的网络包处理 .... 223
6.3.3 ASIC 软件可编程包处理 224
6.3.4 FPGA 硬件可编程包处理 ..... 227
6.3.5 案例:Mellanox FlexFlow .... 229
6.3.6 网络包处理总结 .. 230
6.4 存储虚拟化处理 . 231
6.4.1 分布式存储Ceph 231
6.4.2 以事务为单位的存储处理 .... 236
6.4.3 远程存储虚拟化加速 238
6.4.4 本地存储虚拟化加速 241
6.5 虚拟化硬件加速总结 ..... 243
6.5.1 灵活的高性能流水线 243
6.5.2 高性能缓存机制 .. 244
6.5.3 可软件编程、通用、数据流驱动的数据处理引擎 244
6.5.4 虚拟化硬件加速的意义 .. 246
6.5.5 其他虚拟化加速场景 246
第7 章 异构加速 . 247
7.1 异构计算概述 ..... 247
7.1.1 基本概念(并行计算、异构计算) 247
7.1.2 典型案例 .. 249
7.1.3 性能约束和优化 .. 250
7.1.4 易用性思考 .... 251
7.2 GPU 和CUDA ... 252
7.2.1 GPU 和CUDA 概念 . 252
7.2.2 GPU 硬件架构 ..... 253
7.2.3 CUDA 编程模型 . 259
7.3 OpenCL 和FPGA 异构计算 264
7.3.1 OpenCL .... 264
7.3.2 Xilinx SDAccel .... 270
7.3.3 英特尔加速栈 273
7.4 DSA . 275
7.4.1 DSA 发展背景 ..... 275
7.4.2 DSA 典型领域:DNN .... 278
7.4.3 ASIC 实现:谷歌TPU ... 281
7.4.4 FPGA 实现:微软Catapult .. 284
7.4.5 Chiplet 实现:OCP ODSA ... 287
7.5 异构加速计算总结 ... 289
7.5.1 平台选择(GPU、FPGA、ASIC/DSA) .... 290
7.5.2 异构计算加速优化 .... 291
第8 章 云计算体系结构趋势 ..... 293
8.1 概述 . 293
8.2 业务和管理分离 . 294
8.2.1 虚拟化视角:I/O 及管理的卸载 294
8.2.2 体系结构视角:以数据为中心 .. 297
8.2.3 Nitro 系统 300
8.2.4 Mellanox Bluefield DPU .. 302
8.2.5 总结 .... 303
8.3 业务的异构加速 . 304
8.3.1 业务加速概述 304
8.3.2 DSA 加速:谷歌TPU 服务 . 305
8.3.3 FPGA 加速:FaaS .... 306
8.3.4 异构计算架构演进 .... 308
8.4 存储的加速和定制 ... 309
8.4.1 存储概述 .. 309
8.4.2 热存储服务器:Xilinx NVMeoF 参考设计 311
8.4.3 机架级冷存储:微软Pelican ..... 312
8.5 网络可编程和性能优化 . 314
8.5.1 数据中心网络综述 .... 314
8.5.2 数据面编程交换芯片 317
8.5.3 高性能网络优化 .. 318
8.6 硬件定制. 324
8.6.1 硬件定制概述 324
8.6.2 ***的硬件定制 .... 325
8.6.3 OCP 开放计算项目 ... 327
第9 章 融合的系统 ... 329
9.1 软硬件融合系统栈 ... 329
9.1.1 系统边界:多数据中心 .. 329
9.1.2 数据中心的系统堆栈 330
9.2 分层的系统实现 . 332
9.2.1 迭代的系统 .... 332
9.2.2 分域的硬件平台 .. 333
9.2.3 不同层次的实现 .. 334
9.2.4 软硬件协同设计 .. 335
9.3 深层次开放合作 . 336
9.3.1 软硬件的距离越来越大 .. 336
9.3.2 互联网公司自研芯片的优劣势 .. 336
9.3.3 深层次的开放合作 .... 337
参考文献 .... 338
作者简介:
黄朝波,芯片及互联网行业十年以上工作经验,UCloud芯片及硬件研发负责人。曾在Marvell从事ARMv7/v8架构高性能多核CPU设计和验证,以及Startup公司Simplight从事自主多线程处理器及4G LTE基带SOC芯片设计。物联网公司创业经历,技术负责人,负责从硬件到软件再到云端平台的研发工作。本科毕业于西北工业大学,研究生毕业于国防科技大学,在科大学习期间有幸参与“飞腾”处理器项目研发。
- 电子工业出版社精品店
- 扫描二维码,访问我们的微信店铺