VNode architecture design for improving multi-thread efficiency based on NUMA system

By designing a VNode architecture based on NUMA architecture on servers of NUMA architecture, the worker thread and memory data are allocated to the same NUMA nodes, the problem of throughput decline caused by memory access delay is solved, and efficient data access and system performance optimization is achieved.

CN119512693APending Publication Date: 2025-02-25BEIJING KERNEL TECHNOLOGY CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411597138.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-11
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

On servers with NUMA architecture, the long-tail phenomenon of request response caused by memory access delay has significantly increased, resulting in a significant decline in overall throughput.

Method used

A VNode architecture based on NUMA system is designed to reduce the remote memory access latency by allocating worker threads and memory data to the same NUMA nodes, and to segment the single-body memory database service into multiple virtual nodes to achieve multi-threaded parallel access.

Benefits of technology

It significantly improves data access speed and overall performance, optimizes system performance, can better cope with memory access differences, ensures service stability and efficiency, and performs excellently in scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512693A_ABST
    Figure CN119512693A_ABST
Patent Text Reader

Abstract

The invention discloses a VNode architecture design for improving multi-thread efficiency based on an NUMA (Non Uniform Memory Access) system, which belongs to the field of virtual node VNode architectures and comprises a client and N virtual nodes (VNode). According to the technical scheme, by distributing the working threads and the memory data to the same NUMA node, delay caused by far-end memory access is reduced, so that the data access speed and the overall performance are remarkably improved, the architecture can better utilize hardware resources of a server, a working thread group on each NUMA node can be customized according to CPU and memory configuration of the node, and the service life of the NUMA node is prolonged. According to the method, resources are reasonably distributed and efficiently utilized, the service is divided into a plurality of virtual nodes, so that the architecture is excellent in expandability, and in a distributed system, each virtual node can be regarded as an independent unit, which means that when a certain node fails, the virtual node can be used as an independent unit. And the influence range can be limited in the node without affecting other nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of virtual node VNode architecture, and in particular to a VNode architecture design based on a NUMA system to improve multi-threading efficiency. Background Art

[0002] The hardware design of high-performance servers in modern data centers is extremely complex, and its performance improvement does not only rely on installing multiple CPUs on a single node. The CPU design of high-performance servers is also complex, including the concept of multi-core processors, that is, each CPU chip integrates multiple logical cores. However, when these CPU cores access memory, the performance of accessing different physical memory areas will be different due to factors such as physical location, motherboard bus layout, memory management unit (MMU) and memory controller. For most conventional applications, the operating system provides a unified resource view, and applications can assume that they have global CPU and memory resources. However, for service applications that pursue extreme performance, this slight difference in memory access may have a significant impact on performance. If an array that needs to be accessed has some elements stored in local memory and some in remote memory, the latency when accessing these elements will be different, resulting in fluctuations in the performance displayed by the service. When running on a server with a NUMA (Non-Uniform Memory Access) architecture, if memory access is continuously affected by the latency of remote memory access, the long tail phenomenon of request response will be significantly aggravated, resulting in a significant decrease in overall throughput.

[0003] The present invention is used for a multi-thread management module of a Sudis distributed high-speed cache database system 2.0 product. Summary of the invention

[0004] The main purpose of the present invention is to provide a VNode architecture design based on a NUMA system to improve multi-threading efficiency, which can effectively solve the problems in the background technology.

[0005] To achieve the above object, the technical solution adopted by the present invention is: A VNode architecture design for improving multi-threading efficiency based on a NUMA system includes a client and N virtual nodes (VNodes), wherein the virtual node (VNode) is composed of a working thread group, a memory (Mem), and a processor (CPU).

[0006] Preferably, the N virtual nodes (VNodes) divide the single memory database service into multiple new architectures.

[0007] Preferably, each of the virtual nodes (VNode) is set independently of each other, and the virtual nodes (VNode) are set in parallel.

[0008] Preferably, a persistent connection is formed between the client and the virtual node (VNode), and access is performed through the persistent connection.

[0009] Preferably, the N virtual nodes (VNodes) can enable multiple different threads to perform read or write operations on multiple memory areas at the same time.

[0010] Compared with the prior art, the present invention has the following beneficial effects: the VNode architecture design based on the NUMA system for improving multi-threading efficiency reduces the delay caused by remote memory access by allocating working threads and memory data to the same NUMA node, thereby significantly improving data access speed and overall performance. The architecture can better utilize the hardware resources of the server. The working thread group on each NUMA node can be customized according to the CPU and memory configuration of the node to ensure that resources are reasonably allocated and efficiently utilized. By dividing the service into multiple virtual nodes, the architecture performs well in scalability. In a distributed system, each virtual node can be regarded as an independent unit. This means that when a node fails, its scope of influence can be limited to the node and will not affect other nodes. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 This is an architectural diagram of a VNode architecture design for improving multi-threading efficiency based on a NUMA system according to the present invention. DETAILED DESCRIPTION

[0012] In order to make the technical means, creative features, objectives and effects achieved by the present invention easy to understand, the present invention is further explained below in conjunction with specific implementation methods.

[0013] like Figure 1 As shown, a VNode architecture design for improving multi-threading efficiency based on a NUMA system includes a client and N virtual nodes (VNodes). The virtual node (VNode) is composed of a working thread group, a memory (Mem), and a processor (CPU).

[0014] Through the above embodiment, N virtual nodes (VNode) divide the single memory database service into multiple new architectures, each virtual node (VNode) is set independently, and the virtual nodes (VNode) are set in parallel. A long connection is formed between the client and the virtual node (VNode), and access is performed through the long connection. N virtual nodes (VNode) can enable multiple different threads to perform read or write operations on multiple memory areas at the same time.

[0015] When accessing, the user sends a request through the client and uses the virtual node (VNode) architecture to access. After each request is hashed, the corresponding virtual node (VNode) is used to obtain data. The obtained data is sent to the client through a long connection, and the user can obtain relevant data through the client. Since each virtual node (VNode) has a work thread group, Mem and CPU, multiple requests can be made at the same time. After each group of CPU and memory is assigned to the same virtual node (VNode), the upper-level software can identify its location, so as to more effectively distribute and manage memory resources, thereby optimizing the performance of the system, better coping with the challenges brought by memory access differences, and ensuring the stability and efficiency of the service. A complete work thread group is deployed on each node, which can be flexibly adjusted according to the CPU and memory resource configuration of the node, and has high adaptability.

[0016] It should be noted that the VNode architecture has the advantages of performance optimization, improved resource utilization, enhanced scalability, and fault isolation and recovery. Performance optimization: By allocating worker threads and memory data to the same NUMA node, the latency caused by remote memory access is reduced, thereby significantly improving data access speed and overall performance. This optimization is crucial for in-memory KV databases because it is directly related to response time and throughput. Improved resource utilization: The new architecture can better utilize the hardware resources of the server. The worker thread group on each NUMA node can be customized according to the CPU and memory configuration of the node to ensure that resources are reasonably allocated and efficiently utilized, which helps to avoid idle and wasteful resources and improve the economy of the overall system. Enhanced scalability: By dividing the service into multiple virtual nodes, the new architecture performs well in scalability. As business needs grow, more NUMA nodes and virtual nodes can be easily added, thereby achieving linear expansion of service capacity without changing the existing system architecture. Fault isolation and recovery: In a distributed system, each virtual node can be regarded as an independent unit. This means that when a node fails, the impact can be limited to the node itself and will not affect other nodes, which helps reduce the overall risk of system failure and simplifies the failure recovery process. The new architecture based on NUMA architecture has significant advantages in performance optimization, resource utilization improvement, scalability enhancement, fault isolation and recovery, and provides a more efficient, reliable and scalable solution for in-memory KV database services.

[0017] The above shows and describes the basic principles and main features of the present invention and the advantages of the present invention. It should be understood by those skilled in the art that the present invention is not limited to the above embodiments. The above embodiments and descriptions are only for explaining the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention to be protected. The scope of protection of the present invention is defined by the attached claims and their equivalents.

Claims

1. A VNode architecture design for improving multi-threading efficiency based on a NUMA system, characterized by: It includes a client and N virtual nodes (VNode), and the virtual node (VNode) is composed of a work thread group, a memory (Mem), and a processor (CPU).

2. According to claim 1, a VNode architecture design for improving multi-threading efficiency based on a NUMA system is characterized by: The N virtual nodes (VNodes) divide the single memory database service into multiple new architectures.

3. According to claim 2, a VNode architecture design for improving multi-threading efficiency based on a NUMA system is characterized by: Each of the virtual nodes (VNode) is set independently of each other, and the virtual nodes (VNode) are set in parallel.

4. According to claim 3, a VNode architecture design for improving multi-threading efficiency based on a NUMA system is characterized by: A persistent connection is formed between the client and the virtual node (VNode), and access is performed through the persistent connection.

5. According to claim 4, a VNode architecture design for improving multi-threading efficiency based on a NUMA system is characterized by: The N virtual nodes (VNodes) can enable multiple different threads to perform read or write operations on multiple memory areas at the same time.

Citation Information

Patent Citations

  • NUMA node binding method and device of virtual machine, equipment and storage medium

    CN112181595A

  • Resource allocation method and device, electronic equipment and storage medium

    CN113961302A

  • Virtual machine VCPU large and small core distribution and heterogeneous thread scheduling method for cloud game optimization

    CN117850958A

  • System and method for optimally configuring software systems for a NUMA platform

    US20060206489A1

  • Systems and methods for non-uniform memory access aligned I / O for virtual machines

    US20170364279A1