AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[numa](server)

Martin Hope
Piotr M
Asked: 2021-05-06 12:11:56 +0800 CST

通过互连器访问内存的延迟

  • 0

我正在尝试比较集群的不同节点互连的延迟。目标是最小化内存访问延迟。

我已经获得了一些关于具有许多 CPU 的 NUMA 架构的硬件实现之一的基准测试。这表明:

  1. 直接连接到 CPU 的 socket 的内存访问延迟约为 90ns。
  2. 通过UPI连接到CPU套接字的其他CPU套接字的内存访问延迟约为140ns(因此UPI的一“跳”增加了约50ns)。
  3. 通过所考虑的 NUMA 互连访问内存的延迟为 370ns(因此该互连的一“跳”增加了大约 280ns)。

NUMA 互连是非常专业的解决方案,无法与大多数硬件供应商一起使用。“标准”互连器是 InfiniBand、以太网和 FibreChannel。

我正在寻找这些互连器为内存访问提供的延迟。

例如,在 EDR Infiniband 交换机之一的规范中,它声明它提供“90ns端口到端口延迟”。如果我理解正确,端口到端口延迟是指交换机本身引入的延迟。对于这个延迟,我们应该加上大约 600ns 的 NIC 延迟(根据这个),所以这大约是 90+2x600=1290[ns] 的互连器相关延迟。(顺便说一句,与 90ns 相比,600ns 的值似乎高得可疑。为什么这么高?)

我们还应该预期电缆(无源铜缆或光纤)会引入一些延迟。我想这取决于它的长度,但我不确定它的顺序是什么。光在 3ns 左右传播 1 米,这是一个好的估计吗?

缺少的部分是网卡访问内存的时间。我想我们应该考虑使用 RDMA 和通过 CPU 的不同情况。我还缺少其他东西吗?我的上述推理是否正确?

我的主要问题是:使用 InfiniBand、以太网或 FibreChannel 等“标准”互连器访问集群不同节点内的内存的预期延迟是多少?

我问的原因是我试图将当前单一系统映像解决方案中描述的问题分解为较小的子问题。

memory latency hpc infiniband numa
  • 1 个回答
  • 209 Views
Martin Hope
Andrey
Asked: 2020-02-20 03:14:47 +0800 CST

libvirt cputune 配置如何进入 qemu-kvm

  • 0

我正在将 xml libvirt 配置移植到 qemu 可执行参数。简单地说,我有 .xml vm 配置,我想通过使用特殊的命令行参数virsh edit vm-name执行来运行同一台 vm 机器。qemu-system-x86_64死于我无法使用的特定需求libvirt。问题是 .xml vm config 使用来自主机的特殊 cpu 映射:

<cputune>
    <vcpupin vcpu='1' cpuset='3'/>
    <vcpupin vcpu='0' cpuset='0-2'/>
    <emulatorpin cpuset='0-2'/>
</cputune>

然后在 cpu numa config 中使用这些 vcpus:

<cpu>
    <numa>
        <cell cpus='0' memory='2097152'/>
        <cell cpus='1' memory='2097152'/>
    </numa>
</cpu>

我以这种方式映射 numa 配置:/usr/bin/qemu-system-x86_64 -numa node,nodeid=0,cpus=0,mem=2048 -numa node,nodeid=1,cpus=1,mem=2048但我不知道如何为/usr/bin/qemu-system-x86_64. 那就是问题所在。有任何想法吗?

PS 我的具体任务是在 Kata-containers 运行时运行带有 vcpu 调优的特定 vm,因为我想在 Docker 或 Kubernetes 下运行这样的 vm。所以我需要修补 kata-runtime。Kata-runtime 使用Intel GoVmm运行 qemu-kvm vms ,它只能使用命令行参数运行 qemu 二进制文件。目前我正在修补 govmm 以满足我的特定需求。Intel govmm 不使用 libvirt。

kvm-virtualization libvirt vcpu qemu numa
  • 1 个回答
  • 1369 Views
Martin Hope
tilkov
Asked: 2020-02-13 06:29:05 +0800 CST

NUMA 1 未在 ESXi 上的 Windows Server 2008 R2 上的 SQL Server 2008 R2 上使用

  • 0

我们在 Windows Server 2008 R2 上运行 Microsoft SQL Server 2008 R2,在 VMWare ESXi 6.7.0 上进行了虚拟化。

服务器有 2 个 CPU 插槽,每个插槽有 22 个内核。VM 分配有 8 个插槽,每个插槽有 3 个内核和 64 GB RAM (ServerEnterprise)。

在虚拟机内部,我看到两个 NUMA 节点,每个节点有 11 个 CPU。

不幸的是,SQL Server 仅使用 NUMA 节点 0 上的 CPU,而 NUMA 节点 1 处于空闲状态。

我究竟做错了什么?我是否受到许可或配置错误的限制?

资源监视器屏幕截图

virtualization windows-server-2008 sql-server vmware-esxi numa
  • 1 个回答
  • 518 Views
Martin Hope
Wayne Conrad
Asked: 2012-07-19 09:14:17 +0800 CST

Linux Opteron系统好像是UMA但应该是NUMA

  • 2

根据 numactl,这个双 CPU Opteron 盒子是 UMA 而不是预期的 NUMA:

$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node 0 size: 65534 MB
node 0 free: 381 MB
node distances:
node   0 
  0:  10 

我认为应该是NUMA,因为有四个4核CPU*。据我了解,每个 CPU 都有自己的内存通道;如果 CPU 需要访问非本地节点的内存,则必须使用超传输,这比访问本地节点的内存花费更多的时间。AMD在这里解释。

主板有 16 个 RAM 插槽,每个 CPU 8 个。所有 16 个都填充了 4GB,总共 64GB。更多细节:

  • 处理器:2 个AMD 6128(“Magny-Cours”)
  • 主板:Supermicro H8DG6/i(-F)
  • BIOS:AMI v02.68 --主板/BIOS 手册(pdf)
  • Linux:2.6.32
  • 操作系统:Debian“喘不过气来”
  • BIOS内存配置:
    • 银行交织:自动
    • 节点交错:自动
    • 通道交织:自动
    • CS 备用:禁用
    • 银行混合模式:启用

为什么 numactl 报告此框是 UMA?

*每个封装有两个 CPU 芯片,因此主板只有两个 CPU 插槽。

linux opteron numa
  • 1 个回答
  • 1130 Views
Martin Hope
Untalented
Asked: 2012-07-04 10:16:24 +0800 CST

支持 Intel E5-2630 NUMA 的 HP DL360p?

  • 4

我无法通过搜索找到任何信息,无法通过英特尔或惠普网站确定这一点。您可以在此启用 NUMA 节点吗?如果是这样,你怎么能告诉每个节点的边呢?如果它可用,是否总是基于此启用和调整 VM 的最佳实践,或者这是否取决于您运行的应用程序(如 SQL)是否使用它?

virtualization hp hp-proliant intel numa
  • 3 个回答
  • 1023 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve