Linux中NUMA技术

Linux中NUMA技术

ID:40338387

大小:604.37 KB

页数:9页

时间:2019-07-31

Linux中NUMA技术_第1页
Linux中NUMA技术_第2页
Linux中NUMA技术_第3页
Linux中NUMA技术_第4页
Linux中NUMA技术_第5页
资源描述:

《Linux中NUMA技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、引言随着科学计算、事务处理对计算机性能要求的不断提高,SMP(对称多处理器)系统的应用越来越广泛,规模也越来越大,但由于传统的SMP系统中,所有处理器都共享系统总线,因此当处理器的数目增大时,系统总线的竞争冲突加大,系统总线将成为瓶颈,所以目前SMP系统的CPU数目一般只有数十个,可扩展能力受到极大限制。NUMA(Non-UniformMemoryAccessArchitecture)技术有效结合了SMP系统易编程性和MPP(大规模并行)系统易扩展性的特点,较好解决了SMP系统的可扩展性问题,已成为当今高性能服务器的主流体系结构之一。目前国外著名的服务器厂商都先后推出了基于NUMA架构

2、的高性能服务器,如HP的Superdome、SGI的Altix3000、IBM的x440、NEC的TX7、AMD的Opteron等。随着Linux在服务器平台上的表现越来越成熟,Linux内核对NUMA架构的支持也越来越完善,特别是从2.5开始,Linux在调度器、存储管理、用户级API等方面进行了大量的NUMA优化工作,目前这部分工作还在不断地改进,如新近推出的2.6.7-RC1内核中增加了NUMA调度器。本文主要从存储管理、调度器和CpuMemSets三个方面展开讨论。NUMA:Non-UniformMemoryAccess(NUMA)isacomputermemorydesignus

3、edinmultiprocessing,wherethememoryaccesstimedependsonthememorylocationrelativetoaprocessor.UnderNUMA,aprocessorcanaccessitsownlocalmemoryfasterthannon-localmemory,thatis,memorylocaltoanotherprocessorormemorysharedbetweenprocessors.NUMAarchitectureslogicallyfollowinscalingfromsymmetricmultiprocessi

4、ng(SMP)architectures.SMP:Symmetricmultiprocessing(SMP)involvesamultiprocessorcomputerhardwarearchitecturewheretwoormoreidenticalprocessorsareconnectedtoasinglesharedmainmemoryandarecontrolledbyasingleOSinstance.NUMANode:Afairlytechnicallycorrectandalsofairlyuglydefinitionofanodeis:aregionofmemoryi

5、nwhicheverybytehasthesamedistancefromeachCPU.Amorecommondefinitionis:ablockofmemoryandtheCPUs,I/O,etc.physicallyonthesamebusasthememory.白话说明:现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的SMP模型。但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。NUMA(Non-UniformMemor

6、yAccess)就是这样的环境下引入的一个模型。比如一台机器是有2个处理器,有4个内存块。我们将1个处理器和两个内存块合起来,称为一个NUMAnode,这样这个机器就会有两个NUMAnode。在物理分布上,NUMAnode的处理器和内存块的物理距离更小,因此访问也更快。比如这台机器会分左右两个处理器(cpu1,cpu2),在每个处理器两边放两个内存块(memory1.1,memory1.2,memory2.1,memory2.2),这样NUMAnode1的cpu1访问memory1.1和memory1.2就比访问memory2.1和memory2.2更快。所以使用NUMA的模式如果能尽量保

7、证本node内的CPU只访问本node内的内存块,那这样的效率就是最高的。一个NUMAnode包括一个或者多个Socket,以及与之相连的localmemory。一个多核的Socket有多个Core。如果CPU支持HT超线程,OS还会把这个Core看成2个LogicalProcessor。一、查看系统中的NUMA节点$yuminstallnumactl–y$numactl--hardwareavailable:2node

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。