1.1, MPP architecture introduction
MPP (Massively Parallel Processing) , massively parallel processing system, such a system is composed of many loosely coupled processing units, it should be noted that the processing unit is referred to here instead of the processor. The CPU in each unit has its own private resources, such as bus, memory, hard disk, etc. Within each cell there is an instance replica of the operating system and management database . The biggest feature of this structure is that it does not share resources.
1.2, SMP architecture introduction
SMP (Symmetric Multi Processing), there are many tightly coupled multi-processors in a symmetric multi-processing system. In such a system, all CPUs share all resources, such as bus, memory and I/O system, etc., operating system or management database There is only one replica, and one of the biggest features of this system is that all resources are shared .
1.3, NUMA architecture
The basic feature of a NUMA server is that it has multiple CPU modules, and each CPU module consists of multiple CPUs ( eg , 4 ) , and has independent local memory, I/O slots, and the like. Because its nodes can be connected and information exchanged through interconnection modules ( such as Crossbar Switch) .
Second, the differences between the three architectures
2.1 The difference in performance between NUMA , MPP , and SMP
The node interconnection mechanism of NUMA is implemented within the same physical server. When a certain CPU needs to perform remote memory access, it must wait. This is also the reason why NUMA servers cannot achieve linear performance expansion when the CPU increases.
The node interconnection mechanism of MPP is realized through I/O outside different SMP servers . Each node only accesses local memory and storage, and the information exchange between nodes is carried out in parallel with the processing of the nodes themselves. Therefore , the performance of MPP can basically achieve linear expansion when adding nodes.
SMP所有的CPU资源是共享的,因此完全实现线性扩展。
2.2、NUMA、MPP、SMP之间扩展的区别
NUMA理论上可以无限扩展,目前技术比较成熟的能够支持上百个CPU进行扩展。如HP的SUPERDOME。
MPP理论上也可以实现无限扩展,目前技术比较成熟的能够支持512个节点,数千个CPU进行扩展。
SMP扩展能力很差,目前2个到4个CPU的利用率最好,但是IBM的BOOK技术,能够将CPU扩展到8个。
MPP是由多个SMP构成,多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务。
2.3、MPP和SMP、NUMA应用之间的区别
MPP的优势:
MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。由于MPP系统因为要在不同处理单元之间传送信息,在通讯时间少的时候,那MPP系统可以充分发挥资源的优势,达到高效率。也就是说:操作相互之间没有什么关系,处理单元之间需要进行的通信比较少,那采用MPP系统就要好。因此,MPP系统在决策支持和数据挖掘方面显示了优势。
SMP的优势:
MPP系统因为要在不同处理单元之间传送信息,所以它的效率要比SMP要差一点。在通讯时间多的时候,那MPP系统可以充分发挥资源的优势。因此当前使用的OTLP程序中,用户访问一个中心数据库,如果采用SMP系统结构,它的效率要比采用MPP结构要快得多。
NUMA架构的优势:
From the perspective of NUMA architecture, it can integrate many CPUs in a physical server , so that the system has high transaction processing capability. Since the remote memory access delay is much longer than the local memory access, it is necessary to minimize the data between different CPU modules. interact. Obviously, the NUMA architecture is more suitable for the OLTP transaction processing environment. When used in the data warehouse environment, due to a large number of complex data processing will inevitably lead to a large number of data interactions, which will greatly reduce the CPU utilization.