正版保障 假一赔十 可开发票
¥ 49.4 5.6折 ¥ 89 全新
库存4件
作者黄朝波
出版社电子工业出版社
ISBN9787121409226
出版时间2021-04
装帧平装
开本16开
定价89元
货号29236950
上书时间2024-10-30
互联网行业发展迅速,2010年以来,随着物联网、云计算、大数据、人工智能等互联网技术的快速发展,相关的产品和服务层出不穷,快速迭代。虽然软件技术日新月异,快速演进,但是相应的硬件体系结构却没有本质的改变,比如,目前支撑云端系统运行的依然是以CPU为核心的通用服务器。
软硬件之间本质上的需求矛盾是CPU的性能越来越无法满足软件的发展需要,主要原因如下。
? CPU的微架构已经非常成熟,不考虑工艺进步和多核技术,仅提升单核CPU的性能在多年前就已经非常困难。
? 在互联网行业初期,工艺进步是提升CPU和芯片性能的主要手段,但随着半导体工艺突破 10nm以来,依靠工艺进步来提升CPU和芯片性能的空间急剧缩小,摩尔定律逐渐走向终结。
? 登纳德缩放比例定律表明,随着工艺进步,单位面积所能容纳的晶体管越多,单位面积的功耗也会越大,功耗会限制晶体管数量的进一步增加。
? 受限于连接CPU核的总线效率、芯片面积及功耗等,CPU核集成数量的提升空间逐渐缩小。
作为计算机体系结构领域的领军人物,David Patterson与John Hennessy在获得2017年图灵奖的演说中提到未来十年将是计算机体系结构的黄金十年,两人给出的解决方案是DSA(Domain Specific Architecture,特定领域架构)。DSA是一种以硬件为中心的解决方案,可针对特定应用场景定制芯片,支持软件可编程,并且通常都是图灵完备的。从图灵完备的意义来看,DSA与ASIC(Application Specific Integrated Circuit,专用集成电路)不同,后者通常用于单一功能,软件代码很少发生变化。DSA也是一种加速器,具有很好的加速性能,与通用CPU执行应用程序相比,DSA只能加速某些特定的应用程序。例如,用于深度学习的神经网络处理器及用于软件定义网络(SDN)的处理器等。
在云计算场景下,软硬件融合问题变得更加复杂。云计算不仅需要虚拟化技术来共享物理服务器,还需要管理物理服务器切分出来的虚拟服务器,以此服务成千上万的用户。云计算需要提供基于虚拟网络技术的VPC服务来进行租户隔离,为巨量的数据提供高可用的存储服务等,还需要为各种用户性能敏感的业务(如大数据分析、视频图像处理、机器学习/深度学习等)进行加速。云计算软硬件融合的挑战在于,需要把多种多样的功能融合到一整套软硬件平台方案中。虽然DSA提供了比传统ASIC更多的灵活性,但它在云计算领域依然存在以下问题。
? 与传统ASIC一样,DSA通常也要封装成一个具体的IC芯片,从一个应用场景的系统算法到IC芯片量产需要2~3年时间,而互联网的业务发展速度非常快,DSA是否能够满足未来2~3年的软件需求?硬件的使用周期一般是3~5年,在此期间,DSA是否能支撑软件的持续迭代?
? 从系统的角度来看,DSA用于解决特定问题A,如果有A、B、C等多个问题同时需要解决,那么多个DSA如何共存?成本如何?或者重新设计一种DSA芯片解决所有问题?重新设计的DSA芯片的通用性和灵活性又如何?
? 云计算场景的DSA方案通常选择基于经典的CPU xPU异构计算架构,而不选择图灵完备的集成架构。CPU xPU异构计算架构把特定场景算法的加速放在xPU,通过CPU的协调处理来完成整体任务。CPU xPU异构计算架构可以让CPU侧的软件大幅度降低CPU资源消耗,从而提升CPU性能,但仍然需要CPU的参与。
在云计算的场景下,我们希望为用户提供一个标准的业务环境,后台管理的工作任务数据面和控制面都能够完整卸载。为了实现这些目标,我们就需要为云计算场景提供一个“宏架构”,统筹各种系统的硬件加速和任务卸载,并且能够为用户提供功能强大且简单的运行环境,让用户专注于自身业务的创新。
就互联网云计算而言,芯片公司距离市场和业务场景较远,虽然其对芯片级微观系统的理解非常深入,但对宏观的互联网系统缺乏深层次的敏感度,对热点方向布局不重视,这就导致很多高精尖技术难以落地。而传统的互联网公司虽然距离用户较近,有系统视角,但缺乏芯片及相关硬件技术储备,对芯片的理解比较肤浅,局限于硬件的浅层优化,犹如隔靴搔痒。
基于上述问题,互联网公司纷纷通过自研或与芯片公司合作的方式,更深层次地融合软件和硬件,研发符合互联网场景的新型芯片及硬件产品,以此支撑结构更加复杂、规模更加庞大、管理更加自动化的智能化互联网基础设施和应用系统。这种趋势当前还处于“八仙过海,各显神通”的阶段,有必要通过体系结构层面深度地理解、分析和思考,将这些新型技术和平台进行系统性的梳理、整合、重构,逐步演进成能够满足未来发展需求的新型云计算体系结构。
互联网新技术的快速发展带来翻天覆地的变化,要解决新的上层业务场景需求问题,离不开体系结构的创新发展。通常2~3年会出现一个新的技术热点,系统迭代速度越来越快,体系结构在系统快速迭代的节奏下,如何才能够拥有较长的生命周期,并且在整个生命周期都能很好地支撑业务发展,是需要深入思考的问题。
本书主要介绍如何通过软硬件融合的创新来构建能够应对未来业务挑战的云计算体系结构,核心理念是把软件的灵活性和硬件的高效性深度融合在一起。本书各章介绍的内容如下。
第1章为云计算底层软硬件。
第2章为软硬件融合综述。
第3章为计算机体系结构基础。本章内容与后续章节的核心内容是密切相关的,是核心内容的前导知识。
第4章为软硬件接口。软硬件融合首先面对的就是软硬件接口,需要重点掌握如何实现高效的软硬件数据交互。
第5章为算法加速和任务卸载。算法加速即某个算法的硬件实现;任务卸载以算法加速为内核,更加系统化、平台化,通常需要有快速构建特定任务卸载的基本软硬件框架。
第6章为虚拟化硬件加速。虚拟化硬件加速的核心是高性能虚拟化硬件处理,以及如何兼顾软件的灵活性和硬件的高效性。
第7章为异构加速。异构计算架构适合云计算场景业务加速,有较多的成熟方案。
第8章为云计算体系结构趋势。
第9章为融合的系统。本章内容是对云计算数据中心体系结构的总结。
感谢我的家人,在本书的编写过程中,我占用了许多用于陪伴家人的时间,是她们的支持让我有动力和毅力来完成本书的编写工作;感谢我所在公司的上级领导及同事,是公司提供了如此好的平台,让我有机会去实现创新的想法,上级领导和同事们也为我提供了很多帮助和支持;感谢我的大学老师和同学,毕业多年,老师依然关心我们这些学生的工作和生活,同学们的帮助也促进我一直成长。
受限于个人知识背景和技术水平,也因为这个快速发展的行业和时代,本书难免存在不足。集体的智慧是无穷的,希望大家提出意见和建议,我会不定期地修订、完善、更新本书,为大家呈现一本拥有更高价值的图书。
物联网、大数据及人工智能等新兴技术推动云计算持续、快速地发展,底层硬件越来越无法满足上层软件的发展和迭代需求。本书通过探寻软硬件的技术本质,寻找能够使软件灵活性和硬件高效性相结合的方法,帮助有软件背景的读者更深刻地认识硬件,加深对软硬件之间联系的理解,并且更好地驾驭硬件;同时帮助有硬件背景的读者站在更全面的视角宏观地看待问题,理解需求、产品、系统、架构等多方面的权衡。
《软硬件融合:超大规模云计算架构创新之路》共9章:第1章为云计算底层软硬件,第2章为软硬件融合综述,第3章为计算机体系结构基础,第4章为软硬件接口,第5章为算法加速和任务卸载,第6章为虚拟化硬件加速,第7章为异构加速,第8章为云计算体系结构趋势,第9章为融合的系统。
本书立意新颖,案例贴近前沿,内容由浅入深,并且“展望未来”,可以帮助广大互联网及 IT 行业的软硬件工程师更好地理解软件、硬件及两者之间的内在联系,也可以作为计算机相关专业学生的技术拓展读物。
黄朝波
芯片及互联网行业十年以上工作经验,UCloud芯片及硬件研发负责人。
曾在Marvell从事ARMv7/v8架构高性能多核CPU设计和验证,在Startup公司Simplight从事自主多线程处理器及4G LTE基带SOC芯片设计。
物联网公司创业经历,技术负责人,负责从硬件、软件到云平台的研发工作。本科毕业于西北工业大学,研究生毕业于国防科技大学,在国防科技大学学习期间有幸参与“飞腾”处理器项目研发。
引言
第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实现:OCP ODSA
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 热存储服务器:Xilinx NVMeoF参考设计
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 深层次的开放合作
参考文献
物联网、大数据及人工智能等新兴技术推动云计算持续、快速地发展,底层硬件越来越无法满足上层软件的发展和迭代需求。本书通过探寻软硬件的技术本质,寻找能够使软件灵活性和硬件高效性相结合的方法,帮助有软件背景的读者更深刻地认识硬件,加深对软硬件之间联系的理解,并且更好地驾驭硬件;同时帮助有硬件背景的读者站在更全面的视角宏观地看待问题,理解需求、产品、系统、架构等多方面的权衡。
《软硬件融合:超大规模云计算架构创新之路》共9章:第1章为云计算底层软硬件,第2章为软硬件融合综述,第3章为计算机体系结构基础,第4章为软硬件接口,第5章为算法加速和任务卸载,第6章为虚拟化硬件加速,第7章为异构加速,第8章为云计算体系结构趋势,第9章为融合的系统。
本书立意新颖,案例贴近前沿,内容由浅入深,并且“展望未来”,可以帮助广大互联网及 IT 行业的软硬件工程师更好地理解软件、硬件及两者之间的内在联系,也可以作为计算机相关专业学生的技术拓展读物。
黄朝波
芯片及互联网行业十年以上工作经验,UCloud芯片及硬件研发负责人。
曾在Marvell从事ARMv7/v8架构高性能多核CPU设计和验证,在Startup公司Simplight从事自主多线程处理器及4G LTE基带SOC芯片设计。
物联网公司创业经历,技术负责人,负责从硬件、软件到云平台的研发工作。本科毕业于西北工业大学,研究生毕业于国防科技大学,在国防科技大学学习期间有幸参与“飞腾”处理器项目研发。
&
— 没有更多了 —
以下为对购买帮助不大的评价