NUMA架构

UMA架构

在单cpu的时代,cpu与内存的交互需要通过北桥芯片来完成。cpu通过前端总线(FSB, front Side Bus)连接到北桥芯片,由北桥芯片连接到内存(内存控制器是集成在北桥芯片里的)。为了提升性能,cpu的频率不断提高,后又向多核发展。多核也是共享一个北桥来读取内存。在多处理器的系统里,多个cpu共享相同的物理内存,每个cpu访问内存的任何时间所需时间相同,这种架构被称为一致性内存访问模型(Uniform-memory-Access, 简称UMA)。

在这里插入图片描述

NUMA架构

UMA的主要特征是共享,系统中的资源cpu、内存、io等都是共享的,这就导致了它的扩展能力是有限的,对它而言,每一个共享的环节都是造成其扩展的瓶颈。尤其是,随着核数的增多,cpu对总线、北桥(内存控制器)的争用越来越激烈,它们在响应时间上的性能瓶颈越来越明显。为了消除UMA架构的瓶颈,硬件工程师将原集成在北桥芯片中的内存控制器进行了拆分,将其集成到cpu中,一般一个cpu socket都有一个独立的内存控制器,每个cpu socket也独立连接到一部分对立的内存,这部分CPU直连的内存被称为本地内存。cpu之间通过QPI总线连接,CPU 可以通过QPI总线访问不和自己直连的“远程内存”。这种架构模型,cpu访问本地内存与远程内存所用的时间是不一样的,一般访问本地内存要比访问远程内存快,因此也被称做非一致或非均匀内存访问模型(Nonuniform-Memory-Access, 简称NUMA)。这种构架下,不同的内存器件和CPU核心从属不同的 Node,每个 Node 都有自己的集成内存控制器(IMC,Integrated Memory Controller)。在 Node 内部,架构类似SMP,使用 IMC Bus 进行不同核心间的通信;不同的 Node 间通过QPI(Quick Path Interconnect)进行通信,如下图所示:

在这里插入图片描述

UMA使用单内存控制器,占用内存带宽有限。而NUMA机器通过使用多个内存控制器来增强内存的可用带宽。

感受NUMA

NUMA Node

numactl --hardware

在这里插入图片描述

如图所示,系统中共有8个节点(0-7),每个节点都有一定数量的CPU和可用内存。以下是每个节点的一些信息:

节点0:具有CPU 0和1,拥有6637 MB的内存,其中6137 MB是可用的。
节点1:具有CPU 2和3,拥有8063 MB的内存,其中7744 MB是可用的。
节点2:具有CPU 4和5,拥有8063 MB的内存,其中7885 MB是可用的。
节点3:具有CPU 6和7,拥有8063 MB的内存,其中7227 MB是可用的。
节点4:具有CPU 8和9,拥有8063 MB的内存,其中7935 MB是可用的。
节点5:具有CPU 10和11,拥有8063 MB的内存,其中7993 MB是可用的。
节点6:具有CPU 12和13,拥有8063 MB的内存,其中8016 MB是可用的。
节点7:具有CPU 14和15,拥有7827 MB的内存,其中7533 MB是可用的。

最后,输出还提供了节点之间的距离矩阵。距离值表示从一个节点到另一个节点的访问延迟。距离值越低,访问延迟越小。在这个例子中,节点之间的距离矩阵以节点编号的形式给出,数值越低表示节点之间的距离越近。

查看指定进程NUMA使用情况

numastat -p `ps -aux | grep 'top' | grep -v 'grep' | awk '{print $2}'`

在这里插入图片描述

“Huge”、“Heap”、"Stack"和"Private"是描述进程在NUMA架构中使用的不同类型内存的术语。

  • Huge(巨大):指的是进程使用的大页面内存(通常为2MB或更大)。大页面内存可以提高内存访问性能,尤其对于大量数据的访问和处理。

  • Heap(堆):指的是进程使用的动态分配的堆内存。堆内存用于存储动态分配的对象、变量和数据结构。

  • Stack(栈):指的是进程使用的栈内存,用于存储函数调用、局部变量和函数参数等。栈内存是按照后进先出(LIFO)的原则进行管理。

  • Private(私有):指的是进程使用的私有内存,该内存只能由进程本身访问。私有内存包括进程的代码、堆栈和其他私有数据。

NUMA状态

在这里插入图片描述
这是使用"numastat"命令获取的与NUMA架构相关的统计数据的输出。这些数据提供了关于NUMA节点之间内存访问的信息。

输出中的每个节点都显示了以下统计数据:

  • numa_hit:表示在本地节点上成功访问的内存页数。
  • numa_miss:表示在本地节点上无法找到的内存页数,需要从其他节点获取。
  • numa_foreign:表示在其他节点上成功访问的内存页数。
  • interleave_hit:表示在本地节点和其他节点之间成功交织(interleave)访问的内存页数。
  • local_node:表示在本地节点上访问的总内存页数。
  • other_node:表示在其他节点上访问的总内存页数。

设置进程在指定的CPU上运行

在这里插入图片描述
输出中的每个配置选项都表示以下内容:

  • policy:表示NUMA绑定的策略。在此输出中,策略设置为"default",表示使用系统的默认策略。

  • preferred node:表示首选节点。在此输出中,首选节点设置为"current",表示首选节点与当前执行进程所在的节点相同。

  • physcpubind:表示CPU绑定,即将进程绑定到特定的物理CPU上。在此输出中,进程绑定到了CPU 0到15上。

  • cpubind:表示CPU绑定,与上述的physcpubind相同,但只显示了绑定到的CPU列表。在此输出中,进程绑定到了CPU 0到7上。

  • nodebind:表示NUMA节点绑定,即将进程绑定到特定的NUMA节点上。在此输出中,进程绑定到了节点0到7上。

  • membind:表示NUMA内存绑定,即将进程的内存分配限制在特定的NUMA节点上。在此输出中,进程内存绑定到了节点0到7上。

nohup numactl --cpunodebind=0,1,2,3,4 --localalloc /gekkofs-port/deps_install/lib/bin/gkfs_daemon -P "ucx+all" -l $listen_ip -r /dev/shm/data -m /dev/shm/gkfs &

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/450888.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024中国(京津冀)太阳能光伏推进大会暨展览会

2024年中国(京津冀)太阳能光伏推进大会暨展览会是一个旨在促进太阳能光伏产业发展的重要会议和展览会。该活动将在中国的京津冀地区举行,旨在汇聚全球太阳能光伏领域的专业人士、政府代表、企业家和科研人员,共同探讨太阳能光伏技术的最新进展和未来发展…

PWARL CTF and others

title: 一些复杂点的题目 date: 2024-03-09 16:05:24 tags: CTF 2024年3月9日 今日习题完成: 1.BUU [网鼎杯 2020 半决赛]AliceWebsite 2.[RoarCTF 2019]Online Proxy 3.[Polar CTF]到底给不给flag呢 4.网鼎杯 2020 总决赛]Game Exp [RoarCTF 2019]Online Proxy …

适合上班族的副业:steam游戏搬砖1天3小时,月入8K

互联网新时代,做副业的人越来越多。如果能充分利用下班后的时间,还真能赚到不少钱。steam游戏搬砖项目就是这样一个非常适合上班的副业,只要用心去操作,一个月至少收入两三千,多的轻松上万。 steam游戏搬砖项目其实做的…

【NR 定位】3GPP NR Positioning 5G定位标准解读(十四)-DL-TDOA 定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

微信小程序(五十七)打开腾讯地图选择位置

注释很详细&#xff0c;直接上代码 前提配置看第五十四篇&#x1f427; 上一篇 新增内容&#xff1a; 1.使用地图选择位置的方法让用户重新选择大概的位置 2.留下经纬度接口以便于更新新的附近位置列表 源码&#xff1a; index.wxml <button bind:tap"chooseLocation…

java中的File

路径&#xff1a; 相对路径&#xff1a;相对路径是不带盘符的&#xff0c;它是相对于项目而言的 例如&#xff1a; “a.txt” “abc\a.txt” 绝对路径&#xff1a;绝对路径是带盘符的 &#xff0c;是相对于计算机而言。 例如&#xff1a; “C:\a.txt” “C:\abc\a.txt” Fil…

2024鸿蒙迎来大爆发,有必要转行鸿蒙开发吗?

鸿蒙开发&#xff0c;这个名字最近在科技圈引起了不小的轰动。 那么&#xff0c;鸿蒙开发到底是什么呢&#xff1f;它又能给我们带来怎样的影响呢&#xff1f; 鸿蒙开发&#xff0c;简单来说&#xff0c;就是基于鸿蒙操作系统的一种应用开发方式。鸿蒙系统&#xff0c;作为华为…

诗词生成之setting

先上代码&#xff1a; # 禁用词&#xff0c;包含如下字符的唐诗将被忽略 DISALLOWED_WORDS [&#xff08;, &#xff09;, (, ), __, 《, 》, 【, 】, [, ]] # 句子最大长度 MAX_LEN 64 # 最小词频 MIN_WORD_FREQUENCY 8 # 训练的batch size BATCH_SIZE 16 # 数据集路径 DA…

机器学习(选修)(持续更新)

Gradient Descent 1、一般我们会得到一组参数 &#xff0c;它是由很多组weight和bias组成的。 2、首先&#xff0c;我们在处理数据的时候&#xff0c;会选择一个初始化参数 3、其次&#xff0c;我们计算每个与w的偏微分&#xff0c;把他们组成矩阵的形式&#xff0c;如下图&…

C++ Qt开发:QNetworkAccessManager网络接口组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍如何运用QNetworkAccessManager组件实现Web网…

数字脉搏:互联网的演进与社会脉络

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的扑克牌识别软件(Python+PySide6界面+训练代码)

摘要&#xff1a;开发扑克牌识别软件对于智能辅助决策工具的建立具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个扑克牌识别软件&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不同…

【网站项目】010新能源汽车在线租赁

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

谷歌seo外链重要还是内容重要?

想做网站&#xff0c;内容跟外链缺一不可&#xff0c;如果真的要说哪个更重要&#xff0c;那内容依旧是网站的核心&#xff0c;而外链则是额外的加分项 内容永远是王道&#xff0c;不管谷歌seo的算法怎么变&#xff0c;只要你的内容没问题&#xff0c;那就肯定不会牵扯到你的网…

羊大师揭秘羊奶滋养,养生的新黄金选择

羊大师揭秘羊奶滋养&#xff0c;养生的新黄金选择 羊奶&#xff0c;这个自古以来的天然营养佳品&#xff0c;近年来逐渐受到现代人的青睐&#xff0c;成为养生的新黄金选择。它以其独特的营养价值和滋养功效&#xff0c;为追求健康生活的我们提供了全新的养生视角。 羊奶的滋…

SAP 批量删除工艺路线和主配方_简介

通常我们在创建工艺路线的时候或者在导入工艺路线的时候,会存在数据导入出错,或者你创建的工艺路线需要删除的情况,通常情况下我们第一个想到的就是使用CA02或者C202去删除工艺路线或者是主配方。但是这样会存在一个问题就是,首先我们知道工艺路线和主配方都是存在在组里面…

【JAVA】程序包sun.XXX不存在;开启idea中Services面板

一. 程序包sun.XXX不存在 报错 &#xff1a;程序包sun.font不存在原因&#xff1a;使用的 jdk 默认为 11解决&#xff1a;将jdk版本替换为 1.8 &#xff08;1&#xff09;File — Project Structure 或 Ctrl Alt Shift S 二. 开启Idea中Services面板 .idea - workspace.…

【递归搜索回溯专栏】专题二:二叉树中的深搜----求根节点到叶节点数字之和

本专栏内容为&#xff1a;递归&#xff0c;搜索与回溯算法专栏。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;递归搜索回溯专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代…

NXP Auto HVBMS S32DS 参数配置卡顿解决办法:使用 EB 替代 S32DS Configuration Tools

一、背景介绍 用户在 Automotive Software Package Manager | NXP Semiconductors 可以下载 S32K344 或者是 S32K358 的 HVBMS 捆绑包。 其中包含有 IDE&#xff1a;S32DS&#xff0c;基于 S32DS 的基础软件包以及 RTD 插件包&#xff0c;MCAL 配置工具&#xff1a;EB …

内网渗透-跨域环境渗透-1

目录 smbclient工具 mimikatz工具 Kerbers协议 NTLM认证 hash传递攻击&#xff08;PTH攻击&#xff09; 黄金票据攻击 白银票据 MS14-068 smbclient工具 在linux里面连接远程windows共享目录&#xff0c;可以使用这个工具 ​ 第一种连接方式&#xff1a;smbclient -L 目…