本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向. 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/numa/ NUMA架构的CPU -- 你真的用好了么? 本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向. 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部…
NUMA架构的CPU -- 你真的用好了么? 本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向. 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/numa/ NUMA简介 这部分将简要介绍下NUMA架构的成因和具体原理,已经了解的读者可以直接跳到第二节. 为什么要有NUMA 在NUMA架构出现前,CPU欢快的朝着频率越来…
本文从NUMA的介绍引出常见的NUMA使用中的陷阱,继而讨论对于NUMA系统的优化方法和一些值得关注的方向. 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/numa/ 本博客已经迁移至: http://cenalulu.github.io/ 为了更好的体验,请通过此链接阅读: http://cenalulu.github.io/linux/numa/ NUMA简介 这部分将简…
NUMA架构的CPU -- 你真的用好了么? - http://cenalulu.github.io/linux/numa/ SQL Server 如何支持 NUMA - https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms180954(v=sql.105)…
Redis被广泛使用的一个很重要的原因是它的高性能.因此我们必要要重视所有可能影响Redis性能的因素.机制以及应对方案.影响Redis性能的五大方面的潜在因素,分别是: Redis内部的阻塞式操作 CPU核和NUMA架构的影响 Redis关键系统配置 Redis内存碎片 Redis缓冲区 这一讲,我们来学习一下CPU对Redis的性能影响及应对方法. 主流CPU架构 学习之前,我们先来了解主流CPU架构有哪些,有什么特点,以便我们更好地了解CPU是如何影响Redis的. CPU多核架构 一个C…
NUMA简介 在传统的对称多处理器(SMP, Symmetric Multiprocessing)系统中,整个计算机中的所有cpu共享一个单独的内存控制器.当所有的cpu同时访问内存时,这个内存控制器常常成为性能瓶颈.同时,这种架构也不能适应使用大量的cpu的场景.于是,为了解决这些问题,越来越多的现代计算机系统采用了CC/NUMA(缓存一致性/非对称访存)架构.例如AMD* Opteron*, IBM* Power5*, HP* Superdome, and SGI* Altix*. 在SMP…
目录 文章目录 目录 写在前面 计算平台体系结构 SMP 对称多处理结构 NUMA 非统一内存访问结构 MPP 大规模并行处理结构 Linux 上的 NUMA 基本对象概念 NUMA 调度策略 获取宿主机的 NUMA 拓扑 Nova 实现的 NUMA 亲和 Nova 定义的 NUMA 对象概念 实现 NUMA 亲和的背景 操作系统发行版许可证(Licensing) CPU 拓扑对性能的影响 CPU 架构对性能的影响 超线程对性能的影响 NUMA Topology Guest NUMA Topol…
1 概述 CPU架构是CPU商给CPU产品定的一个规范,主要目的是为了区分不同类型的CPU.目前市场上的CPU分类主要分有两大阵营,一个是intel.AMD为首的复杂指令集CPU,另一个是以IBM.ARM为首的精简指令集CPU.不同品牌的CPU,其产品的架构也不相同,Intel.AMD的CPU是X86架构,IBM公司的CPU是PowerPC架构,ARM公司的CPU是ARM架构,国内的飞腾CPU也是ARM架构.此外还有MPIS架构.SPARC架构.Alpha架构. 2 X86架构 X86架构(Th…
numa把一台计算机分成多个节点(node),每个节点内部拥有多个CPU,节点内部使用共有的内存控制器,节点之间是通过互联模块进行连接和信息交互.因此节点的所有内存对于本节点所有的CPU都是等同的,对于其他节点中的所有CPU都不同.因此每个CPU可以访问整个系统内存,但是访问本地节点的内存速度最快(不经过互联模块),访问非本地节点的内存速度较慢(需要经过互联模块),即CPU访问内存的速度与节点的距离有关,该距离成为Node Distance.查看当前numa的节点情况:numactl --har…
本文探讨如下几个问题: 什么是REST REST包含哪些约束 什么是RESTful 纯RESTful API的难点在哪里 如果你去搜索「什么是REST」的话,大部分情况下,你看到的基本都是RESTful! 这类内容主要说的是: 资源URL应该怎么写 要用GET来获取资源 要用POST来新建资源 要用PUT来更新资源 要用DELETE来删除资源 而实际上REST并不是这些,或者说并不完全是这些! 什么是REST REST全称Representational State Transfer,出自Roy…
不是的,可以通过分页机制扩展实现超过4G内存的支持. 什么是分页机制扩展? PAE. 什么是PAE?   PAE如何实现的?  …
参考: http://www.ibm.com/developerworks/cn/linux/l-numa/ http://blog.sina.com.cn/s/blog_3f5c2f8c01000bzl.html http://blog.csdn.net/ustc_dylan/article/details/45667227…
本篇旨在认识一下以下三种CPU拓扑结构分别是什么: Symmetric multiprocessing (SMP) Non-uniform memory access (NUMA) Simultaneous Multi-Threading (SMT) Symmetric multiprocessing (SMP) 对称多处理(英语:Symmetric multiprocessing,缩写为SMP),也译为均衡多处理.对称性多重处理,是一种多处理器的电脑硬件架构,在对称多处理架构下,每个处理器的地…
终于又切回HBase模式了,之前一段时间因为工作的原因了解接触了一段时间大数据生态的很多其他组件(诸如Parquet.Carbondata.Hive.SparkSQL.TPC-DS/TPC-H等),虽然只是走马观花,但也受益良多.对视野.思维模式都有极其重要的作用,至少,扩展了大数据领域的对话圈. 这里也斗胆建议朋友能在深入研究一门学问的同时博览周边学问,相信必然会大有裨益. 来说正题,操作系统这个话题其实很早就想拿出来和大家分享,拖到现在一方面是因为对其中各种理论理解并不十分透彻,怕讲不好:另…
一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置:另一个层面是从操作系统的层面和硬件的层面来进行调优.操作系统的层面的调优,一般要先定位到是那种资源出现瓶颈——CPU. 内存.硬盘.网络,然后入手调优.所以其实MySQL 的调优,其实不是那么简单,它要求我们对 硬件.OS.MySQL 三者都具有比较深入的理解.比如 NUMA 架构的CPU是如何分配CPU的,以及是如何分配内存的,如何避免导致SWAP的发生:Li…
进程就是一段执行的程序,每当一个程序执行时.对于操作系统本身来说,就创建了一个进程,而且分配了相应的资源.进程能够分为3个类别:     1.交互式进程(I/O)     2.批处理进程 (CPU)     3.实时进程 (REAL-TIME)          对于交互式进程来说,一般其占用的cpu时间片非常段,可是优先级偏高;批处理进程占用的cpu时间片非常长,可是优先级偏底;实时进程是内核所使用的,其优先级高于前面两种.     上面说到了优先级,linux进程是具有优先级的,一般分为两种…
docker对CPU的使用 docker对于CPU的可配置的主要几个参数如下: --cpu-shares CPU shares (relative weight) --cpu-period Limit CPU CFS (Completely Fair Scheduler) period --cpu-quota Limit CPU CFS (Completely Fair Scheduler) quota --cpuset-cpus CPUs in which to allow execution…
在centos7的/sys/fs/cgroup下面可以看到与cpu相关的有cpu,cpuacct和cpuset 3个subsystem.cpu用于对cpu使用率的划分:cpuset用于设置cpu的亲和性等,主要用于numa架构的os:cpuacct记录了cpu的部分信息.对cpu资源的设置可以从2个维度考察:cpu使用百分比和cpu核数目.前者使用cpu subsystem进行配置,后者使用cpuset subsystem进程配置.首先看cpu subsystem的用法 cpu subsyste…
MySQL 一般运行于Linux系统中.对于MySQL的调优一般分为Linux操作系统层面的调优和MySQL层面的调优(当然还有架构层面.业务层面.应用程序层面的调优).操作系统主要是管理和分配硬件资源,所以其实系统层面的调优包括了硬件的调优,也就是调整硬件参数.Linux系统层面的调优一般分为 CPU的调优.内存的调优.磁盘的调优.网络的调优.Linux后台service调优等等. 1. CPU 调优 1.1 CPU 的节能模式 在server环境的CPU一定要关闭节能模式,节能模式不适应于服…
前言 本文是对openstack对接vmware的浅析,所以本文重点是以下两点: 先了解它的整体架构,搞清楚为什么要用这样的架构: 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互 整体架构 先上图,了解下openstack结合VMware的整体架构. 工作原理和流程:   虚机如何启动? 前端BC-OP或者Horizon发送http请求给Rest api,Nova api 通过RPC Call(Rabbitmq)请求scheduler选择合适的nova-compute,到此为…
Linux内存主要用来存储系统和应用程序的指令,数据,缓存等 一,内存映射 1,内核给每个进程提供一个独立的虚拟机地址空间,并且这个地址空间是连续的 2,虚拟地址空间内部又被分为内核空间和用户空间 3,32位和64位系统的虚拟地址空间 32 位系统的内核空间占用 1G,位于最高处,剩下的 3G 是用户空间.而 64 位系统的内核空间和用户空间都是 128T,分别占据整个内存空间的最高和最低处,剩下的中间部分是未定义的 4,进程在用户态时,只能访问用户空间内存:只有进入内核态后,才可以访问内核空间…
虚拟化Pod性能比裸机还要好,原因竟然是这样! http://www.itpub.net/2020/02/27/5340/ 其实感觉 linux也可以做到 NUMA的节点优化 其实 直接在 ESXi上面跑Pod的化 理论上跟 裸机道理一样. 之前的文章介绍过 VMware 在 VMworld 上宣布的太平洋项目 (Project Pacific) ,这是 vSphere 向 Kubernetes 原生平台的演进.太平洋项目引入了 vSphere 主管集群( Supervisor Cluster…
finalize /** *此代码演示了两点: *1.对象可以在被GC时自我拯救. *2.这种自救的机会只有一次,因为一个对象的finalize()方法最多只会被系统自动调用一次 */ public class FinalizeEscapeGC { public static FinalizeEscapeGC SAVE_HOOK = null; public void isAlive() { System.out.println("yes,i am still alive:)"); }…
1.什么是自旋锁? 自旋锁作为锁的一种,和互斥锁一样也是为了在并发环境下保护共享资源的一种锁机制.在任意时刻,只有一个执行单元能够获得锁. 互斥锁通常利用操作系统提供的线程阻塞/唤醒机制实现,在争用锁失败时令线程陷入阻塞态而让出cpu,并在获取到锁时再将其唤醒.而自旋锁则是通过加锁程序中的无限循环,由当前尝试加锁的线程反复轮训当前锁的状态直到最终获取到锁. 互斥锁与自旋锁的优缺点 互斥锁的优点是当加锁失败时,线程会及时的让出cpu,从而提高cpu的利用率,但缺点是如果短时间内如果涉及到大量线程的…
CPU 架构SMP/NUMA,调优 SMP:全称是"对称多处理"(Symmetrical Multi-Processing)技术 . 是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存以及总线. 弱点:CPU变多后,但是内存和内存控制器只有一个,CPU是通过内存控制器访问内存的,所以多个CPU对内存控制器就会产生竞争,为了避免竞争就出现了NUMA架构. NUMA:Non Uniform Memory Access 各个CPU有自己专用的内存(学名叫node),但是也可…
CPU是手机上面最复杂,最贵的Soc(芯片),担任的也是手机中大脑的位 置,是手机跑分性能的决定性硬件.智能手机发展到今天,各大手机CPU厂商也从春秋战国逐渐到了现在四国鼎立的时代(高通,MTK,三星,苹果A系列). 当然最大的CPU厂商还是Intel,只不过intel的主力是在x86架构的处理器,主打PC与服务器产品.而我们今天的主角还是ARM架构的移动端处 理器(手机CPU). 一.我们先来看看手机CPU中的分类: AP应用处理器: 手机CPU中最主要的一部分,手机的系统运作还有APP的运行…
1. 3种系统架构与2种存储器共享方式 1.1 架构概述 从系统架构来看,目前的商用服务器大体可以分为三类 对称多处理器结构(SMP:Symmetric Multi-Processor) 非一致存储访问结构(NUMA:Non-Uniform Memory Access) 海量并行处理结构(MPP:Massive Parallel Processing). 共享存储型多处理机有两种模型 均匀存储器存取(Uniform-Memory-Access,简称UMA)模型 非均匀存储器存取(Nonunifo…
随着计算机中CPU核数目的增加,传统的UMA(unifonn memory access)架构由于对关键硬件(如中央内存控制器)的竞争加剧出现了性能上的瓶颈,即扩展性不强.而NUMA架构则以其良好的可扩展性,逐渐成为多核系统的主流架构.本节主要介绍一下目前三大主流的架构体系. 在传统的PC机上我们的CPU和内存是这样互联的: CPU和内存之间的交互,中间通过北桥芯片进行转发和交互,如图,途中显示了一个CPU的情况下和内存的连接架构图. 在最初的时候,我们的电脑都单颗CPU的,随着我们工艺的进步和…
NUMA 体系架构 SMP 体系架构 NUMA 体系架构 NUMA 结构基本概念 Openstack flavor NUMA 策略 Nova 实现 NUMA 流程 1. SMP 体系架构 CPU 计算平台体系架构分为 SMP 体系架构和 NUMA 体系架构等,下图为 SMP 体系架构: SMP(Sysmmetric Multi-Processor System,对称多处理器系统),它由多个具有对称关系的处理器组成.所谓对称,即处理器之间是水平的镜像关系,没有主从之分.SMP 架构使得一台计算机不…
NUMA微架构 written by qingran September 8th, 2011 no comment 现在开始补日志,逐步的扫清以前写了一半的和"欠账未还的".半年之前开的头,今天先把NUMA说完. PC硬件结构近5年的最大变化是多核CPU在PC上的普及,多核最常用的SMP微架构: 多个CPU之间是平等的,无主从关系(对比IBM Cell): 多个CPU平等的访问系统内存,也就是说内存是统一结构.统一寻址的(UMA,Uniform Memory Architecture)…