SlideShare a Scribd company logo
1 of 35
NUMA and Virtualization,
 the case of Xen
 Dario Faggioli, dario.faggioli@citrix.com




August 27-28, 2012,          Dario Faggioli,
San Diego, CA, USA      dario.faggioli@citrix.com
NUMA and Virt. And Xen
Talk outline:

      ●   What is NUMA
            –   NUMA and Virtualization
            –   NUMA and Xen
      ●   What I have done in Xen about NUMA
      ●   What remains to be done in Xen about NUMA



August 27-28, 2012,                Dario Faggioli,
San Diego, CA, USA            dario.faggioli@citrix.com
NUMA and Virt. And Xen
Talk outline:

      ●   What is NUMA
            –   NUMA and Virtualization
            –   NUMA and Xen
      ●   What I have done in Xen about NUMA
      ●   What remains to be done in Xen about NUMA



August 27-28, 2012,                Dario Faggioli,
San Diego, CA, USA            dario.faggioli@citrix.com
What is NUMA
 ●   Non-Uniform Memory Access: it will take longer
                          Access
     to access some regions of memory than others
 ●   Designed to improve scalability on large SMPs
      ●   Bottleneck: contention on the shared memory bus




August 27-28, 2012,             Dario Faggioli,
San Diego, CA, USA         dario.faggioli@citrix.com
What is NUMA

                                     ●   Groups of processors
                                         (NUMA node) have their
                                         own local memory
                                         ●   Any processor can access
                                             any memory, including the
                                             one not "owned" by its group
                                             (remote memory)
                                         ●   Non-uniform: accessing local
                                             memory is faster than
                                             accessing remote memory


August 27-28, 2012,          Dario Faggioli,
San Diego, CA, USA      dario.faggioli@citrix.com
What is NUMA
Since:
      ●   (most of) memory is                       NODE      NODE
          allocated at task
          startup,                                  CPUs      CPUs
                                                    task A    task A
      ●   tasks are (usually) free
          to run on any
          processor
Both local and remote                               mem A
accesses can happen
during task's life                                      MEM   MEM



August 27-28, 2012,              Dario Faggioli,
San Diego, CA, USA          dario.faggioli@citrix.com
NUMA and Virtualization
Short lived tasks are just fine... But what
about VMs?
                      NODE                   NODE

                      CPUs                   CPUs
                      VM2
                      VM1                    VM1


                      mem
                      VM1
                              FOREVER!!
                      mem
                      VM2
                      MEM                    MEM

August 27-28, 2012,          Dario Faggioli,
San Diego, CA, USA      dario.faggioli@citrix.com
NUMA and Xen
Xen allocates memory from all the nodes
where the VM is allowed to run (when created)
                       NODE                   NODE

                       CPUs                   CPUs
                       VM2
                       VM1                    VM1


                       mem                     mem
                       VM1                     VM1
                       mem                    mem
                       VM2                    VM2
                       MEM                    MEM

August 27-28, 2012,           Dario Faggioli,
San Diego, CA, USA       dario.faggioli@citrix.com
NUMA and Xen
Xen allocates memory from all the nodes
where the VM is allowed to run (when created)
            NODE       NODE                   NODE   NODE

            CPUs       CPUs                   CPUs   CPUs
                       VM2                    VM1


                       mem                     mem
                       VM1                     VM1
                       mem                    mem
                       VM2                    VM2
             MEM       MEM                    MEM    MEM

August 27-28, 2012,           Dario Faggioli,
San Diego, CA, USA       dario.faggioli@citrix.com
NUMA and Xen
Xen allocates memory from all the nodes
where the VM is allowed to run (when created)
How to specify that?
vCPU pinning during VM creation (e.g., in the VM
config file)




August 27-28, 2012,          Dario Faggioli,
San Diego, CA, USA      dario.faggioli@citrix.com
NUMA and Virt. And Xen
Talk outline:

      ●   What is NUMA
            –   NUMA and Virtualization
            –   NUMA and Xen
      ●   What I have done in Xen about NUMA
      ●   What remains to be done in Xen about NUMA



August 27-28, 2012,                Dario Faggioli,
San Diego, CA, USA            dario.faggioli@citrix.com
Automatic Placement
 1.What happens on the left is better than
   what happens on the right
        NODE              NODE                      NODE    NODE

        CPUs              CPUs                       CPUs   CPUs
        VM1                                                 VM1


         mem                                         mem    mem
         VM1                                         VM1    VM1



         MEM              MEM                        MEM    MEM

August 27-28, 2012,               Dario Faggioli,
San Diego, CA, USA           dario.faggioli@citrix.com
Automatic Placement
 2.What happens on the left can be avoided:
   look at what happens on the right
        NODE              NODE                      NODE    NODE

        CPUs              CPUs                       CPUs   CPUs
        VM2               VM1                        VM1    VM2


         mem                                         mem    mem
         VM1                                         VM1    VM2
         mem
         VM2
         MEM              MEM                        MEM    MEM

August 27-28, 2012,               Dario Faggioli,
San Diego, CA, USA           dario.faggioli@citrix.com
Automatic Placement
                                            1.VM1 creation
        NODE              NODE
                                              time: pin VM1 to the
        CPUs              CPUs                first node
        VM1               VM2
                                     2.VM2 creation time:
                                        pin VM2 to the
         mem              mem
         VM1              VM2           second node, as first
                                        one already has
                                        another VM pinned to
                           This now happens
         MEM              MEM
                                        it
                          Automatically within
                                     libxl

August 27-28, 2012,               Dario Faggioli,
San Diego, CA, USA           dario.faggioli@citrix.com
NUMA Aware Scheduling
Nice, but using pinning has a major
drawback:
                           NODE                   NODE

                           CPUs                   CPUs
                           VM3
                           VM1                    VM2

           VM1
                           mem                     mem
  When VM1 is back,        VM1                     VM2
 It has to wait, even if
 There are idle CPUs!      mem
                           VM3
                           MEM                    MEM

August 27-28, 2012,               Dario Faggioli,
San Diego, CA, USA           dario.faggioli@citrix.com
NUMA Aware Scheduling
Don't use pinning, tell the scheduler where
a VM prefers to run (node affinity)
                        NODE                   NODE

                        CPUs                   CPUs      Now VM1 can
                                                       run immediately:
                        VM3
                        VM1                    VM1
                                               VM2     remote accesses
                                                      Are better than not
     Patches almost                                      running at all!
                        mem                     mem
     ready (targeting   VM1                     VM2
        Xen 4.3)        mem
                        VM3
                        MEM                    MEM

August 27-28, 2012,            Dario Faggioli,
San Diego, CA, USA        dario.faggioli@citrix.com
Experimental Results
Trying to verify the performances of:
 ●   Automatic placement (pinning)
 ●   NUMA aware scheduling
     (automatic placement + node affinity)




August 27-28, 2012,              Dario Faggioli,
San Diego, CA, USA          dario.faggioli@citrix.com
Testing Placement
                       (thanks to Andre Przywara from AMD)


 ●   Host: AMD Opteron(TM) 6276,
     64 cores, 128 GB RAM, 8 NUMA nodes
 ●   VMs: 1 to 49, 2 vCPUs, 2GB RAM each.
                                                             nr. vCPUs   Node
                                                             14          0
                                                             12          1
                                                             12          2
                                                             12          3
                                                             12          4
                                                             12          5
                                                             12          6
                                                             12          7




August 27-28, 2012,                 Dario Faggioli,
San Diego, CA, USA             dario.faggioli@citrix.com
Some Traces about
             NUMA Aware Scheduling




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
Benchmarking Pinning and
           NUMA Aware Scheduling
 ●   Host: Intel Xeon(R) E5620, 16 cores, 12 GB RAM,
     2 NUMA nodes
 ●   VMs: 2, 4, 6, 8 and 10 of them, 960MB RAM.
     Different experiments with 1, 2 and 4 vCPUs per VM


 ➔   SPECjbb2005 executed concurrently in all VMs
 ➔   3 configurations: all-cpus, auto-pinning,
     auto-affinity
 ➔   Exp. repeated 3 times per each configuration

August 27-28, 2012,         Dario Faggioli,
San Diego, CA, USA     dario.faggioli@citrix.com
Benchmarking Pinning and
           NUMA Aware Scheduling
1 vCPU per VM:                       20% to 16% improvement!




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
Benchmarking Pinning and
           NUMA Aware Scheduling
2 vCPUs per VM:                         17% to 13% improvement!




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
Benchmarking Pinning and
           NUMA Aware Scheduling
4 vCPUs per VM:

                                                        0.2% to 8% gap from
                                                     auto-affinity to auto-pinning



                         16% to 4% improvement
                      from all-cpus to auto-affinity




August 27-28, 2012,                   Dario Faggioli,
San Diego, CA, USA               dario.faggioli@citrix.com
Some Traces about
             NUMA Aware Scheduling




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
Some Traces about
             NUMA Aware Scheduling




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
NUMA and Virt. And Xen
Talk outline:

      ●   What is NUMA
            –   NUMA and Virtualization
            –   NUMA and Xen
      ●   What I have done in Xen about NUMA
      ●   What remains to be done in Xen about NUMA



August 27-28, 2012,                Dario Faggioli,
San Diego, CA, USA            dario.faggioli@citrix.com
Lots of Room for
                  Further Improvement!
Tracking ideas, people and progress on
  http://wiki.xen.org/wiki/Xen_NUMA_Roadmap


 ●   Dynamic memory migration
 ●   IO NUMA
 ●   Guest (or Virtual) NUMA
 ●   Ballooning and memory sharing
 ●   Inter-VM dependencies
 ●   Benchmarking and performances evaluation
August 27-28, 2012,          Dario Faggioli,
San Diego, CA, USA      dario.faggioli@citrix.com
Dynamic Memory
                         Migration
If VM2 goes away, it would be nice if we
could change VM1's (or VM3's) node affinity
on-line        NODE         NODE

                        CPUs                   CPUs
                        VM3                    VM2
                                               VM1


       Also targeting   mem                     mem     And move it's
                        VM1                     VM1
                                                VM2   Memory accordingly!
          Xen 4.3
                        mem
                        VM3
                        MEM                    MEM

August 27-28, 2012,            Dario Faggioli,
San Diego, CA, USA        dario.faggioli@citrix.com
IO NUMA
Different devices can be attached to
different nodes: needs to be considered during
placement / scheduling




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
Guest NUMA
If a VM is bigger than 1 node, should it know?

NODE                  NODE            NODE
                                                      Pros: performances
CPUs                  CPUs             CPUs           (especially HPC)
VM1                   VM2
                      VM1              VM2
                                       VM1
                                                      Cons: what if things
mem                   mem               mem
                                                      changes?
VM1                   VM1
                      VM2               VM1
                                        VM2               ●   live migration

MEM                   MEM              MEM

August 27-28, 2012,                Dario Faggioli,
San Diego, CA, USA            dario.faggioli@citrix.com
Ballooning and Sharing
Ballooning should be                        Sharing, should we
NUMA aware                                  allow that cross-node?
        NODE                NODE                      NODE            NODE

        CPUs                CPUs                       CPUs            CPUs
        VM1           VM2   VM3                        VM1             VM2


         mem                mem                        mem             mem
         VM1
         mem                VM3                        VM1             VM2
         VM1 mem                                      shmem
           !! VM2                                             Remote access!
         MEM                MEM                        MEM             MEM
August 27-28, 2012,                 Dario Faggioli,
San Diego, CA, USA             dario.faggioli@citrix.com
Inter-VM Dependences
 Are we sure the situation on the right is always better?
 Might it be workload dependant (VM cooperation VS.
 competiotion)
         NODE          NODE                      NODE    NODE

         CPUs          CPUs                       CPUs   CPUs
         VM2           VM3                        VM1    VM2

VM1                                                             VM3
          mem          mem                        mem    mem
          VM1          VM3                        VM1    VM2
          mem                                            mem
          VM2                                            VM3
          MEM          MEM                        MEM    MEM
 August 27-28, 2012,           Dario Faggioli,
 San Diego, CA, USA       dario.faggioli@citrix.com
Benchmarking and
             Performances Evaluation
How to verify we are actually improving:

 ●   What kind of workload(s)?

 ●   What VMs configuration?




August 27-28, 2012,        Dario Faggioli,
San Diego, CA, USA    dario.faggioli@citrix.com
NUMA and Virt. And Xen
Talk outline:

      ●   What is NUMA
            –   NUMA and Virtualization
            –   NUMA and Xen
      ●   What I have done in Xen about NUMA
      ●   What remains to be done in Xen about NUMA


August 27-28, 2012,               Dario Faggioli,
San Diego, CA, USA           dario.faggioli@citrix.com
Thanks!




                      Any Questions?



August 27-28, 2012,           Dario Faggioli,
San Diego, CA, USA       dario.faggioli@citrix.com

More Related Content

Viewers also liked

Comparing IaaS: VMware vs OpenStack vs Google’s Ganeti
Comparing IaaS: VMware vs OpenStack vs Google’s GanetiComparing IaaS: VMware vs OpenStack vs Google’s Ganeti
Comparing IaaS: VMware vs OpenStack vs Google’s GanetiGiuseppe Paterno'
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMThe Linux Foundation
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntuSim Janghoon
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
Understanding DPDK algorithmics
Understanding DPDK algorithmicsUnderstanding DPDK algorithmics
Understanding DPDK algorithmicsDenys Haryachyy
 

Viewers also liked (8)

DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
Comparing IaaS: VMware vs OpenStack vs Google’s Ganeti
Comparing IaaS: VMware vs OpenStack vs Google’s GanetiComparing IaaS: VMware vs OpenStack vs Google’s Ganeti
Comparing IaaS: VMware vs OpenStack vs Google’s Ganeti
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Understanding DPDK algorithmics
Understanding DPDK algorithmicsUnderstanding DPDK algorithmics
Understanding DPDK algorithmics
 
Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 

More from The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

More from The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Recently uploaded

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 

Recently uploaded (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

NUMA and Virtualization, the case of Xen

  • 1. NUMA and Virtualization, the case of Xen Dario Faggioli, dario.faggioli@citrix.com August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 2. NUMA and Virt. And Xen Talk outline: ● What is NUMA – NUMA and Virtualization – NUMA and Xen ● What I have done in Xen about NUMA ● What remains to be done in Xen about NUMA August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 3. NUMA and Virt. And Xen Talk outline: ● What is NUMA – NUMA and Virtualization – NUMA and Xen ● What I have done in Xen about NUMA ● What remains to be done in Xen about NUMA August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 4. What is NUMA ● Non-Uniform Memory Access: it will take longer Access to access some regions of memory than others ● Designed to improve scalability on large SMPs ● Bottleneck: contention on the shared memory bus August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 5. What is NUMA ● Groups of processors (NUMA node) have their own local memory ● Any processor can access any memory, including the one not "owned" by its group (remote memory) ● Non-uniform: accessing local memory is faster than accessing remote memory August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 6. What is NUMA Since: ● (most of) memory is NODE NODE allocated at task startup, CPUs CPUs task A task A ● tasks are (usually) free to run on any processor Both local and remote mem A accesses can happen during task's life MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 7. NUMA and Virtualization Short lived tasks are just fine... But what about VMs? NODE NODE CPUs CPUs VM2 VM1 VM1 mem VM1 FOREVER!! mem VM2 MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 8. NUMA and Xen Xen allocates memory from all the nodes where the VM is allowed to run (when created) NODE NODE CPUs CPUs VM2 VM1 VM1 mem mem VM1 VM1 mem mem VM2 VM2 MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 9. NUMA and Xen Xen allocates memory from all the nodes where the VM is allowed to run (when created) NODE NODE NODE NODE CPUs CPUs CPUs CPUs VM2 VM1 mem mem VM1 VM1 mem mem VM2 VM2 MEM MEM MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 10. NUMA and Xen Xen allocates memory from all the nodes where the VM is allowed to run (when created) How to specify that? vCPU pinning during VM creation (e.g., in the VM config file) August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 11. NUMA and Virt. And Xen Talk outline: ● What is NUMA – NUMA and Virtualization – NUMA and Xen ● What I have done in Xen about NUMA ● What remains to be done in Xen about NUMA August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 12. Automatic Placement 1.What happens on the left is better than what happens on the right NODE NODE NODE NODE CPUs CPUs CPUs CPUs VM1 VM1 mem mem mem VM1 VM1 VM1 MEM MEM MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 13. Automatic Placement 2.What happens on the left can be avoided: look at what happens on the right NODE NODE NODE NODE CPUs CPUs CPUs CPUs VM2 VM1 VM1 VM2 mem mem mem VM1 VM1 VM2 mem VM2 MEM MEM MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 14. Automatic Placement 1.VM1 creation NODE NODE time: pin VM1 to the CPUs CPUs first node VM1 VM2 2.VM2 creation time: pin VM2 to the mem mem VM1 VM2 second node, as first one already has another VM pinned to This now happens MEM MEM it Automatically within libxl August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 15. NUMA Aware Scheduling Nice, but using pinning has a major drawback: NODE NODE CPUs CPUs VM3 VM1 VM2 VM1 mem mem When VM1 is back, VM1 VM2 It has to wait, even if There are idle CPUs! mem VM3 MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 16. NUMA Aware Scheduling Don't use pinning, tell the scheduler where a VM prefers to run (node affinity) NODE NODE CPUs CPUs Now VM1 can run immediately: VM3 VM1 VM1 VM2 remote accesses Are better than not Patches almost running at all! mem mem ready (targeting VM1 VM2 Xen 4.3) mem VM3 MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 17. Experimental Results Trying to verify the performances of: ● Automatic placement (pinning) ● NUMA aware scheduling (automatic placement + node affinity) August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 18. Testing Placement (thanks to Andre Przywara from AMD) ● Host: AMD Opteron(TM) 6276, 64 cores, 128 GB RAM, 8 NUMA nodes ● VMs: 1 to 49, 2 vCPUs, 2GB RAM each. nr. vCPUs Node 14 0 12 1 12 2 12 3 12 4 12 5 12 6 12 7 August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 19. Some Traces about NUMA Aware Scheduling August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 20. Benchmarking Pinning and NUMA Aware Scheduling ● Host: Intel Xeon(R) E5620, 16 cores, 12 GB RAM, 2 NUMA nodes ● VMs: 2, 4, 6, 8 and 10 of them, 960MB RAM. Different experiments with 1, 2 and 4 vCPUs per VM ➔ SPECjbb2005 executed concurrently in all VMs ➔ 3 configurations: all-cpus, auto-pinning, auto-affinity ➔ Exp. repeated 3 times per each configuration August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 21. Benchmarking Pinning and NUMA Aware Scheduling 1 vCPU per VM: 20% to 16% improvement! August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 22. Benchmarking Pinning and NUMA Aware Scheduling 2 vCPUs per VM: 17% to 13% improvement! August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 23. Benchmarking Pinning and NUMA Aware Scheduling 4 vCPUs per VM: 0.2% to 8% gap from auto-affinity to auto-pinning 16% to 4% improvement from all-cpus to auto-affinity August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 24. Some Traces about NUMA Aware Scheduling August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 25. Some Traces about NUMA Aware Scheduling August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 26. NUMA and Virt. And Xen Talk outline: ● What is NUMA – NUMA and Virtualization – NUMA and Xen ● What I have done in Xen about NUMA ● What remains to be done in Xen about NUMA August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 27. Lots of Room for Further Improvement! Tracking ideas, people and progress on http://wiki.xen.org/wiki/Xen_NUMA_Roadmap ● Dynamic memory migration ● IO NUMA ● Guest (or Virtual) NUMA ● Ballooning and memory sharing ● Inter-VM dependencies ● Benchmarking and performances evaluation August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 28. Dynamic Memory Migration If VM2 goes away, it would be nice if we could change VM1's (or VM3's) node affinity on-line NODE NODE CPUs CPUs VM3 VM2 VM1 Also targeting mem mem And move it's VM1 VM1 VM2 Memory accordingly! Xen 4.3 mem VM3 MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 29. IO NUMA Different devices can be attached to different nodes: needs to be considered during placement / scheduling August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 30. Guest NUMA If a VM is bigger than 1 node, should it know? NODE NODE NODE Pros: performances CPUs CPUs CPUs (especially HPC) VM1 VM2 VM1 VM2 VM1 Cons: what if things mem mem mem changes? VM1 VM1 VM2 VM1 VM2 ● live migration MEM MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 31. Ballooning and Sharing Ballooning should be Sharing, should we NUMA aware allow that cross-node? NODE NODE NODE NODE CPUs CPUs CPUs CPUs VM1 VM2 VM3 VM1 VM2 mem mem mem mem VM1 mem VM3 VM1 VM2 VM1 mem shmem !! VM2 Remote access! MEM MEM MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 32. Inter-VM Dependences Are we sure the situation on the right is always better? Might it be workload dependant (VM cooperation VS. competiotion) NODE NODE NODE NODE CPUs CPUs CPUs CPUs VM2 VM3 VM1 VM2 VM1 VM3 mem mem mem mem VM1 VM3 VM1 VM2 mem mem VM2 VM3 MEM MEM MEM MEM August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 33. Benchmarking and Performances Evaluation How to verify we are actually improving: ● What kind of workload(s)? ● What VMs configuration? August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 34. NUMA and Virt. And Xen Talk outline: ● What is NUMA – NUMA and Virtualization – NUMA and Xen ● What I have done in Xen about NUMA ● What remains to be done in Xen about NUMA August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com
  • 35. Thanks! Any Questions? August 27-28, 2012, Dario Faggioli, San Diego, CA, USA dario.faggioli@citrix.com