Numa初识

本文分享自天翼云开发者社区《Numa初识》,作者:j****n

Numa产生

在二十世纪九十年代被开发出来的。

首次商业化实现基于NUMA的Unix系统的是对称多处理XPS-100系列服务器。

由VAST公司的Dan Gielen为HISI设计的。

这个架构的巨大成功使HISI成为了欧洲的顶级Unix厂商。

Numa简介

NUMA(Non-Uniform Memory Access):非一致存储访问结构。

基本特征是具有多个 CPU 模块,每个 CPU 模块由多个 CPU( 如 4 个 ) 组成,并且具有独立的本地内存、 I/O 槽口等。由于其节点node之间可以通过互联模块 ( 如称为 Crossbar Switch) 进行连接和信息交互,因此每个 CPU 可以访问整个系统的内存 。

访问本地内存的速度将远远高于访问远地内存 ( 系统内其它节点的内存 ) 的速度。

Numa结构

node包括一个或者多个Socket,以及与之相连的local memory;

socket就是主板上的CPU插槽;

core就是socket里独立的一组程序执行的硬件单元,比如寄存器,计算单元等;

thread:就是超线程hyperthread的概念,逻辑的执行单元,独立的执行上下文,但是共享core内的寄存器和计算单元

Numa相关命令

lscpu:查看机器的NUMA拓扑结构

上图中机器有2个sockets,每个sockets包含1个numa node,每个numa node中有8个cores,每个cores包含2个thread,所以总的threads数量=2(sockets)×1(node)×8(cores)×2(threads)=32.

numastat:查看numa状态

numa_hit是打算在该节点上分配内存,最后从此节点分配的次数;

num_miss是打算在该节点分配内存,最后从其他节点分配的次数;

num_foregin是打算在其他节点分配内存,最后从此节点分配的次数;

interleave_hit是采用interleave策略最后从该节点分配的次数;

local_node该节点上的进程在该节点上分配的次数 other_node是其他节点进程在该节点上分配的次数

相关推荐
jiayong238 小时前
DevOps体系详解02-技术架构与工具链
运维·架构·devops
SmartBrain11 小时前
Qwen3-VL 模型架构及原理详解
人工智能·语言模型·架构·aigc
OpenCSG12 小时前
对比分析:CSGHub vs. Hugging Face:模型管理平台选型对
人工智能·架构·开源
麦兜*13 小时前
深入解析现代分布式事务架构:基于Seata Saga模式与TCC模式实现金融级高可用与数据最终一致性的工程实践全解析
分布式·金融·架构
X54先生(人文科技)14 小时前
元创力开源项目介绍
人工智能·架构·零知识证明
only-qi16 小时前
微服务场景下,如何实现分布式事务来保证一致性?
分布式·微服务·架构
乾元17 小时前
实战案例:解析某次真实的“AI vs. AI”攻防演练
运维·人工智能·安全·web安全·机器学习·架构
全栈游侠18 小时前
STM32F103XX 01-存储器和总线架构
stm32·嵌入式硬件·架构
Ivanqhz19 小时前
现代异构高性能计算(HPC)集群节点架构
开发语言·人工智能·后端·算法·架构·云计算·边缘计算
DisonTangor19 小时前
智谱开源基于GLM-V编码器-解码器架构的多模态OCR模型——GLM-OCR
架构·开源·ocr