Skip to main content

Server 05-CPU and memory architecture introduction

From the perspective of system architecture, the server's CPU and memory architecture can be divided into three categories:
SMP: Symmetric Multi-Processor
NUMA: Non-Uniform Memory Access
MPP: Massive Parallel Processing
I personally don't think MPP is a kind of CPU and memory architecture; I think it is a distributed architecture application of SMP or NUMA; this article will explain later.

1. Early server: SMP

The earliest servers were all a CPU. As business pressure increased, they faced the situation of insufficient CPU. How to do? The simple and rude way is: do not change the architecture, just add CPU to the existing architecture.

The architecture remains unchanged, the CPU is added, but the effect is not as good as expected. The CPU is twice the original, but the system performance has not increased to twice the original. what reason? The status of the two CPUs is equal, sharing the memory bus; when CPU0 uses memory, CPU1 has to wait. The situation of the two CPUs is sloppy. As the number of CPUs increases, the CPU bus becomes more and more a bottleneck. How to do? NUMA is now on the stage.

2. Current server: NUMA

NUMA solves the bottleneck of the SMP architecture memory bus, ensuring that each CPU has its own private memory and memory bus; what if the memory of the CPU is not enough? Through the CPU bus (QPI or UPI) negotiate with other CPUs to borrow. Nothing can be perfect. NUMA has its own problems, especially in database and virtualization scenarios. There are performance problems in certain situations: 1. Cross-CPU access to memory (that is, borrowing memory from other CPUs) is better than accessing the CPU The memory efficiency is low. 2. There will be an imbalance between memory and CPU access: such as 4 CPUs, the data to be accessed by CPU1 happens to be in the memory of CPU0.
Tips: In database scenarios, experienced DBAs will require NUMA to be closed.

3) MPP

Under SMP|NUMA architecture, all CPUs are in one server, and the operating system is also one
MPP is actually that multiple servers of SMP|NUMA are connected together through the network, and each server has its own operating system; MPP is more a computer that relies on the operating system or distributed software between multiple servers to coordinate and dispatch the logical composition. Or service; essentially it should belong to a modern distributed architecture. Program = algorithm + data structure, where the algorithm can be regarded as CPU processing, and the data structure can be regarded as data storage, then it is obvious that there are two directions for expansion, CPU expansion and storage expansion; at this time it has evolved into scale-out and scale-up. The limitations of scale-up are obvious. No matter how awesome it is, there will always be one day; scale-out means that calculation and storage can always be linearly expanded. This is also the reason why distributed systems are popular.


Popular posts from this blog

AMD's GPU technology enters the mobile phone chip market for the first time

In addition to the release of the Exynos2100 processor, Samsung also confirmed a major event at this Exynos event, that is, the custom GPU that they have worked with AMD for many years will soon appear and will be used on the next flagship machine. The current Exynos2100 processor uses ARM’s Mali-G78GPU core with a total of 14 cores, so the GPU architecture developed by Samsung will be the next Exynos processor, and the GPU will be the focus. This is probably the meaning of Exynos2100’s GPU stacking. The key reason. Dr. InyupKang, president of Samsung’s LSI business, confirmed that the next-generation mobile GPU in cooperation with AMD will be used in the next flagship product, but he did not specify which product. Samsung is not talking about the next-generation flagship but the next one, so it is very likely that a new Exynos processor will be available this year, either for the GalaxyNote21 series or the new generation of folding screen GalaxyZFold3. In 2019, AMD and Samsung reached

Apple and Intel want to join the game, what happened to the GPU market?

Intel recently announced that it will launch Xe-LP GPU at the end of this year, officially entering the independent GPU market, and will hand over to TSMC for foundry. At the 2020 WWDC held not long ago, Apple also revealed that it is possible to abandon AMD's GPU and use a self-developed solution based on the ARM architecture. It will launch a self-developed GPU next year. What happened to the GPU market? Why are the giants entering the game?    Massive data calls for high-performance GPU    Why has the demand for GPUs increased so rapidly in recent years? Because we are entering an era where everything needs to be visualized. Dai Shuyu, a partner of Aiwa (Beijing) Technology Co., Ltd., told a reporter from China Electronics News that visualization requires a large amount of graphics and image computing capabilities, and a large amount of high-performance image processing capabilities are required for both the cloud and the edge.    Aiwa (Beijing) Technology Co., Ltd. is an enterp

NVIDIA officially launches RTX 30 series mobile graphics cards

In the early morning of January 13, NVIDIA officially launched the RTX30 series of mobile graphics cards at the CES2021 exhibition. Ampere-based GPUs have also reached the mobile terminal, mainly including RTX3080, RTX3070 and RTX3060 models. In addition to improving game performance, the RTX30 series of mobile graphics cards have twice the energy efficiency of the previous generation, and support the third-generation Max-Q technology, mainly supporting DynamicBoost2.0 dynamic acceleration technology, WisperMode2.0 noise control, ResizableBAR (similar to AMD’s SAM technology) and DLSS. The third-generation Max-Q technology uses AI and new system optimization to make high-performance gaming laptops faster and more powerful than ever. These technologies include: ·DynamicBoost2.0: The CPU and GPU powers of traditional gaming notebooks are fixed, while games and creative applications are dynamic, and the requirements for the system will vary with the number of frames. With DynamicBoost2.0,