Linux Kernel Study Notes: SMP, Uma, numa

Source: Internet
Author: User
1. Summary SMP is called shared memory mulptiprocessors, also known as symmetric multiprocessors ).
The shared storage multi-processor has three models: the uniform-memory-access (UMA) model and the nonuniform-memory-access (NUMA) model) the model differs from the cache-only memory architecture (coma) model, which only uses high-speed cache.
The UMA multi-processor model 8.23 is shown in. As shown in the figure, physical memory is evenly shared by all processors. All processors have the same access time for all stored words, which is why they are called even memory access. Each processor can have private high-speed cache, and peripheral devices are also shared in a certain form.

As shown in the NUMA multi-processor model 8.24, the access time varies with the location of stored words. The shared memory is physically distributed in the local memory of all processors. A collection of all local memory forms a global address space that can be accessed by all processors. Processing Machines access local memory quickly, but access to remote memory belonging to another processing machine is slow, because additional latency occurs through the Interconnect Network.

  As shown in coma model 8.25, a multi-processor that only uses high-speed cache is used. The coma model is a special case of the NUMA machine. It only replaces the master memory distributed in the latter with a high-speed cache, and there is no memory hierarchy on each processing node, all high-speed buffer storages constitute the global address space. Remote High-speed cache access is performed by means of distributed high-speed cache directories.
  The shared storage system has a uniform addressing space, so programmers do not have to participate in data distribution and transmission. Early parallel processing systems were almost all bus-based shared storage systems, and their development benefited from two reasons: one was the incredible performance-to-price ratio of the microprocessor, another is the cache technology widely used in microprocessor-based parallel processing systems. These factors make it possible to put multiple processors on the same bus, share a single memory, and reduce the storage bandwidth required for all processors to access the memory to an acceptable level through the cache. Cache consistency is achieved through the listening protocol. This implementation method is simple, but hinders the scalability of the system.
By the middle of 1980s, the demand for scalable multi-processor systems continued to grow. The Machine Based on bus, cache consistency, and shared single memory obviously cannot be expanded. In 1996, SGI origin 2000 Series servers were launched. A parallel computer architecture called s2mp has received wide attention. S2mp stands for scalable shared-memory multiprocessing technology. The s2mp system connects a large number of high-performance processors and shares a Unified Address Space, which effectively solves the problems that other parallel processing systems cannot solve.
S2mp is a shared storage architecture. Compared with a large-scale messaging system, s2mp supports Simple programming models and is easy to use, is the development of SMP systems in support of higher scalability. The shared storage system reduces the additional communication overhead, so the system can also run fine-grained applications. Compared with the traditional bus-based shared storage parallel processing system, s2mp does not have the limit on the bus bandwidth of the number of processors that can be connected to the system.
As a large-scale multi-processing system, s2mp still solves the scalability and programming capability of the system. The s2mp system uses distributed storage technology and introduces cache to reduce memory access latency. At the same time, the processor in the system increases the communication bandwidth of the system through high-speed and non-blocking interconnection network connections. These technologies ensure the scalability of the s2mp system. On the other hand, the main way to solve programming problems is to provide a uniform address space similar to a single machine. Therefore, the s2mp system uses the shared storage model, each processor node can directly access all storage units. programmers do not need to explicitly control the distribution of data and communication between processors in the program, so it is easy to program. Direct Memory Access also makes it easy to dynamically allocate tasks between processors to achieve load balancing. At the same time, because shared storage systems evolved from small-scale parallel multi-processor systems with the same programming model, the existing parallel application problems can be easily transplanted to run, it solves the problem of application development in the parallel processing system.

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.