Server three major systems SMP, NUMA, MPP introduction

  

From the system architecture point of view, the current commercial servers can be roughly divided into three categories, namely symmetric multiprocessor (SMP: Symmetric Multi-Processor), non-uniform storage access Structure (NUMA: Non-Uniform Memory Access), and Massive Parallel Processing (MPP: Massive Parallel Processing). Their characteristics are described below:

SMP (Symmetric Multi-Processor)


called a symmetric multi-processor configuration, the server refers to the plurality of CPU symmetrical working no Primary or secondary or affiliation. Each CPU shares the same physical memory, and each CPU accesses the same time in any address in memory. Therefore, SMP is also called Uniform Memory Access (UMA). Ways to extend SMP servers include increasing memory, using faster CPUs, increasing CPUs, expanding I/O (number of slots and buses), and adding more external devices (usually disk storage). The main feature of

SMP server is shared, all system resources (CPU, memory, I /O, etc.) are shared. It is precisely because of this feature that the main problem of the SMP server is that its expansion capability is very limited. For SMP servers, every shared link can cause bottlenecks in SMP server expansion, and the most limited is memory. Since each CPU must access the same memory resource through the same memory bus, as the number of CPUs increases, memory access conflicts will increase rapidly, eventually causing waste of CPU resources and greatly reducing the effectiveness of CPU performance. Experiments have shown that the best CPU utilization for SMP servers is 2 to 4 CPUs. FIG 1.SMP



server CPU utilization state

NUMA (Non-Uniform Memory Access)
on the SMP scalability due

The limitations of this, people began to explore how to effectively expand the technology to build large systems, NUMA is one of the results of this effort. With NUMA technology, dozens of CPUs (or even hundreds of CPUs) can be combined in a single server. Its CPU module configuration shown in Figure 2: Basic characteristics



FIG 2.NUMA server CPU module configuration

NUMA server having a plurality of CPU modules, each The CPU module is composed of multiple CPUs (such as four) and has independent local memory, I/O slots, and the like. Because the nodes can connect and exchange information through interconnect modules (such as Crossbar Switch), each CPU can access the entire system's memory (this is an important difference between NUMA systems and MPP systems). Obviously, accessing local memory will be much faster than accessing remote memory (memory of other nodes in the system), which is why non-uniform storage accesses NUMA. Because of this feature, in order to better utilize system performance, it is necessary to minimize the information interaction between different CPU modules when developing applications. With NUMA technology, the expansion problem of the original SMP system can be better solved, and hundreds of CPUs can be supported in one physical server. Examples of typical NUMA servers include HP's Superdome, SUN15K, IBMp690, and others.

NUMA technology but also has some defects, due to the remote memory access latency is far more than local memory, so when the number of CPU, system performance can not increase linearly. For example, when HP released the Superdome server, it published its relative performance value with other HP UNIX servers. It found that the relative performance value of the 64-way CPU Superdome (NUMA structure) is 20, while the 8-way N4000 (shared SMP structure). The relative performance value is 6.3. From this result, we can see that 8 times the number of CPUs is only a 3x performance improvement.



Figure 3.MPP server architecture diagram

Copyright © Windows knowledge All Rights Reserved