Re: Numa pinning best practices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07-05-2024 22:37, Szabo, Istvan (Agoda) wrote:
Hi,

Haven't really found a proper descripton in case of 2 socket how to pin osds to numa node, only this: https://tracker.ceph.com/projects/ceph/wiki/Tuning_for_All_Flash_Deployments#Ceph-Storage-Node-NUMA-Tuning
Tuning for All Flash Deployments - Ceph - Ceph <https://tracker.ceph.com/projects/ceph/wiki/Tuning_for_All_Flash_Deployments#Ceph-Storage-Node-NUMA-Tuning>
Redmine
tracker.ceph.com


Is there anybody have some good how to on this topic?

I'm also interested in how to configure NUMA for Ceph. I came across a recent Ceph day NYC talk from Tyler Stachecki (Bloomberg) [1] and a Reddit post [2]. Apparently there is quita a bit of performance to gain when NUMA is optimally configured for Ceph. But what is an optimal configuration is not clearly explained (for me at least). So I'm looking for more information on this topic.

Red Hat documentation (hyper converged infra) suggests to pin the Ceph processes on the CPU with the storage controller / NIC attached [3]. In an all flash system there is not just one storage controller but the NVMe are attached to different PCIe buses spread across the different NUMA nodes. So what is most optimal there? Does it still make sense to have the Ceph processes bound to the CPU where their respective NVMe resides when the network interface card is attached to another CPU / NUMA node? Or would this just result in more inter NUMA traffic (latency) and negate any possible gains that could have been made?

Is the benefit of NUMA optimization so large that it would make sense to add another NIC to the system, add it to the other NUMA domain and have half the OSDs listen on one nic (IP), and the rest of the OSDs on the other nic (separate IP)?

Ceph has an admin command to show the NUMA status that gives the following output for a node called storage1:

ceph osd numa-status
OSD  HOST      NETWORK  STORAGE  AFFINITY  CPUS
  0  storage1        -        2         -  -
  1  storage1        -        2         -  -
  2  storage1        -        2         -  -
  3  storage1        -        1         -  -
  4  storage1        -        1         -  -
  5  storage1        -        0         -  -
  6  storage1        -        0         -  -
  7  storage1        -        0         -  -
  8  storage1        -        2         -  -

But I'm unsure what that means. Because when I look up the numa status for the OSD processes it shows the following:

numactl -s 22579
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cpubind: 1 2
nodebind: 1 2
membind: 1 2

And its the same for all OSDs (NUMA node 0 / 4 only have CPUs and no memory (AMD EPYC 7343 16-Core Processor)). So the default policy seems to be active, and no Ceph NUMA affinity seems to have taken place. Can someone explain me what Ceph (cephadm) is currently doing when the "osd_numa_auto_affinity" config setting is true and NUMA is exposed?

Thanks in advance for any NUMA clue you can give me.

Gr. Stefan

[1]: https://www.youtube.com/watch?v=u8vgo2jfMpo
[2]: https://www.reddit.com/r/ceph/comments/15b3rp8/clyso_enterprise_storage_allflash_ceph_deployment/ [3]: https://docs.redhat.com/en/documentation/red_hat_openstack_platform/11/html/hyper-converged_infrastructure_guide/resource-isolation#resource-isolation-numa



Thank you

________________________________
This message is confidential and is for the sole use of the intended recipient(s). It may also be privileged or otherwise protected by copyright or other legal rules. If you have received it by mistake please let us know by reply email and delete it from your system. It is prohibited to copy this message or disclose its content to anyone. Any confidentiality or privilege is not waived or lost by any mistaken delivery or unauthorized disclosure of the message. All messages sent to and from Agoda may be monitored to ensure compliance with company policies, to protect the company's interests and to remove potential malware. Electronic messages may be intercepted, amended, lost or deleted, or contain viruses.
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx


_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux