NUMA and vNUMA

posted by szamosattila on march 04, 2012
Tutorial, Virtualization

With the spread of SMP (Symmetric Multi-Processing) systems a new scalability issue came up: CPU-memory communication became a bottleneck (again.) In spite of the newest and fastest multicore CPUs, bandwidth of Northbridge wasn’t enough to take advantage of new developments.

This is where NUMA came to the stage. NUMA (Non-Uniform Memory Access) introduced local memory and remote memory. DIMMs have no longer been connected to the IOH, but to the CPU itself. With the apperance of Nehalem processors Intel departed the traditional Front-Side Bus architecture and started to build integrated memory controllers into its processors with two or three memory channels. This new architecture meant that processors were able to read/write from/to local DIMMs faster than DIMMs attached to other CPUs.

With the appearance of NUMA, operating systems and applications had to be prepared for taking advantage of this technology, so a lot of popular OSs and ESX(i) became NUMA aware. The scheduling of NUMA is fully transparent to administrators, ESXi deals with placing vCPUs onto physical CPU cores. If a VM has equal or less vCPUs than the number of cores that a NUMA node has, then the scheduler of ESXi assigns these vCPUs to cores within the same NUMA node. This results in fast memory access speed, because guest memory will be allocated to the virtual machine from the same NUMA node. What if we have VMs with a greater number of vCPUs than the number of cores a NUMA node has? Then so called wide virtual machines are going to be created. In this case a virtual machine cannot fit into a single NUMA node, so this VM has local and remote memory at the same time. This can cause performance degradation in specific systems. If a virtual machine has more vCPUs than the number of cores a NUMA node has, but less virtual processors (because of hyperthreading), there is an option to tell the scheduler to use hyperthreaded logical processors instead of physical cores in another physical CPU. This results in the usage of only local memory modules, which could be useful for memory intensive applications. You can set this option per VM basis with the following flag:

numa.vcpu.preferHT

So basically that is NUMA all about. But what about vNUMA? NUMA and vNUMA are the same technology, the only difference is that while NUMA is for ESXi, vNUMA is for the guest OS.

vNUMA is a new feature of vSphere 5.0. By default, vNUMA is only enabled for virtual machines with more than 8 vCPUs. If vNUMA is enabled for a VM, the guest OS running inside can take advantage of NUMA technology. Homogeneousity of host servers is very important when using vNUMA. A vNUMA-enabled virtual machine uses a NUMA topology that the underlying physical server has when the VM is powered-on. If the VM is vMotioned to another host, the new host’s NUMA topology might be different from the previous one, which could result in performance degradation.

- See more at: http://blog.szamosattila.hu/index.php/2012/03/numa-and-vnuma/#sthash.2gQCkYjg.dpuf

NUMA and vNUMA的更多相关文章

  1. All you should know about NUMA in VMware!

    http://www.elasticvision.info/ All you should know about NUMA in VMware! Lets try answering some typ ...

  2. 如何知道SQL Server机器上有多少个NUMA节点

    如何知道SQL Server机器上有多少个NUMA节点 文章出处: How can you tell how many NUMA nodes your SQL Server has? http://i ...

  3. SMP、NUMA、MPP体系结构介绍

    从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA : Non-Uniform ...

  4. 高级NUMA参数

    Advanced NUMA Attributes You can use the advanced NUMA attributes to customize NUMA usage. Attribute ...

  5. Summarizing NUMA Scheduling两篇文章,解释得不错

    http://vxpertise.net/2012/06/summarizing-numa-scheduling/ Sitting on my sofa this morning watching S ...

  6. NUMA总结。

    vsphere 5.1性能最佳实践http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.1.pdf vNUMA 要求:硬件版本8以上. 1.整个 ...

  7. esxtop 指标%RDY,NUMA,Wide-VMs

    参考文章:http://www.boche.net/blog/index.php/2010/10/21/cpu-ready-to-rdy-conversion/ http://kb.vmware.co ...

  8. 【转贴】SMP、NUMA、MPP体系结构介绍

    SMP.NUMA.MPP体系结构介绍 https://www.cnblogs.com/tcicy/p/10185783.html 从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 ...

  9. SMP、NUMA、MPP(Teradata)体系结构介绍

    从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA : Non-Uniform ...

随机推荐

  1. Mybatis配置返回为修改影响条数

    mybatis配置返回为修改影响条数,修改jdbc连接如下即可:添加useAffectedRows=true配置. jdbc:mysql://jdbc.host/{jdbc.db}?useAffect ...

  2. Atlassian JIRA Change IP

    Oracle Linux 6.8 Atalssian JIRA 7 原来IP: 192.168.10.200 改新IP: 192.168.12.200 重新跑应用报错,如下所示: 官方提示应用连接不上 ...

  3. SharePoint Online 创建网站集

    前言 本文介绍如何在Office 365中创建SharePoint网站集. 正文 通过登录地址登录到Office 365环境中,我们可以在左上角的按钮中点开,进入管理员,也可以直接在页面中点击管理: ...

  4. C#泛型委托Predicate、Action、Func

    Predicate Predicate泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素.通过查看源码发现 Pr ...

  5. 详细解读Volley(二)—— ImageRequest & Request简介

    上篇文章我们讲到了如何用volley进行简单的网络请求,我们可以很容易的接受到string.JsonObjec类型的返回结果,之前的例子仅仅是一次请求,这里需要说明volley本身就是适合高并发的,所 ...

  6. 低版本系统兼容的ActionBar(四)添加Tab+添加自定义的Tab视图+Fragment

    在ActionBar中添加Tab是很有用的技巧.在support V7库的支持下,我们几乎可以用和之前一样的方式来添加Tab,对于Tab来说,我们可以和MenuItem一样,给他定义自己的视图.我这里 ...

  7. LaTeX技巧22:LaTeX文档中的参考文献初级

    用 LaTeX 处理文档, 经常就要书写参考文献, 本篇就是介绍如何在 LaTeX 中使用参考文献, 注意这里讲的是LaTeX默认的 thebibliography 环境, 如果要了解 LaTeX 中 ...

  8. 【转】windows下mongodb安装与使用整理

    转自 :http://www.cnblogs.com/lecaf/archive/2013/08/23/mongodb.html 一.首先安装mongodb 1.下载地址:http://www.mon ...

  9. [转]让Nginx支持ThinkPHP的URL重写和PATHINFO

    From : http://www.jzxue.com/wangzhankaifa/php/201108/08-8396.html   ThinkPHP支持通过PATHINFO和URL rewrite ...

  10. query多选下拉框插件 jquery-multiselect(修改)

    其实网上关于该控件的使用教程已经很多了,其中 query多选下拉框插件 jquery-multiselect Jquery多选下拉列表插件jquery multiselect功能介绍及使用 这2个的介 ...