Analysis of commercial servers in key business fields

Source: Internet
Author: User

Server technology types from the perspective of architecture, commercial servers that are widely used in key business fields can be divided into three types: symmetric multi-Processor (SMP: symmetric ricmulti-Processor ), inconsistent storage access structure (NUMA: Non-UniformMemoryAccess) and massive parallel processing structure (MPP: MassiveParallelProcessing ).

The SMP structure refers to the symmetric operation of multiple CPUs on the server without the primary or secondary relationship. Each CPU shares the same physical memory, and each CPU needs the same time to access any address in the memory. Therefore, SMP is also called the consistent memory access structure. The following methods can be used to expand an SMP server: increase memory, use faster CPU, increase CPU, expand I/O, and more external devices (usually disk storage ). The main feature of the SMP server is sharing. all resources in the system, such as CPU, memory, and I/O, are shared. It is precisely because of this feature that the main problem with the SMP server is that its scalability is very limited: Every sharing link may cause a bottleneck in the expansion of the SMP server; for SMP, memory is the most restricted. Each CPU must access the same memory resources through the same memory bus. As the number of CPUs increases, memory access conflicts will rapidly increase, this results in a waste of CPU resources and greatly reduces the CPU performance effectiveness.

Due to the limitations of SMP in scalability, NUMA is one of the results of this effort that people begin to explore how to effectively scale to build large systems. Using NUMA technology, dozens or even hundreds of CPUs can be combined into one server.

The basic features of the NUMA server are as follows: It has multiple CPU modules, such as BuildingBlock and nodes), and each CPU module consists of multiple CPUs, such as four, it also has independent local memory and I/O slots. nodes are connected and interacted with each other through the interconnection module. Each CPU can access the memory of the entire system. Obviously, accessing the local memory is much faster than accessing the memory of other nodes in the local memory system. This is also the origin of inconsistent Storage Access to NUMA. Due to this feature, in order to better utilize the system performance, information interaction between different CPU modules should be minimized during application development.
Using NUMA technology, you can better solve the expansion problem of the original SMP system, and support hundreds of CPUs in a physical server.

The main problem with NUMA technology is that the latency of accessing the local memory far exceeds the local memory, so when the number of CPUs increases, the system performance cannot be linearly increased.

Unlike NUMA, MPP provides another way to expand the system. Multiple SMP servers connect to each other through a node network to complete the same task, from the user's perspective, it is a server system. Its basic features are as follows: each SMP server is called a node by multiple SMP servers. Each node is connected through a node interconnection network, and only accesses its local resource memory and storage ), it is a completely non-shared structure. It has the best scalability. Theoretically, it has unlimited scalability. The current technology can interconnect 512 nodes.

In an MPP System, each SMP node can also run its own operating system, database, etc. However, unlike NUMA, it does not have the problem of remote memory access. In other words, the CPU in each node cannot access the memory of another node. Information Interaction between nodes is achieved through the node interconnection network. This process is generally called data redistribution (DataRedistribution ).

The main problem with the MPP server is that a complex mechanism is required to schedule and balance the load and parallel processing processes of each node. At present, some MPP-based servers often block this complexity through system-level software such as databases. When developing applications based on such databases, no matter how many nodes the backend server is composed of, developers are faced with the same database system, instead, you do not need to consider how to schedule the loads of several nodes.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.