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:

  1. 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. Struts2 注解模式

    相信大家一定看到了两个class中定义了一样的action,不过看类的元数据,是不同的命名空间.这里比较重要(对我来说)的是 @Action(value = "/login", r ...

  2. 【Devops】【docker】【CI/CD】jenkins 清除工作空间报错Error: Wipe Out Workspace blocked by SCM

    jenkins 清除工作空间报错 错误如下: Error: Wipe Out Workspace blocked by SCM 解决方法: 进入jenkins服务器,进入workspace,手动rm ...

  3. Traceroute(路由追踪)的原理及实现

    现实世界中的网络是由无数的计算机和路由器组成的一张的大网,应用的数据包在发送到服务器之前都要经过层层的路由转发.而Traceroute是一种常规的网络分析工具,用来定位到目标主机之间的所有路由器 原理 ...

  4. [ACM] HDU 2255 奔小康赚大钱 (二分图最大权匹配,KM算法)

    奔小康赚大钱 Problem Description 传说在遥远的地方有一个很富裕的村落,有一天,村长决定进行制度改革:又一次分配房子. 这但是一件大事,关系到人民的住房问题啊. 村里共同拥有n间房间 ...

  5. libgdx 环境搭建

    1:环境搭建: (1)首先进入官网,http://libgdx.badlogicgames.com/download.html  点击下方的Releases.进行下载最新的版本号就可以. 这个为我们开 ...

  6. cocos2d-x 3.0 WIN7+VS2012 安卓平台搭建

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  7. layUI 几个简单的弹出层

    导入控件主题 <link rel="stylesheet" href="dist/themes/default/style.min.css" /> ...

  8. TeXLive里面集成了CTeX,Lyx是一个编辑软件

    TeXLive里面集成了CTeX,LaTeX是排版引擎,CTeX和TeXLive是发行版.LaTeX是毛坯房,CTeX和TeX Live是带精装的房子.CTeX 套装是一个个人作品,存在很多问题.这些 ...

  9. python读取yaml配置文件

    支持多种语言:python.js.golang.java.c.c++ YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下 ...

  10. Python 的 Flask 框架安装应用

    Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...