鲲鹏处理器
1. 鲲鹏处理器背景及基础介绍
算力格局加速向ARM架构转换,应运ARM机构的处理器应运而生;同时ARM架构处理器相较能加速端边云协同,提高硬件的核心利用率;
鲲鹏920处理器采用了华为自主研发的Da Vinci架构,该架构结合了ARMv8指令集和华为自主的技术创新。该架构在多核处理、内存管理和协同加速等方面进行了优化,以实现更高的性能和更低的功耗。
鲲鹏920处理器 a.多核架构:2个CPU Die,每个CPU Die包括最多32个核、4个DDR4内存控制器,1个IO Die,提供PCIe接口、以太网络接口、存储控制器、片间缓存一致接口和硬件加速引擎等功能
b.多合一 SoC:CPU | 南桥 | 网卡 | 硬盘控制器等多个芯片功能合一,支持多种数据加解密、压缩/解压缩机制 极致性能:单处理器整型计算性能,相比上一代提升2.9倍,提升大数据、分布式存储和数据库等场景的并行计算性能
c.海量吞吐:支持8个DDR4内存通道,内存带宽提升60%,支持PCle 4.0,IO带宽提升66%,支持100GE以太网络,网络带宽提升4倍
d.片间互联:华为Cache一致性总线(HCCS),为内核、设备、集群提供系统内存的一致访问,片间带宽最高可达480Gbps,实现最多4个鲲鹏920处理器互联和最高256个物理核的NUMA架构
3. 核心特点 a.强大的多核处理能力:鲲鹏920处理器采用了多核设计,支持高达64个物理核心和128个逻辑核心。这使得它能够同时处理大量的计算任务,提供卓越的多线程性能和并行计算能力。
2. ARM架构v8体系
ARMv8体系是ARM架构的一个重要版本,它引入了64位计算能力,并保留了对32位代码的兼容性。以下是ARMv8体系的一些关键特点:
64位和32位执行状态: ARMv8-A体系引入了64位执行状态,称为AArch64,支持A64指令集。同时,它还保留了32位执行状态AArch32,以兼容ARMv7-A体系,支持T32和A32指令集
指令集: AArch64执行状态使用64位通用寄存器,并允许基础指令集使用64位寄存器进行处理。AArch32执行状态则使用32位通用寄存器、程序计数器(PC)、堆栈指针(SP)和链接寄存器(LR)
内存模型: ARMv8-A采用了弱有序(weakly-ordered)内存模型,这意味着内存访问的顺序不一定与程序顺序相同。这种模型允许处理器和系统元素在优化过程中重新排序内存读操作,以提高数据吞吐量
内存类型: ARMv8-A定义了两种互斥的内存类型:Normal和Device。Normal内存用于所有代码和大多数数据区域,如RAM、Flash或ROM。Device内存类型用于内存映射的外设和所有可能具有副作用的内存区域
内存排序: 由于存在写缓冲区和缓存等机制,即使指令按顺序执行,相关的内存访问也可能不会按顺序执行。因此,即使处理器遵循SSE模型,内存排序也是一个需要考虑的重要因素
异常模型和虚拟化: ARMv8-A体系在异常模型和虚拟化方面进行了增强,提供了对更高安全级别的虚拟化支持,并引入了新的异常级别和内存管理功能
性能和安全性: ARMv8体系随着时间的推移不断演进,ARMv8.1-A是ARM引入的一系列小规模增强,完全向后兼容初始的v8.0体系,并逐步在新的核心和相关产品中出现
3. 鲲鹏处理器NUMA
为了满足智能世界快速增长的算力需求,多核架构成为最重要的演进方向。 鲲鹏处理器支持NUMA(Non-uniform memory access,非统一内存访问)架构,能够很好的解决SMP技术对CPU核数的制约。NUMA架构将多个核结成一个节点(Node),每一个节点相当于是一个对称多处理机(SMP),一块CPU的节点之间通过On-chip Network通讯,不同的CPU之间采用Hydra Interface实现高带宽低时延的片间通讯。在NUMA架构下,整个内存空间在物理上是分布式的,所有这些内存的集合就是整个系统的全局内存。每个核访问内存的时间取决于内存相对于处理器的位置,访问本地内存(本节点内)会更快一些。Linux内核从2.5版本开始支持NUMA架构,现在的操作系统也提供了丰富的工具和接口,帮助我们完成就近访问内存的优化和配置。使用鲲鹏处理器所实现的计算机系统,通过适当的性能调优,既能够达成很好的性能,又能够解决SMP架构下的总线瓶颈问题,提供更强的多核扩展能力,以及更好更灵活的计算能力。 
实验步骤:
建立基准:确立系统性能的初始状态,包括硬件配置、网络结构、测试模型和系统运行数据,同时设定优化目标。
压力测试与监视瓶颈:使用压力测试工具模拟峰值负载,同时监控系统性能,记录详细数据以分析性能瓶颈。
确定瓶颈:分析测试结果,找出系统性能的瓶颈点,如CPU、IO或网络问题,并注意测试工具和网络配置可能造成的影响。
实施优化:针对识别的瓶颈进行优化,并准备回滚方案以防优化措施无效。
确认优化效果:优化后重新进行压力测试和监控,评估优化效果,根据结果调整优化策略或归档有效措施。
鲲鹏处理器
1. 鲲鹏处理器背景及基础介绍
算力格局加速向ARM架构转换,应运ARM机构的处理器应运而生;同时ARM架构处理器相较能加速端边云协同,提高硬件的核心利用率;
鲲鹏920处理器采用了华为自主研发的Da Vinci架构,该架构结合了ARMv8指令集和华为自主的技术创新。该架构在多核处理、内存管理和协同加速等方面进行了优化,以实现更高的性能和更低的功耗。
鲲鹏920处理器 a.多核架构:2个CPU Die,每个CPU Die包括最多32个核、4个DDR4内存控制器,1个IO Die,提供PCIe接口、以太网络接口、存储控制器、片间缓存一致接口和硬件加速引擎等功能
b.多合一 SoC:CPU | 南桥 | 网卡 | 硬盘控制器等多个芯片功能合一,支持多种数据加解密、压缩/解压缩机制 极致性能:单处理器整型计算性能,相比上一代提升2.9倍,提升大数据、分布式存储和数据库等场景的并行计算性能
c.海量吞吐:支持8个DDR4内存通道,内存带宽提升60%,支持PCle 4.0,IO带宽提升66%,支持100GE以太网络,网络带宽提升4倍
d.片间互联:华为Cache一致性总线(HCCS),为内核、设备、集群提供系统内存的一致访问,片间带宽最高可达480Gbps,实现最多4个鲲鹏920处理器互联和最高256个物理核的NUMA架构
b.先进的内存管理:鲲鹏920处理器采用了先进的内存管理技术,包括大容量内存支持和高带宽内存接口。这使得它能够有效地管理和访问大规模的内存数据,提供更快的数据读写速度和更高的内存容量。 c.协同加速技术:鲲鹏920处理器引入了协同加速技术,通过与其他协处理器和加速器的紧密协作,提供更高的计算效率和能效。这种协同加速技术使得处理器能够在处理不同类型的任务时实现更好的平衡,从而提供更出色的综合性能。 d.鲲鹏920处理器在多个应用领域展现出了优良性能: 服务器领域:鲲鹏920处理器在服务器领域具备卓越的性能,能够处理大规模的数据中心工作负载。其多核处理能力、高效的内存管理和协同加速技术,使得它成为处理大规模虚拟化、容器化和云计算等工作负载的理想选择。 人工智能领域:鲲鹏920处理器在人工智能应用方面表现出色。其强大的计算能力和协同加速技术,使得它能够高效地处理深度学习、机器学习和推理等复杂的人工智能任务。这使得鲲鹏920成为人工智能推理加速器和边缘计算设备的理想选择。 数据分析领域:鲲鹏920处理器在大数据分析和数据处理方面具备突出的性能。其多核处理能力和高带宽内存接口,使得它能够快速处理和分析大规模的数据集,提供更高的数据处理吞吐量和更低的延迟。2. ARM架构v8体系
ARMv8体系是ARM架构的一个重要版本,它引入了64位计算能力,并保留了对32位代码的兼容性。以下是ARMv8体系的一些关键特点:
64位和32位执行状态: ARMv8-A体系引入了64位执行状态,称为AArch64,支持A64指令集。同时,它还保留了32位执行状态AArch32,以兼容ARMv7-A体系,支持T32和A32指令集
指令集: AArch64执行状态使用64位通用寄存器,并允许基础指令集使用64位寄存器进行处理。AArch32执行状态则使用32位通用寄存器、程序计数器(PC)、堆栈指针(SP)和链接寄存器(LR)
内存模型: ARMv8-A采用了弱有序(weakly-ordered)内存模型,这意味着内存访问的顺序不一定与程序顺序相同。这种模型允许处理器和系统元素在优化过程中重新排序内存读操作,以提高数据吞吐量
内存类型: ARMv8-A定义了两种互斥的内存类型:Normal和Device。Normal内存用于所有代码和大多数数据区域,如RAM、Flash或ROM。Device内存类型用于内存映射的外设和所有可能具有副作用的内存区域
内存排序: 由于存在写缓冲区和缓存等机制,即使指令按顺序执行,相关的内存访问也可能不会按顺序执行。因此,即使处理器遵循SSE模型,内存排序也是一个需要考虑的重要因素
异常模型和虚拟化: ARMv8-A体系在异常模型和虚拟化方面进行了增强,提供了对更高安全级别的虚拟化支持,并引入了新的异常级别和内存管理功能
性能和安全性: ARMv8体系随着时间的推移不断演进,ARMv8.1-A是ARM引入的一系列小规模增强,完全向后兼容初始的v8.0体系,并逐步在新的核心和相关产品中出现
3. 鲲鹏处理器NUMA
为了满足智能世界快速增长的算力需求,多核架构成为最重要的演进方向。 鲲鹏处理器支持NUMA(Non-uniform memory access,非统一内存访问)架构,能够很好的解决SMP技术对CPU核数的制约。NUMA架构将多个核结成一个节点(Node),每一个节点相当于是一个对称多处理机(SMP),一块CPU的节点之间通过On-chip Network通讯,不同的CPU之间采用Hydra Interface实现高带宽低时延的片间通讯。在NUMA架构下,整个内存空间在物理上是分布式的,所有这些内存的集合就是整个系统的全局内存。每个核访问内存的时间取决于内存相对于处理器的位置,访问本地内存(本节点内)会更快一些。Linux内核从2.5版本开始支持NUMA架构,现在的操作系统也提供了丰富的工具和接口,帮助我们完成就近访问内存的优化和配置。使用鲲鹏处理器所实现的计算机系统,通过适当的性能调优,既能够达成很好的性能,又能够解决SMP架构下的总线瓶颈问题,提供更强的多核扩展能力,以及更好更灵活的计算能力。
实验步骤:
建立基准:确立系统性能的初始状态,包括硬件配置、网络结构、测试模型和系统运行数据,同时设定优化目标。
压力测试与监视瓶颈:使用压力测试工具模拟峰值负载,同时监控系统性能,记录详细数据以分析性能瓶颈。
确定瓶颈:分析测试结果,找出系统性能的瓶颈点,如CPU、IO或网络问题,并注意测试工具和网络配置可能造成的影响。
实施优化:针对识别的瓶颈进行优化,并准备回滚方案以防优化措施无效。
确认优化效果:优化后重新进行压力测试和监控,评估优化效果,根据结果调整优化策略或归档有效措施。