首页 > 其他分享 >NUMA的结构

NUMA的结构

时间:2023-07-30 16:11:16浏览次数:26  
标签:Core 缓存 Socket Uncore NUMA CPU 结构

NUMA

https://houmin.cc/posts/b893097a/

一个NUMA Node内部是由一个物理CPU和它所有的本地内存(Local Memory) 组成的。广义上还包含本地IO资源,对大多数Intel x86 NUMA平台来说,主要是PCIe总线资源。
物理 CPU:一个CPU Socket里可以由多个CPU Core和一个Uncore部分组成。每个CPU Core内部又可以由两个CPU Thread组成。 每个CPU thread都是一个操作系统可见的逻辑CPU。对大多数操作系统来说,一个八核HT打开的CPU会被识别为16个CPU。
image

○ Socket:一个Socket对应一个物理CPU。 这个词大概是从CPU在主板上的物理连接方式上来的,可以理解为 Socket 就是主板上的 CPU 插槽。
○ Node:解决core的分组的问题。每个node有自己的内部CPU,总线和内存,同时还可以访问其他node内的内存。
○ Core:CPU的运算核心。 x86的核包含了CPU运算的基本部件,如逻辑运算单元(ALU), 浮点运算单元(FPU),L1和L2缓存。
○ Uncore:物理CPU里没有放在Core里的部件都被叫做Uncore。现今的Uncore部分,除了iMC(Integrated Memory Controller),PCIe Root Complex,还有QPI(QuickPath Interconnect)控制器, L3缓存,CBox (负责缓存一致性),及其它外设控制器。
○ Threads:超线程技术在一个处理器Core内部引入了额外的硬件设计模拟了两个逻辑处理器(Logical Processor), 每个逻辑处理器都有独立的处理器状态,但共享Core内部的计算资源,如ALU,FPU,L1,L2缓存。 这样在最小的硬件投入下提高了CPU在多线程软件工作负载下的性能。

标签:Core,缓存,Socket,Uncore,NUMA,CPU,结构
From: https://www.cnblogs.com/bai2022/p/17591598.html

相关文章

  • 4.循环结构
    4.循环结构当一件事需要重复去做时,就使用循环结构。一、for循环1.range()函数range(开始,结束,步长),如果range()中只放一个数字,就是获得0到这个数字减1#输出1-10之间所有的数字foriinrange(1,11):print(i,end='')2.for循环输出字符串a='我是曾老师'foriina:......
  • 4.循环结构
    4.循环结构当一件事需要重复去做时,就使用循环结构。一.for循环1.range()函数range(开始,结束,步长),如果range()中只放一个数字,就是获得0到这个数字减1#输出1-10之间所有的数字foriinrange(1,11):print(i,end='')2.for循环输出字符串a='我是故夏'foriin......
  • 4.循环结构
    4.循环结构当一件食需要重复去做时,就使用循环结构。一、for循环1.range()函数range(开始,结束,步长),如果range()中只放一个数字,就是获得0到这个数字减1#输出1—10之间所有的数字foriinrange(1,11):print(i,end='')2.for循环输出字符串a='hvk'foriina:......
  • 2.顺序结构&&习题
    2.顺序结构&&习题一、表达式1.四则运算a=6b=2print(a+b)#输出:8print(a-b)#输出:4print(a*b)#输出:12print(a/b)#输出:3.02.取余%取余,余数的符号(正负),随后面的数print(6%2)#输出:2print(7%2)#输出:1print(-7%2)#输出:1print(7%-2)#输出:-1print(-7%-2)#输出:-13.......
  • 2.顺序结构&&习题
    2.顺序结构&&习题一,表达式1.四则运算a=6b=2print(a+b)#输出:8print(a-b)#输出:4print(a*b)#输出:12print(a/b)#输出:3print(5/2)#输出2.52.取余%取余,余数的符号(正负),随后面的除数print(6%2)#输出:0print(7%2)#输出:1print(-7%2)#输出:1prin......
  • 3.分支结构and习题
    3.分支结构and习题一、语法1.if语句格式:if条件:条件成立执行的语句if6>3:print("条件成立")2.if-else语句格式:if条件:条件成立的语句else:条件不成立的语句if6>3:print('条件成立')else:print('条件不成立')3.if-eli......
  • 3.分支结构and习题
    3.分支结构and习题一.语法1.if语句格式:if条件: 条件成立执行的语句if6>3: print("条件成立")2.if-else语句格式:if条件: 条件成立执行的语句else: 条件不成立执行的语句if6>3:print('条件成立')else:print('条件不成立')3.if-elif-......
  • 数据结构基础
    逻辑结构和物理结构记录一下最近开始学习的数据结构与算法逻辑结构是指数据对象中数据元素之间的相互关系。集合结构集合结构中数据元素,除了都属于一个集合外,无其它关系线性结构数据元素之间是一对一的关系树形结构数据元素之间存在一对多的关系圆形结构数据元素存在多对多的关系物......
  • 37 pinctrl(三)数据结构
    1.pinctrl在devicetree中的定义和使用2.pinctrldriverinit3.常用数据结构pinctrl驱动的注册主要实现函数structpinctrl_dev*pinctrl_register(structpinctrl_desc*pctldesc, structdevice*dev,void*driver_data)从设备树中获取pinctrl_desc,然后将......
  • 408-数据结构算法题笔记
    常用基本操作1.定义整数无穷大#defineINT_MAX=0x7f7f7f7f;2.绝对值函数intabs_(intx){ if(x<0)return-x; returnx;}3.最大最小值函数(一般可以直接写吧)intmin(inta,intb){ if(a<b)returna; returnb;}说明时空间复杂度可以先设neg:代码规范1.函......