ARM服务器¶
现状¶
目前(2020年前后),ARM 64位服务器性能(2.6~3.0GHz)已经和相同主频Intel服务器相当,处理器核心数量也已经追平(双路处理器共128核心) - 华为TaiShan ARM服务器
ARM在服务器领域发力,提出了ARM服务器规范:
芯片设计规范SBSA(Server base system Architecture): 规定了芯片需要支持的特性,包括CPU核的特性,中断,时钟以及PCIe特性等
OS和firmware的解耦方案:采用UEFI/ACPI,同时支持Linux和Windows (Windows只支持ACPI) ;ACPI 5.1开始逐渐支持ARM服务器平台
SBBR(system boot base requirement)规范: 定义UEFI基础要求,ACPI特性支持的基础要求,SMBIOS基础特性要求
当前Linux内核主线能够直接使用各个厂商的ARM64服务器芯片
SUSE/RedHat/Ubuntu等商用发行版直接支持ARM64服务器芯片
Windows支持Huawei, cavium, 高通等厂家芯片
性能优化¶
ARM服务器在SMMU(IOMMU)上需要关注I/O性能,据华为反馈可能需要从以下3点关注性能优化:
SMMU瓶颈: IOVA页表查询,优化SYNC指令,引入Non-strict模式延迟也表释放
Cache瓶颈:需要对比尝试类似Intel RDT技术,即ARM的类似技术MPAM(Momory partition and monitor);以及尝试DDIO(Data Direct I/O)
CPU瓶颈: 将spinlock保护对象修改为RCU保护提升并行能力,Cache false sharing冲突检测,qspinlock