A method for improving the performance of an integrated station and its user equipment
Patent Information
- Application Number
- CN202411571993.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2044-11-06
AI Technical Summary
然后NGC和CU之间,CU和DU之间采用socket通信,每个报文都会导致一次系统调用,即使每个报文的长度为1500byte,导致的系统调用次数计算:9Gbit/8/1500byte=800000次,系统调用频繁,导致cpu占用很高
[0032]1)所有的下行和上行的gtpu的数据拷贝都不需要,全部优化掉,减少cpu单核50%以上,减少内存带宽9Gbit。因为共享内存池,内存容量减少500Mbyte以上。2)使用批量收发机制,按照实测,平均能实现10个报文的积攒,系统调用减少80%以上,cpu单核提升30%以上。
Smart Images

Figure CN119402922B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of 5G communication transmission technology, and in particular to a method for improving the performance of an integrated station and its user equipment. Background Technology
[0002] In existing technologies, integrated stations that co-deploy 5G base stations (NR) and core networks (NGC) provide voice services and data transmission by allowing user terminals to access the 5G base station while the core network remains local. However, because integrated stations require the simultaneous deployment of both the base station and the core network, their resources are typically strained, such as CPU, memory, and memory bandwidth. This resource constraint can lead to insufficient or fluctuating system traffic.
[0003] like Figure 1 As shown, the specifications supported by NR are: system bandwidth 100MHz, 2 cells (2T2R), cell downlink peak rate 750Mbps, and uplink peak rate 375Mbps. The NGC needs to support these base station specifications accordingly. The figure shows that the NG-U link between NGC and NR has a downlink peak rate of 1.5Gbps and an uplink peak rate of 750Mbps for the two cells. The F1-U link between the CU and DU within NR also has a downlink peak rate of 1.5Gbps and an uplink peak rate of 750Mbps.
[0004] According to the 3GPP standard NGC and NR implementations, NG-U uses UDP communication on port 2152, and F1-U also uses UDP communication on port 2152. Using socket communication, both the sending and receiving ends need to perform one memory copy. Therefore, the total number of memory copies is calculated as follows: Figure 2 As shown, DL: 1.5G * 4 = 6G, UL: 750M * 4 = 3G
[0005] This means that at peak times, 9 Gbits of data needs to be copied per second, which places a significant burden on CPU, memory capacity, and memory bandwidth. Furthermore, communication between the NGC and CU, and between the CU and DU, uses sockets. Each message triggers a system call. Even though each message is 1500 bytes long, the number of system calls is calculated as: 9 Gbits / 8 / 1500 bytes = 800,000. This frequent system calls result in high CPU usage. Summary of the Invention
[0006] This invention addresses the technical problems raised in the background by proposing a method for improving the performance of an integrated station and its user equipment.
[0007] Firstly, this application provides a method for improving the performance of an integrated station, including NR and NGC, where NR includes CU, DU, and RU, and the specific steps are as follows:
[0008] Step 1: Define shared memory
[0009] NGC, CU, and DU define a shared memory region.
[0010] The shared memory is divided into buffer memory pools of the same size, each buffer memory pool being 2048 bytes in size, for storing GTPU messages.
[0011] Assign an index number to each buffer memory pool, ranging from 1 to N;
[0012] Step 2: Use FIFO for communication
[0013] Communication between NGC, CU, and DU is achieved through FIFO;
[0014] The communication payload is the index value of each buffer in shared memory;
[0015] When a process needs to retrieve data, it receives the index value through a FIFO and then retrieves the data from shared memory based on the index value.
[0016] Step 3: Batch Mechanism
[0017] When sending data, each buffer memory pool uses a caching mechanism.
[0018] When 16 buffers have accumulated, they are sent to the peer all at once to reduce the number of system calls.
[0019] If 16 buffers are not accumulated within a certain time, the currently accumulated buffers must also be sent to avoid data packet timeout.
[0020] Step 4: Downlink Process
[0021] NGC requests a buffer to populate the GTPU message.
[0022] NGC passes the buffer index to CU via FIFO.
[0023] The CU retrieves a buffer from shared memory based on the index value, processes it, and then passes the index value to the DU via FIFO. The DU retrieves a buffer from shared memory based on the index value, processes it, and then releases the buffer back to the memory pool.
[0024] Step 5: Uplink Process
[0025] DU requests a buffer and fills the message.
[0026] The DU passes the buffer index to the CU via the FIFO.
[0027] The CU retrieves a buffer from shared memory based on the index value, processes it, and then passes the index value to the NGC via FIFO. The NGC retrieves a buffer from shared memory based on the index value, processes it, and then releases the buffer back to the memory pool.
[0028] Preferably, in step 4, during downlink, the NGC requests a buffer from the shared memory pool, fills the GTPU message, and then passes the buffer index to the CU via FIFO. The CU obtains the shared memory buffer according to the index value. After processing, the CU passes the index value to the DU via FIFO. The DU obtains the shared memory buffer according to the index value. After processing, the shared memory is released to the memory pool.
[0029] Preferably, in step 5, during uplink, the DU requests a buffer from the shared memory pool, fills the packet, and passes the buffer index to the CU via FIFO. The CU obtains the shared memory buffer according to the index value. After processing, the DU passes the index value to the NGC via FIFO. The NGC obtains the shared memory buffer according to the index value. After processing, the shared memory is released to the memory pool.
[0030] Secondly, this application also provides a user equipment, including the method described in the first aspect.
[0031] The beneficial effects of the embodiments in this application compared with the prior art are:
[0032] 1) All downlink and uplink GTPU data copying is eliminated and optimized, reducing CPU single-core usage by over 50% and memory bandwidth by 9 Gbit. Due to the shared memory pool, memory capacity is reduced by over 500 Mbytes. 2) Using a batch send / receive mechanism, according to actual tests, an average of 10 packets can be accumulated, reducing system calls by over 80% and improving CPU single-core performance by over 30%. Attached Figure Description
[0033] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0034] Figure 1 This is a device system block diagram provided in the embodiments of this application;
[0035] Figure 2This is a flowchart of the TCP / IP protocol stack provided in the embodiments of this application;
[0036] Figure 3 This is a flowchart of uplink data transmission provided in an embodiment of this application. Detailed Implementation
[0037] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0038] Definitions:
[0039] NR stands for 5G base station.
[0040] NGC is the core network.
[0041] Example 1
[0042] like Figure 1 As shown, this equipment is structured according to NR specifications, with a system bandwidth of 100MHz, 2 cells (2T2R), a cell downlink peak rate of 750Mbps, and an uplink peak rate of 375Mbps. The NGC needs to support the specifications of this base station accordingly. As can be seen from the figure, the downlink peak rate of the NG-U link between the NGC and NR is 1.5Gbps, and the uplink peak rate is 750Mbps. The F1-U link between the CU and DU within the NR also has a downlink peak rate of 1.5Gbps and an uplink peak rate of 750Mbps.
[0043] According to the 3GPP standard NGC and NR implementations, NG-U uses UDP communication on port 2152, and F1-U also uses UDP communication on port 2152. Using socket communication, both the sending and receiving ends need to perform one memory copy. Therefore, the total number of memory copies is calculated as follows: Figure 2 As shown.
[0044] DL: 1.5G * 4 = 6G
[0045] UL: 750M * 4 = 3G
[0046] This means that at peak times, it needs to copy 9 Gbit of data per second, which is a significant overhead on CPU, memory capacity, and memory bandwidth.
[0047] Then, socket communication is used between NGC and CU, and between CU and DU. Each message will cause a system call. Even if the length of each message is 1500 bytes, the number of system calls is calculated as: 9Gbit / 8 / 1500byte = 800,000 times. The frequent system calls result in high CPU usage.
[0048] In this embodiment, CPU usage, memory capacity, and memory bandwidth are reduced by decreasing the number of memory copies and system calls from the data plane.
[0049] Since the CU and DU of NGC and NR are deployed on the same system, communication can be achieved without using sockets. A custom communication mechanism can be used instead. The steps to achieve this are as follows:
[0050] (1) A shared memory is allocated for both uplink and downlink, which can be accessed by NGC, CU, and DU. The shared memory is divided into a buffer memory pool of the same size, with each buffer being 2048 bytes in size, to ensure that it can store one GTPU packet. Then, each buffer is numbered with an index from 1 to N.
[0051] (2) Use a named pipe FIFO to implement communication between NGC, CU and DU. The communication payload passes the index value of each buffer in the shared memory.
[0052] When the other end receives the notification to retrieve the packet, it retrieves the index value of the shared memory and then retrieves the data from the corresponding shared memory.
[0053] (3) A batch mechanism is adopted. When sending data, it is not sent to the other end every time a buffer arrives. Instead, a caching mechanism is used, and the data is sent to the other end all at once when 16 packets are accumulated. In this way, a system call is triggered only when 16 data packets arrive. Of course, if there are not 16 packets within a certain period of time, the currently accumulated packets also need to be sent to the other end to prevent data packet timeout.
[0054] (4) During downlink, the NGC requests a buffer from the shared memory pool, fills the GTPU packet, and then passes the buffer index to the CU via FIFO. The CU retrieves the shared memory buffer based on the index value, processes it, and then passes the index value to the DU via FIFO. The DU retrieves the shared memory buffer based on the index value, processes it, and then releases the shared memory back to the memory pool. Figure 3 As shown.
[0055] (5) During uplink, the DU requests a buffer from the shared memory pool, fills the packet, and passes the buffer index to the CU through FIFO. The CU obtains the shared memory buffer according to the index value. After processing, the CU passes the index value to the NGC through FIFO. The NGC obtains the shared memory buffer according to the index value. After processing, the shared memory is released to the memory pool.
[0056] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0057] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A method for integrated station performance enhancement, characterized by, Specifically comprising the following steps: Step 1: defining shared memory NGC, CU and DU define a shared memory area; The shared memory is divided into buffer memory pools of the same size, each buffer memory pool has a size of 2048 bytes and is used to store GTPU packets; Each buffer memory pool is assigned an index number, ranging from 1 to N; Step 2: using FIFO for communication Named pipe FIFO is used to realize communication between NGC, CU and DU; The payload of the communication is the index value of each buffer in the shared memory; When a process needs to obtain data, it receives the index value through the FIFO, and then obtains the data from the shared memory according to the index value; Step 3: batch mechanism When sending data, each buffer memory pool uses a cache mechanism; When 16 buffers are accumulated, they are sent to the opposite end at one time to reduce the number of system calls; If 16 buffers are not accumulated within a certain period of time, the currently accumulated buffers also need to be sent to avoid packet timeout; Step 4: downlink process NGC applies for a buffer and fills in the GTPU packet, NGC transmits the index of the buffer to CU through FIFO, CU obtains the buffer from the shared memory according to the index value, processes it, and then transmits the index value to DU through FIFO, DU obtains the buffer from the shared memory according to the index value, processes it, and then releases the buffer back to the memory pool, Step 5: uplink process DU applies for a buffer and fills in the packet, DU transmits the index of the buffer to CU through FIFO, CU obtains the buffer from the shared memory according to the index value, processes it, and then transmits the index value to NGC through FIFO, NGC obtains the buffer from the shared memory according to the index value, processes it, and then releases the buffer back to the memory pool.
2. The method of claim 1, wherein, In step 4, in the downlink process, NGC applies for a buffer from the shared memory pool, fills in the gtpu packet, and then transmits the index of the buffer to CU through FIFO. CU obtains the buffer from the shared memory according to the index value, processes it, and then transmits the index value to DU through FIFO. DU obtains the buffer from the shared memory according to the index value, processes it, and then releases the shared memory to the memory pool.
3. The method of claim 1, wherein, In step 5, in the uplink process, DU applies for a buffer from the shared memory pool, fills in the packet, and then transmits the index of the buffer to CU through FIFO. CU obtains the buffer from the shared memory according to the index value, processes it, and then transmits the index value to NGC through FIFO. NGC obtains the buffer from the shared memory according to the index value, processes it, and then releases the shared memory to the memory pool.
4. A user equipment, comprising: A method for improving the performance of an integrated station is provided. The method for improving the performance of an integrated station is provided.
Citation Information
Patent Citations
Communication processing methods and devices applied to central unit-distributed unit structure
CN108616933A
Data capacity sharing server, method and system for sharing data capacity donated by terminal
CN111771225A