XCP-ng

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. dthenot
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 10
    • Best 6
    • Controversial 0
    • Groups 2

    dthenot

    @dthenot

    Vates 🪐 XCP-ng Team 🚀

    23
    Reputation
    19
    Profile views
    10
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    dthenot Unfollow Follow
    Vates 🪐 XCP-ng Team 🚀

    Best posts made by dthenot

    • RE: New XCP-ng developers

      Hello,

      I'm a new developer on XCP-ng, I'll work on the Xen side to improve performance.
      I'm a newly graduated of University of Versailles Saint-Quentin with a specialty in parallel computing and HPC, I have a big interest in operating systems.

      posted in News
      dthenot
      dthenot
    • RE: Best CPU performance settings for HP DL325/AMD EPYC servers?

      @olivierlambert @S-Pam Indeed, it's normal, Dom0 doesn't see the NUMA information and the hypervisor handle the compute and memory allocation. You can see the wiki about manipulating VM allocation with the NUMA architecture if you want. But in normal use-cases it's not worth the effort.

      posted in Compute
      dthenot
      dthenot
    • RE: Recommended CPU Scheduler / Topology ?

      Hello 🙂

      So, you can of course makes some config by hand to alleviate some of the cost of the architecture on virtualization.
      But like you can imagine, the scheduler will move the vCPU around and sometimes break the L3 locality if it move it to a remote core.
      I asked to someone more informed than me about that and he said that running a vCPU is always better than trying to make it run locally so it's only useful under specific condition (having enough resources).

      You can use the cpupool functionality to isolate VM on a specific NUMA node.
      But it's only interesting if you really want more performance since it's a manual process, and can be cumbersome.

      You can also pin vCPU on a specific physical core to keep L3 locality, but it would only work if you have little amount of VM running on that particular core. So yes, it might be a little gain (or even a loss).

      There is multiple ways to make the core pinned, most with xl but if you want it to stick between VM reboot you need to use xe. Especially since if you want to pin a VM to a node and need it's memory being allocated on that node, since it can only be done at boot time. Pinning vCPU after boot using xl can create problem if you pin it on a node and the VM memory is allocated on a another node.

      You can see the VM NUMA memory information with the command xl debug-key u; xl dmesg.

      With xl:
      Pin a CPU:

      xl vcpu-pin <Domain> <vcpu id> <cpu id>
      

      e.g. : xl vcpu-pin 1 all 2-5 to pin all the vCPU of the VM 1 to core 2 to 5.

      With CPUPool:

      xl cpupool-numa-split # Will create a cpupool by NUMA node
      xl cpupool-migrate <VM> <Pool>
      

      (CPUPool only works for guest, not dom0)

      And with xe:

      xe vm-param-set uuid=<UUID> VCPUs-params:mask=<mask> #To add a pinning
      xe vm-param-remove uuid=<UUID> param-name=VCPUs-params param-key=mask #To remove pinning
      

      The mask above is CPU id separated with comma e.g. 0,1,2,3

      Hope I could be useful, I will add that to the XCP-ng documentation soon 🙂

      posted in Compute
      dthenot
      dthenot
    • RE: Best CPU performance settings for HP DL325/AMD EPYC servers?

      @s-pam

      I can't look at the dmesg today as I'm home with a cold...

      I hope you get well soon 🙂

      I did experiment with xl cpupool-numa-split but this did not generate good results for multithreaded workloads. I believe this is because VMs get locked to use only as many cores as there are in each NUMA domain.

      Indeed, a VM in a pool get locked to use only the cores of the pool and its max amount of VCPU being the number of core in the pool. It is useful if you have the need to isolate completely the VM.
      You need to be careful when benching these things because the memory allocation of a running VM is not moved but the VCPU will still run on the pinned node. I don't remember exactly if cpu-pool did have a different behavior than simple pinning in that case though. I remember that hard pinning a guest VCPU were not definitely not moving its memory. You could only modify this before booting.

      posted in Compute
      dthenot
      dthenot
    • RE: Debian 11 Bullseye | Guest

      No, there is none. You should have no problem using the Debian 10 template for any VM.

      posted in Compute
      dthenot
      dthenot
    • RE: No video output with onboard adapter

      The Ryzen 7 2700X is not equipped with a GPU. IIRC only G-suffixed Ryzen are equipped with one.

      posted in Compute
      dthenot
      dthenot

    Latest posts made by dthenot

    • RE: Best CPU performance settings for HP DL325/AMD EPYC servers?

      @s-pam

      I can't look at the dmesg today as I'm home with a cold...

      I hope you get well soon 🙂

      I did experiment with xl cpupool-numa-split but this did not generate good results for multithreaded workloads. I believe this is because VMs get locked to use only as many cores as there are in each NUMA domain.

      Indeed, a VM in a pool get locked to use only the cores of the pool and its max amount of VCPU being the number of core in the pool. It is useful if you have the need to isolate completely the VM.
      You need to be careful when benching these things because the memory allocation of a running VM is not moved but the VCPU will still run on the pinned node. I don't remember exactly if cpu-pool did have a different behavior than simple pinning in that case though. I remember that hard pinning a guest VCPU were not definitely not moving its memory. You could only modify this before booting.

      posted in Compute
      dthenot
      dthenot
    • RE: Best CPU performance settings for HP DL325/AMD EPYC servers?

      @s-pam Damn, computer are really magic. I'm very surprised about these result.
      Does the NONUMA really mean no NUMA info being given by the firmware?
      I have no idea how the scheduler of Xen uses this information, I know that the memory allocator strip the memory of the VM on all nodes the VM is configured to be allocated on. As such it would mean the scheduler is doing good work on scheduling the VCPU on nodes, without even knowing about the memory positioning of the current process running inside the guest.
      Did you touch anything in the config of the guest? It's interesting result nonetheless. Can you share the memory allocation of the VM? You can obtain it with xl debug-keys u; xl dmesg from the Dom0.

      posted in Compute
      dthenot
      dthenot
    • RE: Best CPU performance settings for HP DL325/AMD EPYC servers?

      @olivierlambert @S-Pam Indeed, it's normal, Dom0 doesn't see the NUMA information and the hypervisor handle the compute and memory allocation. You can see the wiki about manipulating VM allocation with the NUMA architecture if you want. But in normal use-cases it's not worth the effort.

      posted in Compute
      dthenot
      dthenot
    • RE: Recommended CPU Scheduler / Topology ?

      Hello 🙂

      So, you can of course makes some config by hand to alleviate some of the cost of the architecture on virtualization.
      But like you can imagine, the scheduler will move the vCPU around and sometimes break the L3 locality if it move it to a remote core.
      I asked to someone more informed than me about that and he said that running a vCPU is always better than trying to make it run locally so it's only useful under specific condition (having enough resources).

      You can use the cpupool functionality to isolate VM on a specific NUMA node.
      But it's only interesting if you really want more performance since it's a manual process, and can be cumbersome.

      You can also pin vCPU on a specific physical core to keep L3 locality, but it would only work if you have little amount of VM running on that particular core. So yes, it might be a little gain (or even a loss).

      There is multiple ways to make the core pinned, most with xl but if you want it to stick between VM reboot you need to use xe. Especially since if you want to pin a VM to a node and need it's memory being allocated on that node, since it can only be done at boot time. Pinning vCPU after boot using xl can create problem if you pin it on a node and the VM memory is allocated on a another node.

      You can see the VM NUMA memory information with the command xl debug-key u; xl dmesg.

      With xl:
      Pin a CPU:

      xl vcpu-pin <Domain> <vcpu id> <cpu id>
      

      e.g. : xl vcpu-pin 1 all 2-5 to pin all the vCPU of the VM 1 to core 2 to 5.

      With CPUPool:

      xl cpupool-numa-split # Will create a cpupool by NUMA node
      xl cpupool-migrate <VM> <Pool>
      

      (CPUPool only works for guest, not dom0)

      And with xe:

      xe vm-param-set uuid=<UUID> VCPUs-params:mask=<mask> #To add a pinning
      xe vm-param-remove uuid=<UUID> param-name=VCPUs-params param-key=mask #To remove pinning
      

      The mask above is CPU id separated with comma e.g. 0,1,2,3

      Hope I could be useful, I will add that to the XCP-ng documentation soon 🙂

      posted in Compute
      dthenot
      dthenot
    • RE: Debian 11 Bullseye | Guest

      No, there is none. You should have no problem using the Debian 10 template for any VM.

      posted in Compute
      dthenot
      dthenot
    • RE: No video output with onboard adapter

      The Ryzen 7 2700X is not equipped with a GPU. IIRC only G-suffixed Ryzen are equipped with one.

      posted in Compute
      dthenot
      dthenot
    • RE: PCI Passthrough back to dom0

      Exactly as @tony said, the option --delete-dom0 just remove the option from the booting command line given to dom0, if you need to remove a device you just need to remove it from the command when calling --set-dom0. I'll take a look at the doc, you can modify it too, we are always open to contribution 🙂 .

      posted in Compute
      dthenot
      dthenot
    • RE: PCI Passthrough back to dom0

      /opt/xensource/libexec/xen-cmdline --delete-dom0 xen-pciback.hide should do the trick to remove the device from the pci-assignable list of devices at the next reboot.
      dom0 rebooting will take control of the device.

      posted in Compute
      dthenot
      dthenot
    • RE: CPU Topology (Windows Specifically) only ever shows 2 sockets

      What I have seen from Microsoft forums would seem to indicate that Windows 10 only support up to 2 sockets and 256 cores.

      posted in Compute
      dthenot
      dthenot
    • RE: New XCP-ng developers

      Hello,

      I'm a new developer on XCP-ng, I'll work on the Xen side to improve performance.
      I'm a newly graduated of University of Versailles Saint-Quentin with a specialty in parallel computing and HPC, I have a big interest in operating systems.

      posted in News
      dthenot
      dthenot