关于异数OS服务器CPU效能分析工具

该工具发布背景

近年来,国产服务器CPU产业的逐渐发展,但由于专业性较差,与国外存在40年以上技术差距,一些服务器CPU厂商利用信息差来制造一些非专业的数据夸大并虚假宣传混淆视听,成功达到劣币驱良币的目标,本着正本清源驱除劣币以正视听让国产服务器CPU产业达到良性竞争的目标,四川墨道科技放出部分专业的异数OS服务器CPU效能分析工具,让更多业内人士能够更加准确的认识辨服务器CPU性能,并以此帮助落后40年的国产服务器CPU开发商能够找到自身产品缺陷不足来提高优化产品。

这个工具测的什么?

服务器CPU和桌面CPU实际上非常大的不同,桌面CPU通常注重IPC和频率,但服务器CPU则更看重多核numa互联访存效率,为何会这样?因为CPU的IPC性能差距通常不会高于1个数量级,但是numa互联访存效率则会导致CPU的IPC利用效率下降2到3个数量级,因此专业的服务器开发商通常都不关心CPU的IPC和频率,而更关心numa互联效率及其优化方案,因此异数OS的这个服务器CPU分析工具并不测试CPU的IPC,而主要测试项目是CPU Diff,当然这个CPU Diff和其他测试工具有不同点,他的主要目标是更加深入的揭露一些CPU厂的作弊行为,CPU厂一般处于自身利益考虑,只放出最小延迟的CPU Diff,这个Diff是不负责任并有害的,因为最小延迟测试同一时间只启动两个CPU核做延迟测试,其他核都是空载空闲的,这与实际云环境不同,云环境一般多核访存负载都很高,并且无法做针对性的numa优化,这时测到的CPU延迟会成十倍甚至百倍的增加,从而使IPC下降到甚至不足百分之一,因此CPU厂通常为了掩盖问题真像而只提供最小互联延迟,并让这个成绩好看,这种行为甚至能忽悠到很多专业的服务器开发商,但这个成绩在更多时候可能要反着理解才有意义,因为一些做了numa分布式内存解决方案的cpu,最小延迟表现可能是很差的,但拥塞延迟效率却会提高,反而是一些没有做numa分布式内存的cpu,最小延迟数据很好看,但拥塞延迟完全不能入眼。

因此异数OS的 CPU Diff工具提供了拥塞延迟测试数据,拥塞延迟是所有CPU核同时启动延迟测试得到的CPU延迟数据,之后通过拥塞延迟与最小延迟的比值来得到拥塞延迟效率,单位为千分之一,该值体现服务器CPU全核负载下的真正效率,这个效率可用于分析云上实际部署后的性能,比如拥塞效率是千分之十,则说明一个100核的服务器CPU在访存满载时性能不如一个单核CPU。

例子

关于异数OS服务器CPU效能分析工具_第1张图片

打开工具选择第九项,CPU Diff,这张图是12700H测得的延迟表现,以此举例说明,Core-MinLatencyTest是最小延迟测试,单位是ns他的成绩几乎和CPU厂发布的最小延迟数据一致,Core-ThrongLatencyTest是拥塞延迟测试,数值超过999ns时显示溢出,Throng efficiency是拥塞访存效率,他是Core-ThrongLatencyTest成绩和Core-MinLatencyTest成绩的比值,单位是千分之一,如果Core-ThrongLatencyTest数值显示溢出,可用Throng efficiency反推拥塞延迟,可以看出12700H的最小延迟测试成绩很优秀,无论大核小核都只有40ns到50ns延迟,但在拥塞延迟测试中,大核延迟则增加了10倍,小核延迟增加了20倍,这说明你的游戏客户端或者服务器在做粒子物理仿真时开更多的核是无意义的,开2到4个CPU核甚至只开一个反而更优,小核12访问小核19最小延迟45ns拥塞延迟已超过999溢出,拥塞延迟效率千分之39,因此反推出拥塞延迟为1153ns。

平台支持

该测试工具目前支持x64 arm64 sw64三种指令集,采用静态链接编译,不开放源代码,因此不存在编译优化,操作系统优化,libc优化作弊等问题,另外在linux上需要开启numa巨页支持,一些国产服务器CPU可能由于不专业所以没有做好numa巨页支持,这需要服务器CPU厂自己解决。numa巨页支持属于服务器必不可少的选项,在很多基础软件中都有大量使用,比如大多数的数据库软件,numa 巨页的开启方法见后面两张图,分别是申威sw1621,阿里云安培32核arm的,其他平台可以照抄或自行研究。
关于异数OS服务器CPU效能分析工具_第2张图片

关于异数OS服务器CPU效能分析工具_第3张图片

下载链接

Github下载地址

你可能感兴趣的:(服务器,运维)