SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

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