★ 芯片及互联网行业十年以上工作经验分享 ★ 从多个角度讲解了构成软硬件融合的技术 ★ 案例贴近前沿,内容深浅出,通俗易懂 ★ 知识覆盖面广,可使读者迅速扩大知识面 ★ 而轻松驾驭软硬件融合的技术大潮 新技术层出不穷并且快速迭代, 该如何根本性的解决这一挑战? CPU性能瓶颈,DPU脱颖而出? 这,只是问题的始…… 人工智能对算力和数据量的要求都极其庞大,
售 价:¥
纸质售价:¥70.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
作者简介
内容简介
推荐序1
推荐序2
前言
引言
第1章 云计算底层软硬件
1.1 云计算概述
1.1.1 云计算的概念
1.1.2 IaaS、PaaS和SaaS
1.2 IaaS层核心服务
1.2.1 计算类服务
1.2.2 存储类服务
1.2.3 网络类服务
1.2.4 IaaS层服务总结
1.3 云计算的特点
1.3.1 更大的规模
1.3.2 更“大”的数据
1.3.3 更多的租户
1.3.4 更复杂的网络
1.3.5 安全问题无处不在
1.3.6 面向特定应用场景的云计算服务
1.3.7 服务接口的兼容性和通用性
1.4 底层软硬件挑战
1.4.1 业务异构加速
1.4.2 工作任务卸载
1.4.3 软硬件接口的标准化和灵活性
1.4.4 硬件处理的虚拟化和个性化
1.4.5 业务和管理物理分离
1.4.6 硬件的功能扩展
1.4.7 让硬件快速迭代
1.4.8 硬件高可用
1.5 总结
第2章 软硬件融合综述
2.1 软硬件基本概念
2.1.1 软件和硬件
2.1.2 FPGA、ASIC和SoC
2.1.3 硬件加速原理
2.2 软硬件划分
2.2.1 三个维度
2.2.2 综合分析
2.2.3 平台选择
2.3 软硬件协作
2.3.1 多平台混合架构
2.3.2 软硬件平台的协作
2.3.3 软硬件平台的交互
2.4 软硬件融合
2.4.1 软硬件融合的概念
2.4.2 软硬件融合的特点
2.4.3 软硬件融合技术
第3章 计算机体系结构基础
3.1 计算机原理
3.1.1 处理器架构:从冯·诺依曼架构到RISC-V
3.1.2 内存地址:从寻址模式到MMU
3.1.3 I/O:从CPU中断到DMA
3.1.4 多核互连:从传统总线到网状总线
3.1.5 服务器板级架构
3.2 存储
3.2.1 缓存和存储分层结构
3.2.2 本地存储:磁盘分区和逻辑/物理卷
3.2.3 分布式存储:GFS和存储的“温度”
3.3 网络
3.3.1 基础物理网络:分层和拓扑
3.3.2 虚拟网络:VLAN和VxLAN
3.3.3 软件定义网络:从OpenFlow到P4
3.4 虚拟化
3.4.1 虚拟化的层次、定义和分类
3.4.2 CPU虚拟化:从软件模拟到完全硬件
3.4.3 内存虚拟化:影子页表和EPT
3.4.4 I/O设备虚拟化:从软件模拟到SR-IOV
3.4.5 容器虚拟化:Docker和Kubernetes介绍
第4章 软硬件接口
4.1 软硬件接口概述
4.1.1 软硬件接口定义
4.1.2 生产者-消费者模型
4.1.3 用户态的PMD:DPDK和SPDK
4.2 总线互连
4.2.1 AMBA总线
4.2.2 片上网络NoC总线
4.2.3 片间高速总线PCIe及SR-IOV
4.2.4 对称的缓存一致性总线CCIX
4.2.5 非对称的缓存一致性总线CXL
4.2.6 总线互连总结
4.3 通用接口Virtio
4.3.1 Virtio寄存器
4.3.2 Virtqueue交互队列
4.3.3 Virtio交互
4.3.4 总结
4.4 高速网络接口RDMA
4.4.1 基本概念
4.4.2 RoCE分层
4.4.3 RDMA接口
4.4.4 RDMA总结
4.5 高速存储接口NVMe
4.5.1 NVMe概述
4.5.2 NVMe寄存器
4.5.3 NVMe队列
4.5.4 NVMe命令结构
4.5.5 网络存储接口NVMeoF
4.5.6 NVMe及NVMeoF总结
4.6 软硬件接口总结
4.6.1 接口分层
4.6.2 接口共享
第5章 算法加速和任务卸载
5.1 基本概念
5.1.1 硬件加速
5.1.2 硬件处理模块
5.1.3 算法加速和任务卸载的概念
5.2 算法加速
5.2.1 加密算法加速
5.2.2 压缩算法加速
5.2.3 数据冗余算法加速
5.2.4 正则表达式算法加速
5.2.5 加速器性能设计原则
5.3 任务卸载
5.3.1 任务卸载模型
5.3.2 IPsec卸载
5.3.3 虚拟网络卸载
5.3.4 远程存储卸载
5.3.5 虚拟化卸载
5.4 算法加速和任务卸载总结
5.4.1 算法加速是基础
5.4.2 任务卸载是多系统协作
第6章 虚拟化硬件加速
6.1 基本概念
6.1.1 软硬件中的抽象
6.1.2 虚拟化抽象
6.1.3 虚拟化模型
6.1.4 虚拟化加速的必要性
6.2 虚拟化的硬件处理
6.2.1 流水线处理
6.2.2 虚拟化映射
6.2.3 缓存机制
6.2.4 通用虚拟化流水线
6.3 网络虚拟化处理
6.3.1 包处理用于网络虚拟化
6.3.2 定制的网络包处理
6.3.3 ASIC软件可编程包处理
6.3.4 FPGA硬件可编程包处理
6.3.5 案例:Mellanox FlexFlow
6.3.6 网络包处理总结
6.4 存储虚拟化处理
6.4.1 分布式存储Ceph
6.4.2 以事务为单位的存储处理
6.4.3 远程存储虚拟化加速
6.4.4 本地存储虚拟化加速
6.5 虚拟化硬件加速总结
6.5.1 灵活的高性能流水线
6.5.2 高性能缓存机制
6.5.3 可软件编程、通用、数据流驱动的数据处理引擎
6.5.4 虚拟化硬件加速的意义
6.5.5 其他虚拟化加速场景
第7章 异构加速
7.1 异构计算概述
7.1.1 基本概念(并行计算、异构计算)
7.1.2 典型案例
7.1.3 性能约束和优化
7.1.4 易用性思考
7.2 GPU和CUDA
7.2.1 GPU和CUDA概念
7.2.2 GPU硬件架构
7.2.3 CUDA编程模型
7.3 OpenCL和FPGA异构计算
7.3.1 OpenCL
7.3.2 Xilinx SDAccel
7.3.3 英特尔加速栈
7.4 DSA
7.4.1 DSA发展背景
7.4.2 DSA典型领域:DNN
7.4.3 ASIC实现:谷歌TPU
7.4.4 FPGA实现:微软Catapult
7.4.5 Chiplet实现:OCPODSA
7.5 异构加速计算总结
7.5.1 平台选择(GPU、FPGA、ASIC/DSA)
7.5.2 异构计算加速优化
第8章 云计算体系结构趋势
8.1 概述
8.2 业务和管理分离
8.2.1 虚拟化视角:I/O及管理的卸载
8.2.2 体系结构视角:以数据为中心
8.2.3 Nitro系统
8.2.4 Mellanox Bluefield DPU
8.2.5 总结
8.3 业务的异构加速
8.3.1 业务加速概述
8.3.2 DSA加速:谷歌TPU服务
8.3.3 FPGA加速:FaaS
8.3.4 异构计算架构演进
8.4 存储的加速和定制
8.4.1 存储概述
8.4.2 热存储服务器:XilinxNVMeoF参考设计
8.4.3 机架级冷存储:微软Pelican
8.5 网络可编程和性能优化
8.5.1 数据中心网络综述
8.5.2 数据面编程交换芯片
8.5.3 高性能网络优化
8.6 硬件定制
8.6.1 硬件定制概述
8.6.2 亚马逊的硬件定制
8.6.3 OCP开放计算项目
第9章 融合的系统
9.1 软硬件融合系统栈
9.1.1 系统边界:多数据中心
9.1.2 数据中心的系统堆栈
9.2 分层的系统实现
9.2.1 迭代的系统
9.2.2 分域的硬件平台
9.2.3 不同层次的实现
9.2.4 软硬件协同设计
9.3 深层次开放合作
9.3.1 软硬件的距离越来越大
9.3.2 互联网公司自研芯片的优劣势
9.3.3 深层次的开放合作
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜