今天,我将与您讨论服务器多处理器体系结构。在查阅相关材料的过程中,我发现这是一个易于喷洒的话题,这让我感到恐慌。本文将不从逻辑电路,芯片设计,CPU历史等角度进行详细阐述。级别有限,以实战为重。通过本文,您将了解以下内容:物理核心逻辑核心多处理器体系结构:SMP,NUMA,MPP 1.当涉及物理核心和逻辑核心时,想到CPU时首先想到的是:图1英特尔至强铂金9200处理器的代号为Cooper Lake。该系列CPU的物理封装长度和宽度为76.0×72.5 mm,这也是Intel当前的历史。最大的处理器,CPU是什么样的?一个或多个物理内核封装在CPU内。物理核心具有独立级别的缓存和电路结构。如果只有一个物理核心,则为单核CPU;如果有多个物理核心,则为多核CPU。图2 4核CPU的内部结构示意图。对于具有一致处理器规格的服务器,物理核心总数的计算方法为:物理核心数量= CPU总数*一个CPU中的物理核心数量图3多个CPU和多个物理核心的简化视图-Threading是Intel在2002年发布的一项技术,其全名是Hyper-Threading,缩写为HT技术。超线程技术最初仅应用于Xeon系列处理器,然后相继应用于Pentium系列。主流上,业界对HT有不同的看法,但官方并没有放弃超线程技术。简而言之,超线程技术可以使处理器中的1个物理核像2个物理核一样起作用,从而提高系统的整体性能,但是它肯定不会真正像2个物理核,否则会违反物理定律,只是说在某些技术的帮助下,物理核心的性能会更好。对于具有相同处理器规格的服务器,逻辑核心总数的计算方法为:开启HT:逻辑核心数量= CPU总数*一个CPU中的物理核心数量* 2未打开HT:逻辑核心=物理核心数= CPU总数*一个CPU中的物理核心数。掌握了CPU& amp;之间的关系之后,物理核心逻辑核心,您可以找到一台服务器以查看相关配置并进行尝试。图4 CPU和物理内核与逻辑内核示意图2.多处理器体系结构当有更多的CPU时,您需要考虑如何设计,并且有几种不同的多处理器体系结构。目前,服务器大致可分为三类:对称多处理器结构SMP非统一存储访问结构NUMA大规模并行处理结构MPP对于我们来说,SMP和NUMA应该接触更多,MPP应该接触较少的。 2.1 SMP对称多处理器结构SMP是对称多处理器的缩写。对称多处理器结构意味着多个CPU对称且相等,共享相同的物理内存/ IO和其他资源,因此SMP结构属于统一内存访问结构UMA。图5是SMP架构图。在共享模式下,所有CPU均相等地使用资源。模式很简单。当CPU数量较少时,效率非常好,但是优势可能会成为障碍。设想一下一种情况,如果我们水平扩展CPU的数量以提高SMP模式下服务器的处理能力,并且这些CPU通过同一总线访问内存。随着CPU数量的增加,相同的内存地址访问冲突将显着增加,从而间接导致CPU资源的浪费。相关实验表明,SMP服务器的最佳情况是使用2-4个CPU。图6和SMP扩展效率曲线2.2 NUMA非均匀存储器访问结构前面提到的SMP体系结构是一致的存储器访问结构UMA,相对而言,存在非均匀存储器访问体系结构,因此NUMA之间存在显着差异。结构和SMP体系结构是对内存的对等访问是否一致。 NUMA体系结构服务器具有多个CPU模块。每个CPU模块都由多个CPU组成。每个CPU模块都有独立的本地内存,I / O和其他资源。 CPU模块可以称为节点。图7 NUMA架构CPU模块的内部结构。节点可以通过互连模块相互交互。因此,每个CPU模块仍然可以