首页 > 其他分享 >NUMA架构的个人理解

NUMA架构的个人理解

时间:2024-06-01 13:54:27浏览次数:12  
标签:架构 socket 访问 理解 NUMA 本地 内存

numa架构是并行处理器环境的产物。
之前通过卷cpu频率的方式无法满足更高计算性能的情况下,cpu向着多socket多core多socket的方式发展,这种架构设计下,总线发生争用,不再适合并行的需求,于是,出现了这种新的架构设计,每个socket独占一部分内存空间,这样就出现了针对某个socket的本地内存和远程内存之分。访问本地内存的效率会高于远程内存。
之前的单cpu架构下的内存方式机制为UMA(uniform Memory Access):CPU通过内存控制器再通过总线访问内存。
新的多CPU架构下,内存控制器被继承到每个socket中,访问内存方式变为NUMA(non-uniform memory access)。
这种架构的好处是,很好的解决了并行多处理环境下总线的性能瓶颈问题,但是内存的访问效率变得不固定,如果跨socket访问远端内存,效率会有折扣。
对于不频繁申请内存的应用来说,访问内存总是在本地,所以效率很高,但是对于内存申请量比较大的应用,比如MYSQL,会频繁申请内存,如果本地内存不够,会尝试清理无用的部分(许久没有用的部分),导致内存页面的置换,造成性能抖动。

Linux下可以使用numactl来查看内存的分配和使用(可以注意到远端和本地内存及访问失效矩阵)。

标签:架构,socket,访问,理解,NUMA,本地,内存
From: https://www.cnblogs.com/zongzw/p/18225937

相关文章

  • 信息学奥赛初赛天天练-17-阅读理解-浮点数精准输出与海伦公式的巧妙应用
    PDF文档公众号回复关键字:2024053112023CSP-J阅读程序1阅读程序(程序输入不超过数组成字符串定义的范围:判断题正确填√,错误填×;除特殊说明外,判断题1.5分,选择题3分,共计40分)源代码#include<iostream>#include<cmath>usingnamespacestd;doublef(doublea,double......
  • 零基础学Java第二十四天之注解的理解与使用
    注解1、什么是注解java.annotation包Annotation是从JDK1.5开始引入的新技术,注解即可以对程序员解释又可以对程序解释2、注解与注释的区别注释:对程序员解释代码信息注解:对程序和程序员解释代码信息3、注解的所用不是程序本身,可以对程序作出解释(与注释(comment)类......
  • 微软官方出品微服务架构:10个.Net开源项目
    今天一起盘点下,11月份推荐的10个.Net开源项目(点击标题查看详情)。1、一个高性能类型安全的.NET枚举实用开源库Enums.NET是一个.NET枚举实用程序库,专注于为枚举提供丰富的操作方法。它支持.NETFramework和.NetCore。它主要优点表现在类型安全、高性能、丰富的操作方法和易于使......
  • 对KM算法暂时性的理解
    假设我们现在循环到了第\(i\)个点,且前面\(i-1\)个点都已经被匹配了,现在的相等子图为\(S\)在\(A_i+\delta,B_i-\delta\)后,相等子图变成了\(S'\):对于匹配边,其两端要么都在交错树中要么都不在交错树中,不可能出现一端在一端不在的情况,所以匹配边仍然在\(S'\)中对于交错树上的边,显然......
  • 【自定义线程池】超详细!一文轻松理解JDK线程池 - java
    【自定义线程池】超详细!一文轻松理解JDK线程池-java通过手敲一遍自定义线程池代码,轻松理解jdk中线程池的原理,可以放心告诉面试官研究过jdk线程池源码!本文参考b站黑马程序员满一航老师的JUC课程p200-208https://www.bilibili.com/video/BV16J411h7Rd?p=207&vd_sour......
  • 说说你对单例模式的理解?如何实现?
     一、是什么单例模式(SingletonPattern):创建型模式,提供了一种创建对象的最佳方式,这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建在应用程序运行期间,单例模式只会在全局作用域下创建一次实例对象,让所有需要调用的地方都共享这一单例对象,如下图所......
  • Windows server 2022从基础到进阶的 DNS 管理内容,适合初学者快速入门并建立起对 DNS
    关于WindowsServer2022DNS管理器初级应用的大纲:1. 介绍DNS服务1.1什么是DNS?1.2DNS的作用和重要性1.3DNS解析过程概述2. 部署DNS服务器2.1安装DNS服务器角色2.2配置DNS服务器基本设置2.3DNS服务器的启动和停止3. 管理DNS区域3.1什么......
  • 新闻列表页:通过WEUI框架实战我深入理解了块级作用域与点击事件
    前言今天简单的使用WEUI进行了新闻列表页的开发。在实现JS中发现了许多有趣的事情。今天就打算写一个文章给遇到了同样问题的同学进行解惑。话不多说,开始发车。以下是我要实现的效果内容,大家可以看看内容比较。代码我贴在文章末尾:框架分为以下两点:Nav导航栏搜索栏Nav导......
  • 理解 SQL 中的 COALESCE 函数:处理 NULL 值的利器
    在数据库操作中,处理NULL值往往是一项挑战。NULL通常表示缺失的或未知的数据,而在数据分析和报表生成过程中,我们经常需要为这些缺失的数据提供一个合理的默认值。这就是COALESCE函数发挥作用的地方。在本篇博客中,我们将深入探讨COALESCE函数的用法和它在SQL查询中的......
  • 滴滴面试:谈谈你对Netty线程模型的理解?
    Netty线程模型是指Netty框架为了提供高性能、高并发的网络通信,而设计的管理和利用线程的策略和机制。Netty线程模型被称为Reactor(响应式)模型/模式,它是基于NIO多路复用模型的一种升级,它的核心思想是将IO事件和业务处理进行分离,使用一个或多个线程来执行任务的一种机制。......