solihawk
作者solihawk·2024-03-18 10:40
数据库架构师·某股份制银行

信创服务器海光和鲲鹏差异化及性能测试对比分析

字数 4499阅读 3472评论 4赞 8

国产信创服务器是近些年信创突破的重点,面对技术封锁和卡脖子限制,如何实现真正的芯片自主可控也是业界发力的方向。在信创服务器主流市场海光和鲲鹏有哪些差异,性能表现如何,本文将重点介绍信创服务器的性能对比测试结果,并进行分析。

1、国产CPU发展情况

1.1 CPU架构及指令集介绍

1.1.1 CPU架构
CPU(中央处理器)作为计算机系统的运算和控制核心,是信息处理、程序执行的最终执行单元,主要功能包括指令控制、操作控制、时间控制和数据加工。CPU内部通常由三个主要部分组成:运算器、控制器和寄存器。

  • 运算器:主要负责进行算术运算和逻辑运算,包括加减乘除等基本算术操作,以及与、或、非等逻辑操作。
  • 控制器:作为CPU的指挥中心,负责调度程序、指令并执行指令,以及管理协调各个部件的运作。它通过读取内存中的指令,并指挥运算器进行运算,同时负责与内存、输入/输出设备进行通信,控制信息的流动。
  • 寄存器:用于存储CPU内部的临时数据或状态信息,包括指令寄存器(IR)、数据寄存器(DR)、状态寄存器等。

此外,CPU内部还有高速缓冲存储器(Cache)等组件,用于提高数据和指令的访问速度,降低内存访问延迟。

1.1.2 指令集架构
CPU指令集是计算机中计算和控制计算机系统的所有指令的集合,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部 I/O。简单地来说,指令集一般被整合在操作系统内核最底层的硬件抽象层中,属于计算机中硬件与软件的接口,它向操作系统定义了CPU的基本功能。

现阶段CPU指令集分为CISC(复杂指令集)和RISC(简单指令集)两种。

  • CISC指令集是早期的指令集架构,它的指令数目较少,但每条指令的操作步骤较多,因此指令较为复杂和庞大。CISC架构的CPU中,对于指令的执行需要依赖CPU中设计的逻辑来实现,这会增加CPU结构的复杂性和对CPU工艺的要求。
  • RISC指令集则是一种精简指令集,是在CISC指令集的基础上发展起来的。它的指令数量较多,但每条指令的操作步骤较少,因此每条指令都较短,指令格式种类少,寻址方式种类也较少。RISC只要求硬件执行很有限且最常用的那部分执令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。

CISC和RISC指令集对比如下表所示:

CISC和RISC发展到现在无论哪一方都没有绝对的优势和劣势,在阵营上CISC以Intel、AMD的X86架构为代表,RISC则以ARM、MIPS、PowerPC等架构为代表。从硬件和性能角度分析,有以下不同:

  • 从硬件角度:CISC采用的是不定长的指令集,更加适用于特定专业领域的应用;RISC执行的是等长的精简指令集,在并行处理方面明显优于CISC。另外RISC执行的精简指令集在硬件层面实现工艺上更为简单廉价。
  • 从性能角度:在发展过程中,以Intel、AMD为代表的CISC阵营对芯片性能的提升做了很多优化,以Intel奔腾系列为代表的CPU处理器在PC机市场占有绝对的优势;而RISC由于起步晚了十年,本身在市场占有以及软件生态上不具备先天优势,专注于以低功耗为前提的高性能芯片。

随着后续技术和生态的发展,CISC和RISC也逐渐走向融合,以X86架构CISC处理器占据了个人PC市场,以ARM架构RISC处理器占据了移动端市场,并随着云计算市场的发展,ARM架构RISC处理器也向服务器市场扩张。

1.2 X86架构与ARM架构对比

在国内信创服务器领域,以海光为代表的X86架构和以鲲鹏为代表的ARM架构占据了绝对的份额。鲲鹏和海光占据性能优势,在电信、金融等行业已经广泛采用,比如中国移动在2022年上半年发布了服务器补充采购的招标公告,本次补采鲲鹏服务器占比43.30%,海光服务器占比56.70%。X86架构和ARM架构对比,有以下不同之处:

  • 指令集:X86采用CISC复杂指令集,而ARM是采用RISC精简指令集,这也是二者底层设计架构上根本不同之处。
  • 功耗与性能:X86追求高性能,导致功耗大,不节能,而ARM则是追求节能,低功耗,但与X86相比性能较差,因此X86架构在性能上有明显优势。
  • 应用领域:X86架构垄断PC操作系统近30年,在软硬件开发上已经形成统一标准;ARM架构主要应用在移动终端,尤其在Android系统下形成开源生态,在国产化过程中以鲲鹏为代表的ARM架构开始向服务器领域发展。
  • 64位计算:X86最初是32位指令集,后来采用AMD开发的64位指令集;ARM则基于原有的原则和架构开发了简明的64位架构,ARMV8就采用两种执行模式AArch32和AArch64,处理器在运行中可以无缝地在两种模式间切换。

从目前CPU的发展来看,无论是ARM还是X86,都在努力巩固自己的优势,同时积极吸取对方产品的特色,取长补短,期望有所突破。无论如何,未来的CPU肯定在朝着高性能、低功耗的方向发展。

2、国产CPU性能测试对比情况

2.1 测试环境配置情况

测试背景:国产CPU服务器主流产品包括海光和鲲鹏服务器,因此在国产数据库和信创服务器的适配性和性能对比过程中以海光处理器和鲲鹏处理器为主,并和Intel处理器进行对比。具体的测试服务器配置如下:

测试服务器都是采用虚拟化主机的形式,没有使用物理机,CPU和内存为16c32G。其中操作系统Intel使用Redhat 8.5、海光和鲲鹏使用的是信创Kylin V10版本;CPU型号海光是C86 7285、鲲鹏为Kunpeng-920、Intel是Xeon Gold 6148,CPU主频鲲鹏服务器稍高为2600。其它配置具体见表格。注:海光CPU跨Numa运行,性能有所下降。

2.2 服务器基本性能测试

2.2.1 CPU性能
使用sysbench压测工具测试服务器的CPU性能,命令如下:

#sysbench cpu –threads=`grep “processor” /proc/cpuinfo |wc -l ` --cpu-max-prime=200000 run

以上命令计算200000以内所有素数所需的时间,测试结果如下:

从CPU性能对比来看,Intel和海光的avg时间为鲲鹏ARM架构的3倍;95%占比Intel为鲲鹏的2.9倍、海光为鲲鹏的3.2倍。总体CPU性能上鲲鹏表现更优,和ARM架构的精简指令集RISC有关系。

2.2.2 内存性能
使用sysbench压测工具测试服务器的内存性能,命令如下:

memory --memory-block-size=8k --memory-total-size=8G run

以上命令测试内存中传输8G的数据量所需时间,测试结果如下:

从测试结果上看,三类服务器差别不大,鲲鹏表现更优。

2.2.3 磁盘IO性能
使用fio命令测试服务器磁盘IO性能情况,命令如下:

fio -direct=1 -iodepth=64 -rw=randrw -ioengine=libaio -bs=16k -size=10G -numjobs=8 -runtime=600 -group_reporting -filename=fiotest.txt -name=test
"-direct=1": "以直接I/O模式运行测试,绕过系统缓存。",
"-iodepth=64": "设置队列深度为64。",
"-rw=randrw": "随机读写模式。",
"-ioengine=libaio": "使用libaio作为I/O引擎。",
"-bs=16k": "设置块大小为16KB。",
"-size=10G": "设置测试文件大小为10GB。",
"-numjobs=8": "设置并发作业数为8。",
"-runtime=600": "设置测试运行时间为600秒。",
"-group_reporting": "汇总报告结果。",
"-filename=fiotest.txt": "设置测试文件名为fiotest.txt。",
"-name=test": "设置测试名称为test。"

以上命令读写10G文件测试磁盘的IO性能,测试结果如下:

从测试结果看,Intel服务器的磁盘IO性能最优、鲲鹏读写性能次之、海光表现相对差些,不排除虚拟机的影响。但整体上信创服务器的IO性能相较Intel_x86架构表现要差些。

2.3 混合业务压力测试

混合业务压力测试使用sysbench脚本测试主键select、单insert和混合读写三种场景下在不同并发情况下的性能表现。

2.3.1 主键select性能对比

使用sysbench的oltp_read_only.lua进行主键查询性能测试,结果如下:

从TPS和时延指标来看,Intel服务器表现更优、海光次之、鲲鹏较差,但是海光和鲲鹏服务器在TPS表现上总体较Intel服务器还是有差距,性能上差40%。鲲鹏服务器的CPU表现更好,但是在高并发情况下CPU使用率上不去。

2.3.2 单insert性能对比
使用sysbench的oltp_insert.lua进行单insert性能测试,结果如下:

从TPS和时延指标来看,Intel服务器表现更优、海光次之、鲲鹏较差,在单insert插入场景下海光和鲲鹏服务器在TPS表现上总体较Intel服务器性能上差15%~25%。

2.3.3 混合读写性能对比
使用sysbench的oltp_read_write.lua进行混合读写性能测试,结果如下:

从TPS和时延指标来看,Intel服务器表现更优、海光次之、鲲鹏较差,在混合读写压力场景下海光服务器在TPS表现上总体较Intel服务器性能上差40%、鲲鹏服务器较Intel服务器差50%。鲲鹏服务器在高并发情况下CPU使用率上不去,业务TPS也上不去。

2.3.4 性能比对总结
通过对Intel_x86处理器、海光X86处理器以及鲲鹏ARM处理器三种服务器在主键select、单insert和混合读写测试场景下的性能对比,总体表现如下:

  • CPU:鲲鹏表现稍好、Intel次之、海光稍差,但是鲲鹏服务器在高并发下CPU使用率上不去,影响TPS表现;
  • 内存:受限于测试场景,不好对比
  • TPS:Intel表现最好、海光次之、鲲鹏稍差,海光和鲲鹏处理器在TPS性能上相较Intel处理器有40%~50%性能差距
  • 时延:和TPS一样,Intel表现最好、海光次之、鲲鹏稍差

以上数据受限于测试服务器和测试环境,仅供参考。总结下来,国产服务器不论是海光X86还是鲲鹏ARM,和Intel处理器性能对比,存在明显的代差。不过信创服务器的CPU也在不断的迭代发展,从金融行业以及运营商信创服务器的采购中也能看出趋势,说明国芯在性能上还是受到业界肯定的。

补充说明:本文是针对国产数据库和信创服务器的适配性和性能对比测试,受限于实际的测试服务器配置和测试场景,仅供参考。比如测试海光服务器是2代CPU,实际上更高性能的3代也已经出来了。因此,在实际信创服务器选型的时候,以服务器厂商最小产品和测试案例为准。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

8

添加新评论4 条评论

红牛vc红牛vc运维工程师广州金融行业
2024-03-22 17:23
国产服务器还是需要持续发力,不断优化,才能缩小差距,提升稳定性
menglunyangmenglunyang课题专家组系统工程师中国银行
2024-03-21 22:29
作者对比了三种服务器,不同服务器优势各有千秋,国产服务器后续发展前景广阔
独自莫凭栏ly独自莫凭栏ly网络工程师某银行
2024-03-21 21:44
国产芯片性能不断优化,和国外厂商代差逐渐缩小
wanggengwanggeng系统运维工程师某银行
2024-03-21 14:04
作者针对信创服务器海光和鲲鹏差异化测试的非常有参考价值,彼此性能的差异也体现的很客观,金融企业在选择信创服务器过程中很有借鉴参考意义。后面建议可以补充一些信创服务器的运维过程中遇到的坑及差异化也可以能体现。
Ctrl+Enter 发表

本文隶属于专栏

技术路线选型
不同趋势领域都有不同技术路线,不同行业的应用规模也有不同技术路线。通过对同一场景下不同技术路线的对比分析,帮助用户选择最适合企业发展需要的技术路线。

作者其他文章

相关文章

相关问题

相关资料

X社区推广