numa下socket node cpu thread的关系

linux性能优化——关于NUMA的配置 此外对新手要注意:pcie上并没有NUMA信息,因为pcie上的信息都是硬件设备,NUMA并不是硬件,而只是一种内存技术,该技术和CPU的支持分不开,所以,用。例如,某一个pcie地址段是和NUMA的Node0绑定的,则该地址段上的设备应绑定Node0。以网卡为例,通过lspci找到了某一张网卡的pcie地址号0000:4b:00.01,bus为4b,小于80,故应绑定Node0。该指令的值会返回所属的Node号,如果返回0,便代表该网卡绑定在Node0上。如果返回的值为0,说明该网卡绑定NUMA正确。 阅读详情
AI摘要

本文详细解析了CPU拓扑结构中的关键概念,如socket、node、core与thread之间的关系,并通过实例展示了这些组件如何共同作用形成一个完整的计算系统。此外,还介绍了NUMA架构下内存访问的特点。

注:仅为个人理解,有错请不吝赐教


socket node cpu thread的关系

socket ⇄ node

socket是一个物理上的概念,指的是主板上的cpu插槽。node是一个逻辑上的概念,对应于socket。

core ⇄ 物理cpu

core就是一个物理cpu,一个独立的硬件执行单元。

thread ⇄ 逻辑cpu

一个机器上总共有多少个cpu,则其有相对应个thread。

详细举例如下:
这里写图片描述
由上图可知
当前机器有2个sockets:

Socket(s):2//共有2个sockets

每个sockets包含1个numa node:

NUMA node(s):2//共有2个NUMA nodes

每个numa node中有6个cores:

Core(s)per socket:10//每个socket有10个cores

每个cores包含2个thread:

Thread(s)per core:1//每个core有1个threads

该机器上共有20个threads/逻辑cpu:

CPU(s):20//共有20个逻辑CPU(threads)
thread = Socket(s) * Core(s) per socket * Thread(s) per core
       = 2 * 10 * 1
       = 20 

顺便提一句cache:
L1 cache分为数据cache和指令cache:

L1dcache:32K//L1datacache32k
L1icache:32K//L1instructioncache32k

node

numa架构下,访问本地内存的速度要快于访问远端内存的速度,访问速度与node的距离有关系。
这里写图片描述
上图可知
该机器上有两个node(0,1)

available: 2 nodes (0-1)

node 0的大小为32487MB,node 1的大小为32768MB

node 0 size: 32487 MB
node 1 size: 32768 MB

node 0上有10个cpu,编号为0~9:

node 0 cpus: 0 1 2 3 4 5 6 7 8 9

node 1上有10个cpu,编号为10~19:

node 1 cpus: 10 11 12 13 14 15 16 17 18 19

node 0到本地内存的距离为10,到node 1的内存距离为20;node1到本地内存的距离为10,到node 0的内存距离为20。

node distances:
node   0   1 
  0:  10  21 
  1:  21  10 

core(物理cpu)

这里写图片描述
由上图可知,我的机器上每个socket上面有10个core
这里写图片描述
由上图可知,这10个core的编号为0~4和8~12。


thread(逻辑cpu)

这里写图片描述
查看逻辑cpu,即thread的信息:

cat /proc/cpuinfo

physical id为0表示此cpu在socket 0也就是node 0上面

physical id : 0

cpu cores为10表示此node上面有10个core

cpu cores : 10

core id为0表示此cpu在node 0的core 0上面

core id : 0

siblings 表示位于这一物理封装上的逻辑处理器的数量。简单的说:“siblings”指的是一个物理CPU有几个逻辑CPU
siblings为10表示此在core 0(物理cpu)上有10个thread(逻辑cpu)。

siblings : 10

附一些相关链接:
NUMA架构下的CPU拓扑(这个siblings解释错了,但是其他讲得非常清晰)
NUMA体系结构详解
LINUX平台上的NUMA API(A NUMA API for LINUX)(第一部分)
Linux下区分物理CPU、逻辑CPU和CPU核数(这个属于加深知识理解,也讲得很好)

numa node效应对网卡的影响以及解决方式 NUMA的诞生是为了解决SMP架构下不断增多的CPU Core导致的性能问题,NUMA调整了CPU和内存的布局和访问关系。将CPU划分到多个Node节点上,每个Node都有自己独立的内存空间。各个node之间通过高速互联通讯。CPU访问不同类型节点的内存是不相同的,访问本地节点的速度最快,访问远端节点的速度最慢,即访问速度与节点的距离有关,距离越远访问速度越慢,即非一致。 阅读详情

相关推荐

CPU处理器NUMA架构简介

在实际工作中,经常遇到服务器是否开启NUMA、NUMA绑定几颗Core、跨NUMA节点访问的性能下降等等话题。那么NUMA作为非一致性内存访问的多处理器架构,在架构上有什么特性、与SMP架构有哪些不同,调优策略等,本文将作简要介绍。

牧羊人的方向 9259

NUMA、NODE、SOCKET、CPU关系深度探索

假如系统有 A、B、C、D 四个numa,进程运行在A numa 所属core 上, 那你是否知道A numa core 上的进程访问B、C、D哪个numa 的内存性能会更高?或者浅一层的问题,你认为 NUMA 和 SOCKET是一对一的关系吗?

犀牛卫士 5433

CPU拓扑与NUMA架构:从核心概念到Linux性能调优实战

CPU拓扑描述了处理器内部核心、线程之间的物理连接与层次关系,是理解现代多核系统并行计算性能的基础。其核心原理在于通过Socket(插槽)、Core(核心)和Thread(线程)的三层结构,组织计算资源,并直接关联缓存层次与内存访问路径。这一设计的技术价值在于,它决定了线程调度和数据放置的效率,是优化程序性能、避免资源争用的关键。在实际应用场景中,尤其是在运行对延迟敏感或需要大量线程间通信的高性能计算、数据库服务时,忽视CPU拓扑可能导致程序性能远低于预期,出现线程数增加但性能不升反降的现象。结合NUMA(

weixin_34409357的博客 337

BIOS配置NUMA Nodes Per Socket为0或NUMA disabled无法关闭numa​

正常情况下在BIOS中配置NUMA Nodes Per Socket选项为0即可正常关闭numa功能,可在系统中下载numactl使用numastat来验证。输入命令 grub2-mkconfig -o /boot/grub2/grub.cfg 用更改的文件重新生成 /boot/grub2/grub.cfg​。某些情况下,在bios配置NUMA Nodes Per Socket为0后无法关闭numa功能,使用numastat命令会输出多个node,如下。

abc2116146的博客 3070

从零构建:openEuler WSL下的ARM交叉编译工具链自动化部署方案

本文详细介绍了在openEuler WSL环境下使用Ansible自动化部署ARM交叉编译工具链的方案。通过编写Ansible角色和Playbook,实现从基础环境配置到工具链安装、环境变量设置的一键部署,大幅提升嵌入式开发效率。方案支持多种ARM架构,并扩展了QEMU仿真、VS Code远程开发等实用功能,是嵌入式开发者的高效解决方案。

h3i4j的博客 382

GO与KEGG富集分析实战:从差异基因到功能注释

本文详细介绍了GO与KEGG富集分析的完整实战流程,从差异基因列表出发,通过基因ID转换、核心分析到结果可视化,系统阐述了如何将基因数据转化为生物学洞察。文章重点讲解了使用R语言clusterProfiler包进行GO和KEGG富集分析的具体步骤、参数设置及常见问题解决方案,并强调了结果解读与生物学故事构建的方法,帮助研究者深入理解差异基因的集体功能倾向。

weixin_29291863的博客 918

numa架构下socket、node、cpu thread的关系

转载自:https://blog.youkuaiyun.com/envy13/article/details/80241886 socket node cpu thread的关系 socket ⇄ node socket是一个物理上的概念,指的是主板上的cpu插槽。node是一个逻辑上的概念,对应于socket。 core ⇄ 物理cpu core就是一个物理cpu独立的硬件执行单元。 thread ⇄ 逻辑cpu 一个机器上总共有多少个逻辑cpu(core),则其有相对应个thread。 如上图: 拥有两个cpu

YFaris的博客 3089

在F1C100s上跑GBA游戏:手把手教你用Buildroot配置SDL和移植gpsp模拟器

本文详细介绍了在全志F1C100s开发板上配置Buildroot、移植SDL库和gpsp模拟器的完整流程,帮助开发者实现在ARM9平台上流畅运行GBA游戏。内容涵盖环境配置、交叉编译、常见问题解决及性能优化技巧,特别针对'段错误'和'无声音'等典型问题提供实用解决方案。

weixin_42566424的博客 397

NUMA架构下的CPU拓扑结构

黑色部分为转载内容,蓝色部分为本人的一台主机实测,在文中使用分割线进行区别“——————” 作者:weijitao 来源:优快云 原文:https://blog.youkuaiyun.com/weijitao/article/details/52884422 目前多核已经越来越普遍的使用,Linux对NUMA架构的支持也越来越完善。对于内存管理、多处理的负载均衡调度等进行了大量的优化工作。 NUM...

SweeNeil 3128

如何在高版本的ubuntu系统里安装gcc4.1.2

1、下载安装包,一共五个http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-4.1/,根据计算机系统位数   进行下载,64位下载amd64结尾的。开头分别是cpp-4.1_4.1.2、g++-4.1_4.1.2、gcc-4.1-base_4.1.2、gcc-     4.1_4.1.2、libstdc++6-4.1 2、使用sudo d

lsr_fighting的博客 1931

蓝鸟四轴飞控系统C程序V3.0(基础版本)深度解读

2. 解析遥控通道数据(油门 / 横滚 / 俯仰 / 偏航),转换为标准化值(-1000~+1000);3. 封装PID初始化(PID_Init,配置KP/KI/KD、输出限幅、积分限幅);,包含姿态角(Attitude_Data.Roll/Pitch/Yaw)、角速度(Gyro_Data.X/Y/Z)、遥控值(RC_Data[0~5])、电池电压(Bat_Volt)、电机PWM值(Motor_PWM[0~3])、系统状态(Sys_State),校验和通过Check_Sum()函数计算;

搏博的专栏 343

NUMA(Non-Uniform Memory Access)架构的介绍

最早的CPU是以下面这种形式访问内存的:在这种架构中,所有的CPU都是通过一条总线来访问内存,我们把这种架构叫做SMP架构(Symmetric Multi-Processor),也就是对称多处理器结构。但是随着CPU多核技术的发展,,因为所有的处理器都通过一条总线连接起来,因此随着处理器的增加,系统总线成为了系统瓶颈,另外,处理器和内存之间的通信延迟也较大。

保持写作习惯,完成知识沉淀 3669

2024年软考信息安全工程师备考历年真题汇总

信息安全工程师分属“信息系统”专业,位处中级资格,2016年下半年,第一次开考信息安全工程师(中级)考试。目前每年考试一次。已开考六次,2016年11月12日,2017年5月20日,2018年5月26日,2019年5月25日,2020年11月7日,2021年11月6日为第六次考试。 第五次和第六次考试,采用第二版教材。 2024年软考信息安全工程师备考历年真题汇总

月梦工作室 5101

NUMA相关

NUMA相关的几个概念 Socket是一个物理上的概念,指的是主板上的cpu插槽。 Node是一个逻辑上的概念,对应于socket。 Core就是一个物理cpu,一个独立的硬件执行单元。 Thread就是超线程的概念,是一个逻辑cpu,共享core上的执行单元。 NUMA使用node来管理cpu和内存。 # ll /sys/devices/system/node/ total 0 -r--r-...

zhixingheyi_tian的博客 1325

ANSYS专题-利用ANSYS SIwave进行PCB板的EMS仿真

本文详细描述了使用ANSYSSIwave进行电路板电磁敏感度(EMS)仿真的完整流程。主要步骤包括:导入AD软件生成的IPC2581文件,检查PCB叠层和电路参数,为敏感网络设置50欧姆端口并指定GND为参考网络,进行验证检查后设置频段范围和入射波类型(单/多入射、极化方式等),最后启动仿真并查看选定网络的EMS感应电压曲线。该过程提供了从文件准备到结果分析的全套操作指南,适用于评估电路板在电磁干扰环境下的性能表现。

whm128的博客 3590

Unreal Engine Profiler:动画系统性能分析教程_2024-07-23_03-05-38.Tex

Unreal Engine Profiler 是一个内置的性能分析工具,它可以帮助开发者识别和解决游戏中的性能瓶颈。Profiler 提供了详细的性能数据,包括 CPU 使用率、GPU 负载、内存使用情况等,特别针对动画系统,可以查看动画蓝图的执行时间、骨骼动画的计算成本、以及动画混合和重定向的效率。通过这些数据,开发者可以定位到具体的问题,比如哪些动画状态消耗了过多的 CPU 时间,或者哪些动画资源导致了内存泄漏。

825

NUMA体系结构详解

由于OpenStack Kilo增加很多针对NUMA体系结构的增强功能,所以又重新温习了下NUMA相关的知识,简单做个笔记。   1. NUMA的几个概念(Node,socket,core,thread)   对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图:    一句话总结:socket就是主板上的CPU插槽; Core就是socket里独立的一组程序执行

少帅的天空 4万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

NUMA体系结构简述

第一个图很好的展示了几个基础概念的关系,借用一下,记录一下。  1. NUMA的几个概念(Node,socket,core,thread)    对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图:     一句话总结:socket就是主板上的CPU插槽; Core就是socket里独立的一组程序执行的硬件单元,比如寄存器,

wangcg123的专栏 959

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

认识NUMA

NUMA是Non-Uniform Memory Access(非统一内存访问)的缩写,它指的是一种架构,在这种架构中,每个处理器访问内存的速度并不相同。过去的多处理器系统基于对称多处理(Symmetric Multi-Processing, SMP)或统一内存架构(Uniform Memory Architecture, UMA)设计,在这种设计中,所有处理器共享单一内存池,因此会出现总线带宽和缓存一致性问题,导致性能瓶颈。

weixin_43996442的博客 827

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

杂记十:numa详解

1.NUMA的几个概念(Node,socket,core,thread) 对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图: 一句话总结:socket就是主板上的CPU插槽; Core就是socket里独立的一组程序执行的硬件单元,比如寄存器,计算单元等; Thread:就是超线程hyperthread的概念,逻辑的执行单元,独立的执行上下文,但是共享core内的寄存器和计算单元。 NUMA体系结构中多了Node的概念,这个概念其实是用来解决core的分组的问题,具体

Cape_sir 2078

NUMA架构下的CPU拓扑

目前多核已经越来越普遍的使用,Linux对NUMA架构的支持也越来越完善。对于内存管理、多处理的负载均衡调度等进行了大量的优化工作。 NUMA相关的几个概念有node、socket、core和thread。Socket是一个物理上的概念,指的是主板上的cpu插槽。Node是一个逻辑上的概念,对应于socket。Core就是一个物理cpu,一个独立的硬件执行单元。Thread就是超线程的概

weijitao的博客 1万+

浅析NUMA体系结构

由于OpenStack Kilo增加很多针对NUMA体系结构的增强功能,所以又重新温习了下NUMA相关的知识,简单做个笔记。    1. NUMA的几个概念(Node,socket,core,thread)    对于socket,core和thread会有不少文章介绍,这里简单说一下,具体参见下图:     一句话总结:socket就是主板上的CPU插槽; Core就是sock

iongzhidun1的博客 4929
上一篇: 卸载win10预装软件和小娜
下一篇: 秋招提前批总结
吃瓜三道杠
博客等级 码龄14年 22粉丝 29原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值