socket:在服务器上,一块主板可以拥有多个socket,即CPU的物理插槽。一般插槽上CPU的封装方式会分为BGA和LGA两种方式。BGA为CPU集成在主板上,不可拆卸式的。而LGA是可拆卸方式。
node:node是逻辑概念,对应于socket。NUMA结构中core或cpu分组,每个node内部有自己的CPU总线和内存。Node是可跨socket的。(node是针对NUMA的硬件体系结构而言的)
die:die是晶片颗粒,一颗裸晶片。如部分CPU中会有两个die(一个socket中两个die),分为die0和die1。
core:core是物理概念,一个独立的硬件执行单元,对应于物理CPU(但是是多个core集成在一个真正的物理CPU中),也是处理器芯片上的独立计算核心。
cpu/processor:这两个术语指packge、core、逻辑内核(logical processor)等多种意思。当我们讨论计算机硬件时,CPU和Porocessor一般指physical processor即一个packge(core)。在操作系统或应用程序中,CPU和porocessor通常指logical processor。
numa node:现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的SMP模型。但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。NUMA(Non-Uniform Memory Access)就是这样的环境下引入的一个模型。比如一台机器是有2个处理器,有4个内存块。我们将1个处理器和两个内存块合起来,称为一个NUMA node,这样这个机器就会有两个NUMA node。在物理分布上,NUMA node的处理器和内存块的物理距离更小,因此访问也更快。比如这台机器会分左右两个处理器(cpu1, cpu2),在每个处理器两边放两个内存块(memory1.1, memory1.2, memory2.1,memory2.2),这样NUMA node1的cpu1访问memory1.1和memory1.2就比访问memory2.1和memory2.2更快。所以使用NUMA的模式如果能尽量保证本node内的CPU只访问本node内的内存块,那这样的效率就是最高的。
参考:
(15条消息) Socket/Node/Die/Core/Processor/ 针对CPU封装的精细区分_猎手明的博客-CSDN博客_cpu socket
https://blog.csdn.net/weixin_45585016/article/details/123768095(15条消息) NUMA node_S1234567_89的博客-CSDN博客
https://blog.csdn.net/S1234567_89/article/details/51083965
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231417.html原文链接:https://javaforall.net
