首页 > 其他分享 >虚拟化云计算-numa与pci查看

虚拟化云计算-numa与pci查看

时间:2023-03-30 23:31:37浏览次数:28  
标签:虚拟化 NUMA 总线 节点 pci 内存 CPU numa

最近在部署服务器上的云应用的时候,需要查看numas上cpu核心与pci网卡插槽的对应关系,总结了一些numa和pci的知识,希望可以帮助到其他人

numa概念

Non-Uniform Memory Access,非统一内存访问(NUMA),一种用于多处理器的电脑内存体设计,内存访问时间取决于处理器的内存位置。 在NUMA下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。

虚拟化云计算-numa与pci查看_ci

利用NUMA技术,可以把几十个CPU(甚至上百个CPU)组合在一个服务器内。NUMA服务器的基本特征是具有多个CPU模块,每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块(如称为Crossbar Switch)进行连接和信息交互,因此每个CPU可以访问整个系统的内存(这是NUMA系统与MPP系统的重要差别)。显然,访问本地内存的速度将远远高于访问远地内存(系统内其它节点的内存)的速度,这也是非一致存储访问NUMA的由来。由于这个特点,为了更好地发挥系统性能,开发应用程序时需要尽量减少不同CPU模块之间的信息交互。利用NUMA技术,可以较好地解决原来SMP系统的扩展问题,在一个物理服务器内可以支持上百个CPU。比较典型的NUMA服务器的例子包括HP的Superdome、SUN15K、IBMp690等。  

每个CPU模块之间都是通过互联模块进行连接和信息交互,CPU都是互通互联的,同时,每个CPU模块平均划分为若干个Chip(不多于4个),每个Chip都有自己的内存控制器及内存插槽。  

在NUMA中还有三个节点的概念:  

1)、本地节点:对于某个节点中的所有CPU,此节点称为本地节点。  

2)、邻居节点:与本地节点相邻的节点称为邻居节点。  

3)、远端节点:非本地节点或邻居节点的节点,称为远端节点。  

4)、邻居节点和远端节点,都称作非本地节点(Off Node)。  

CPU访问不同类型节点内存的速度是不相同的,访问本地节点的速度最快,访问远端节点的速度最慢,即访问速度与节点的距离有关,距离越远访问速度越慢,此距离称作Node Distance。应用程序要尽量的减少不通CPU模块之间的交互,如果应用程序能有方法固定在一个CPU模块里,那么应用的性能将会有很大的提升。


PCI概念

PCI总线是目前台式机与服务器所普遍使用的一种南桥与外设连接的总线技术。 PCI总线的地址总线与数据总线是分时复用的。这样的好处是,一方面可以节省接插件的管脚数,另一方面便于实现突发数据传输。在数

据传输时,一个PCI设备作为发起者(主控,Initiator或Master),而另一个PCI设备作为目标(从设备、Target或Slave)。总线上的所有时序 的产生与控制,都由Master来发起。PCI总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构(Arbiter),来决定谁有权力拿到 总线的主控权。

当PCI总线进行操作时,发起者(Master)先置REQ#信号Master用来请求总线使用权的信号),当得到仲裁器(Arbiter)的许可时

(GNT#信号),会将FRAME#信号(传输开始或者结束信号)置低,并在地址总线(也就是数据总线,地址线和数据线是共享的)上放置

Slave地址,同时C/BE#(命令信号)放置命令信号,说明接下来的传输类型。 所有PCI总线上的设备都需对此地址译码,被选中的设备要置DEVSEL#(被选中信号)以声明自己被选中。当IRDY#(Master可以发送数

据)与TRDY#(Slave可以发送数据)都置低时,可以传输数据。当Master数据传输结束前,将FRAME#置高以标明只剩最后一组数据要传 输,并在传完数据后放开IRDY#以释放总线控制权。


linux上numa和pci相关工具命令

numa相关检查命令

检查cpu以及numa核心配置

lscpu  #查看cpu信息

虚拟化云计算-numa与pci查看_服务器_02

可以看到有两个numa节点,numa0的cpu是0-7,16-23,numa1的cpu是8-15,24-31

dmesg | grep -i numa #检查numa内核信息

虚拟化云计算-numa与pci查看_ci_03


pci相关检查命令

lspci -vv -nn  | grep -i eth #检查网卡pci信息,例如18:00.1就是网卡的pci编号

虚拟化云计算-numa与pci查看_应用程序_04

lspci -s 18:00.1 -vv #检查该编号的设备属于哪个numa node

虚拟化云计算-numa与pci查看_应用程序_05

可以看到该网卡属于numa0


哎 底层硬件真不好玩。。。

标签:虚拟化,NUMA,总线,节点,pci,内存,CPU,numa
From: https://blog.51cto.com/u_11555417/6160392

相关文章

  • CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
    作者:林苍背景容器无疑已经成为新的云计算基础设施,企业私有云平台的建设重心,正在从虚拟化的计算、存储、网络的建设,转向构建以容器、微服务等为核心的云原生平台。不过......
  • RK3399+PCIe+FPGA 在高速AD无线通信中的应用
    一、需求要实现高速AD/DA的数据采集,并发送到高性能arm核进行数据处理;方案RK3399+pcie+FPGA+AD/DA。二、器件介绍一、RK3399RK3399是一款低功耗、高性能处理器,用于计算、......
  • PCIE
    前言PCIe和PCI最大的改变是由并行改为串行,通过使用差分信号传输,相同内容通过一正一反镜像传输,干扰可以很快被发现和纠正,从而可以将传输频率大幅度提升。PCI原本是半双工......
  • exsi虚拟化一站式
    #情境最近,想要入一台实体机服务器,之前公司有一台柜式服务器,是怎么装的呢?他是先装了一个windows,然后在window上面安装了vmware,之后再进行虚拟化如果创建一台新的虚拟机,要么......
  • 《操作系统导论》读书笔记1——CPU虚拟化,进程
    系列文章目录和关于我一丶CPU的虚拟化一个桃子,我们称之为物理(physical)桃子。但有很多想吃这个桃子的人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜。......
  • Zabbix监控VMware虚拟化指南
    第1章、 方案设计1.1、 简介自Zabbix2.2.0版本开始支持VMwarevCenter或vSphere版本最低为4.1。Zabbix可以使用低级别自动发现VMware宿主机和虚拟机,并根据事先定义的......
  • KVM虚拟化
    210303124王佳琳2023.2.16云计算与虚拟化技术第⼀章:云计算相关概念1.云计算介绍云计算是⼀种按量付费的资源出租模式!云计算的底层是通过虚拟化技术来实现的!2.云计算的......
  • 使用 lspci 和 setpci 调试 PCIe 问题
    lspci 命令和setpci命令均为Linux发行版中原生可用的命令。这2条命令均可提供多级输出,适合在不同时间点用于查看PCI总线上训练的不同组件的功能和状态。其中大......
  • 计算,存储,网络虚拟化区别
     计算虚拟化1.什么是虚拟化什么是虚拟化:虚拟化是一种技术,将物理设备进行逻辑化,转化成文件夹或文件,实现软硬件解耦好处:    1.提高资源利用率   ......
  • 云和虚拟化如何区分
    云”和“虚拟化”这两个术语常常让人产生困惑,常认为这两个词意味着相同的东西。实际上,“云服务器”和“虚拟化专用服务器(VPS)”虽然技术相似,但是您需要了解它们之间的显著......