当前位置: 首页 > news >正文

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

该工具发布背景

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

差距40年的依据是什么?

甲骨文公司成立于1977年,其产品Oracle垄断全球高端市场40年,阿里自2012年开始去IOE战略,截至2023年,其核心产品OceanBase在当今最强大的服务器CPU加持下,其TPS性能仅相当于2010年Oracle RAC(甲骨文自研的CPU)性能的三分之一,因此有理由相信在服务器领域,中美差距至少在40年。

这个工具测的什么?

服务器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。

12700H win平台例子

在这里插入图片描述

在这里插入图片描述

打开工具选择第10项,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核甚至只开1个核反而更优,小核12访问小核19最小延迟45ns,但拥塞延迟已超过999溢出,拥塞延迟效率千分之39,因此反推出拥塞延迟为1153ns,通过对比最小延迟分布和拥塞延迟分布可以发现最小延迟分布仅有1个梯度,而拥塞延迟分布有3个梯度,拥塞延迟梯度分布更加符合numa互联瓶颈的分布梯度,因此更加符合云服务器实际有负载时的场景情况。

平台支持

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

在这里插入图片描述

下载链接

Github下载地址

相关文章:

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

该工具发布背景 近年来,国产服务器CPU产业的逐渐发展,但由于专业性较差,与国外存在40年以上技术差距,一些服务器CPU厂商利用信息差来制造一些非专业的数据夸大并虚假宣传混淆视听,成功达到劣币驱良币的目标&#xff0…...

十四、pikachu之XSS

文章目录 1、XSS概述2、实战2.1 反射型XSS(get)2.2 反射型XSS(POST型)2.3 存储型XSS2.4 DOM型XSS2.5 DOM型XSS-X2.6 XSS之盲打2.7 XSS之过滤2.8 XSS之htmlspecialchars2.9 XSS之href输出2.10 XSS之JS输出 1、XSS概述 Cross-Site S…...

五分钟了解最短路径寻路算法:Dijkstra 迪杰斯特拉

最短路径查找算法 寻路算法在生活中应用十分常见。本文实现的是关于图的最短路径查找算法。 该算法比较常见于游戏和室内地图导航。 实现 例子:几个节点之间,相连接的线段有固定长度,该长度决就是通过代价。查找到花费最少的路径。该图结构…...

【ARM】Day8 中断

1. 思维导图 2. 实验要求: 实现KEY1/LEY2/KE3三个按键,中断触发打印一句话,并且灯的状态取反 key1 ----> LED3灯状态取反 key2 ----> LED2灯状态取反 key3 ----> LED1灯状态取反 key3.h #ifndef __KEY3_H__ #define __KEY3_H__#in…...

大数据Flink(六十八):SQL Table 的基本概念及常用 API

文章目录 SQL & Table 的基本概念及常用 API 一、​​​​​​​一个 Table API\SQL任务的代码结构...

算法练习- 其他算法练习6

文章目录 数字序列比大小最佳植树距离文艺汇演计算误码率二维伞的雨滴效应阿里巴巴找黄金宝箱4 数字序列比大小 A、B两人一人一个整数数组,长度相等,元素随即;两人随便拿出一个元素(弹出),比较大小&#x…...

ModaHub魔搭社区:WinPlan经营大脑管理中心

角色权限 展示设置的角色,及对应的成员及权限点。角色、成员、权限点可自由配置;管理员的角色不可删除、权限点默认全部不可更改。 WinPlan决策系统 算力 阿里云 腾讯云 AWS亚马逊 框架 业务数据基座 WinPlan垂直大模型 模型 分...

滑动窗口系列4-Leetcode322题零钱兑换-限制张数-暴力递归到动态规划再到滑动窗口

这个题目是Leecode322的变种,322原题如下: 我们这里的变化是把硬币变成可以重复的,并且只有coins数组中给出的这么多的金币,也就是说有数量限制: package dataStructure.leecode.practice;import java.util.Arrays; i…...

Nginx全局配置

一、修改启动进程数 worker_processes 1; #允许的启动工作进程数数量,和你真实的cpu数量有关 1 worker_processes auto; #如果设置为auto 就是你真实的cpu数量 ps axo pid,cmd,psr,ni|grep nginx #可以看到 nginx的 worker数量 二、日制分割 [rootyuji ~]#…...

VUE笔记(四)vue的组件

一、组件的介绍 1、组件的作用 整个项目都是由组件组成 可以让代码复用:相似结构代码可以做成一个组件,直接进行调用就可以使用,提高代码复用性 可以让代码具有可维护性(只要改一处,整个引用的部分全部都变&#xf…...

菜鸟教程《Python 3 教程》笔记

菜鸟教程《Python 3 教程》笔记 0 写在前面1 基本数据类型1.1 Number(数字)1.2 String(字符串)1.3 bool(布尔类型)1.4 List(列表)1.5 Tuple(元组)1.6 Set&…...

JAVA学习-愚见

JAVA学习-愚见 分享一下Java的学习路线,仅供参考【本人亲测,真实有效】 1、尽可能推荐较新的课程 2、大部分视频在B站上直接搜关键词就行【自学,B大的学生】 文章目录 JAVA学习-愚见前期准备Java基础课程练手项目 数据库JavaWeb前端基础 Vue…...

Watch数据监听详解

一、Vue2写法 1、watch使用的几种方法 1、通过 watch 监听 data 数据的变化,数据发生变化时,就会打印当前的值 watch: {data(val, value) {console.log(val)console.log(value)}} 2、通过 watch 监听 list 数据的变化,数据发生变化时&…...

UML建模以及几种类图的理解

文章目录 前言1.用例与用例图1.1 参与者1.2 用例之间的关系1.3 用例图1.4 用例的描述 2.交互图2.1 顺序图2.2 协作图 3.类图和对象图3.1 关联关系3.2 聚合和组合3.3 泛化关系3.4 依赖关系 4.状态图与活动图4.1 状态图4.2 活动图 5.构件图 前言 UML通过图形化的表示机制从多个侧…...

opencv进阶18-基于opencv 决策树导论

1. 什么是决策树? 决策树是最早的机器学习算法之一,起源于对人类某些决策过程 的模仿,属于监督学习算法。 决策树的优点是易于理解,有些决策树既可以做分类,也可以做回归。在排名前十的数据挖掘算法中有两种是决策树[1…...

13.4 目标检测锚框标注 非极大值抑制

锚框的形状计算公式 假设原图的高为H,宽为W 锚框形状详细公式推导 以每个像素为中心生成不同形状的锚框 # s是缩放比,ratio是宽高比 def multibox_prior(data, sizes, ratios):"""生成以每个像素为中心具有不同形状的锚框"""in_he…...

【论文笔记】最近看的时空数据挖掘综述整理8.27

Deep Learning for Spatio-Temporal Data Mining: A Survey 被引用次数:392 [Submitted on 11 Jun 2019 (v1), last revised 24 Jun 2019 (this version, v2)] 主要内容: 该论文是一篇关于深度学习在时空数据挖掘中的应用的综述。论文首先介绍了时空数…...

【大模型】基于 LlaMA2 的高 star 的 GitHub 开源项目汇总

【大模型】基于 LlaMA2 的高 star 的 GitHub 开源项目汇总 Llama2 简介开源项目汇总NO1. FlagAlpha/Llama2-ChineseNO2. hiyouga/LLaMA-Efficient-TuningNO3. yangjianxin1/FireflyNO4. LinkSoul-AI/Chinese-Llama-2-7bNO5. wenge-research/YaYiNO6. michael-wzhu/Chinese-LlaM…...

解决elementUI打包上线后icon图标偶尔乱码的问题

解决vue-elementUI打包后icon图标偶尔乱码的问题 一、背景二、现象三、原因四、处理方法方式1:使用css-unicode-loader方式2:升高 sass版本到1.39.0方式3:替换element-ui的样式文件方式4:更换打包压缩方式知识扩展:方式…...

yolov3加上迁移学习和适度的数据增强形成的网络应用在输电线异物检测

Neural Detection of Foreign Objects for Transmission Lines in Power Systems Abstract. 输电线路为电能从一个地方输送到另一个地方提供了一条路径,确保输电线路的正常运行是向城市和企业供电的先决条件。主要威胁来自外来物,可能导致电力传输中断。…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...