A data scheduling method of a MAC layer and a terminal
By adopting a multi-threaded, multi-core processing approach in NR small base stations, events are allocated to different threads for concurrent or serial processing according to scheduling relationships. This solves the problem of limited CPU core processing performance, enables the scheduling of more user devices to be processed in a short time, and improves the overall scheduling rate.
Patent Information
- Application Number
- CN202310891744.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-17
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2041-06-17
AI Technical Summary
The CPU core processing performance of NR small base stations is limited, and the number of user devices that can be scheduled per TTI is small, making it difficult to process large amounts of data in a short period of time.
Using a multi-threaded, multi-core approach, scheduling events are generated based on the scheduling relationship of each uplink and downlink physical channel in the MAC layer. Events that can be processed concurrently are assigned to different threads for concurrent processing, while events that can only be processed serially are assigned to the same thread for serial processing. Events that can be processed serially are assigned to multiple independent threads for delayed processing.
Without changing CPU processing power, the amount of data processed per unit time is increased by using multi-threading and multi-core methods, and the number of mobile devices per scheduling time is increased, thereby improving the overall scheduling rate.
Smart Images

Figure CN117149373B_ABST
Abstract
Description
[0001] This case is a divisional application of the parent case with the patent application number 202110669640.1, application date June 17, 2021, and titled "A MAC layer scheduling method and terminal based on 5G small base station". Technical Field
[0002] The present invention relates to the field of mobile communications, and in particular to a MAC layer data scheduling method and terminal. Background Art
[0003] With the increase in bandwidth, the data processed in each TTI (Transport Time Interval) of NR (New Radio) has increased more than ten times compared to LTE (Long Term Evolution). At the same time, the scheduling time of each TTI has been reduced from 1ms to 1 slot, so more data needs to be processed and scheduled in a shorter time.
[0004] However, due to the limited CPU core processing performance of NR small base stations, the number of user devices that can be scheduled per TTI is relatively small, making it difficult to process large amounts of data in a short period of time. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to provide a MAC layer data scheduling method and terminal to increase the number of mobile devices processed by the small base station within each scheduling time to improve the overall rate.
[0006] In order to solve the above technical problems, the technical solution adopted by the present invention is:
[0007] A data scheduling method for a MAC layer comprises the following steps:
[0008] Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer;
[0009] Distribute scheduling events that can be processed concurrently to different threads for concurrent processing, and distribute scheduling events that can only be processed serially to the same thread for serial processing. Each thread is bound to a different CPU core.
[0010] The serially processed scheduling events are distributed to multiple independent threads for delayed processing.
[0011] In order to solve the above technical problems, another technical solution adopted by the present invention is:
[0012] A MAC layer data scheduling terminal includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the following steps when executing the computer program:
[0013] Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer;
[0014] Distribute scheduling events that can be processed concurrently to different threads for concurrent processing, and distribute scheduling events that can only be processed serially to the same thread for serial processing. Each thread is bound to a different CPU core.
[0015] The serially processed scheduling events are distributed to multiple independent threads for delayed processing.
[0016] The beneficial effects of the present invention are: generating corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel, configuring scheduling events that can be processed concurrently into different threads for concurrent processing, and configuring scheduling events that can only be processed serially into the same thread for serial processing; when delaying the serially processed threads, the most time-consuming and non-concurrently processed serial scheduling events are distributed to multiple threads, and the original processing process is split into multiple parts with similar execution time through a multi-stage pipeline processing method. Since multiple threads are added for delay processing compared to the original, after a large number of user devices are connected, the number of scheduled users will also increase accordingly within the same time. Therefore, without changing the CPU processing power, the amount of processed data per unit time can be increased by introducing multi-threaded and multi-core methods, thereby increasing the number of mobile devices processed by the small base station within each scheduling time and improving the overall scheduling rate. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 This is a flowchart of a MAC layer scheduling method based on a 5G small base station according to an embodiment of the present invention;
[0018] Figure 2 This is a schematic diagram of a MAC layer scheduling terminal based on a 5G small base station according to an embodiment of the present invention;
[0019] Figure 3 1 is a schematic diagram of MAC layer scheduling of a MAC layer scheduling method based on a 5G small base station according to an embodiment of the present invention;
[0020] Figure 4 This is a schematic diagram of chronological serial scheduling of the MAC layer of a MAC layer scheduling method based on a 5G small base station according to an embodiment of the present invention;
[0021] Figure 5Schematic diagram of the relationship between the abstract serial steps and actual MAC layer processing of a MAC layer scheduling method based on a 5G small base station according to an embodiment of the present invention;
[0022] Figure 6 Schematic diagram of a single-thread model for MAC layer scheduling in the prior art;
[0023] Figure 7 This is a schematic diagram of a secondary thread model of a MAC layer scheduling method based on a 5G small base station according to an embodiment of the present invention. DETAILED DESCRIPTION
[0024] To illustrate the technical content, achieved objectives and effects of the present invention in detail, the following description is given in conjunction with the embodiments and accompanying drawings.
[0025] Please refer to Figure 1 , an embodiment of the present invention provides a MAC layer scheduling method based on a 5G small base station, comprising the steps of:
[0026] Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer;
[0027] Distribute scheduling events that can be processed concurrently to different threads for concurrent processing, and distribute scheduling events that can only be processed serially to the same thread for serial processing. Each thread is bound to a different CPU core.
[0028] The serially processed scheduling events are distributed to multiple independent threads for delayed processing.
[0029] From the above description, it can be seen that the beneficial effects of the present invention are: corresponding scheduling events are generated according to the scheduling relationship between each uplink and downlink physical channel, scheduling events that can be processed concurrently are configured to different threads for concurrent processing, and scheduling events that can only be processed serially are configured to the same thread for serial processing; when delaying the serially processed threads, the most time-consuming and non-concurrently processed serial scheduling events are distributed to multiple threads, and the original processing process is split into multiple parts with similar execution time through a multi-stage pipeline processing method. Since multiple threads are added for delayed processing compared to the original, after a large number of user devices are connected, the number of scheduled users will also increase accordingly within the same time. Therefore, without changing the CPU processing power, the amount of processed data per unit time can be increased by introducing multi-threaded and multi-core methods, thereby increasing the number of mobile devices processed by the small base station within each scheduling time and improving the overall scheduling rate.
[0030] Furthermore, allocating concurrently processable scheduling events to different threads for concurrent processing includes:
[0031] Allocating the concurrently processable scheduling events to different threads;
[0032] The different threads are time-synchronized based on time slots, and the synchronized threads are processed concurrently.
[0033] From the above description, it can be seen that allocating scheduling events that can be processed concurrently to different threads and synchronizing the threads in time slots can ensure that scheduling events that can be processed concurrently are processed concurrently in the same time slot, thereby improving the processing efficiency of scheduling events.
[0034] Furthermore, allocating the serially processed scheduling events to multiple independent threads for delayed processing includes:
[0035] Obtaining the processing time of the scheduling event of the serial processing;
[0036] Dividing the serial processing thread into a plurality of serial sub-threads whose processing time is less than or equal to one time slot according to the processing time;
[0037] The serial sub-threads obtained after segmentation are distributed to different CPU cores for delay processing.
[0038] From the above description, it can be seen that according to the processing time of the scheduling event of the serial processing, the serial processing thread is divided into multiple serial sub-threads whose processing time is less than or equal to one time slot, thereby ensuring that the processing time of the serial processing can be within one time slot, avoiding missing the air interface sending opportunity due to the processing time exceeding one time slot.
[0039] Furthermore, allocating the serial sub-threads obtained after segmentation to different CPU cores for delay processing includes:
[0040] Put the plurality of serial sub-threads into corresponding independent threads for processing, determine whether the processing order of the serial sub-thread is the first, if so, receive data from the air interface and the upper layer service and process the serial sub-thread; if not, obtain data from a preset queue and process the serial sub-thread;
[0041] Determine whether the processing order of the serial sub-thread is the last one, if so, store the processing result in the preset queue, if not, send the processing result through the air interface.
[0042] From the above description, it can be seen that by storing the results of sub-thread processing in a preset queue, and the next sub-thread then obtains data through the preset queue, a pipeline scheduling method can be implemented. Therefore, the processing time of each serial sub-thread is reduced, and the number of user devices that can be processed is increased, thereby improving the overall scheduling rate.
[0043] Furthermore, it also includes:
[0044] Scheduling in advance the thread corresponding to the scheduling event that obtains the resources required for scheduling, and allocating the resources required for scheduling;
[0045] In each time slot after the thread corresponding to the scheduling event of obtaining the resources required for scheduling is scheduled in advance, the scheduling event of obtaining the resources required for scheduling is scheduled once.
[0046] From the above description, it can be seen that scheduling in advance the thread corresponding to the scheduling event that obtains the resources required for scheduling. Since the resources required for scheduling are periodic, fixed or predictable, allocating the resources required for scheduling in advance can improve the subsequent scheduling time.
[0047] Please refer to Figure 2 Another embodiment of the present invention provides a MAC layer scheduling terminal based on a 5G small base station, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented:
[0048] Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer;
[0049] Distribute scheduling events that can be processed concurrently to different threads for concurrent processing, and distribute scheduling events that can only be processed serially to the same thread for serial processing. Each thread is bound to a different CPU core.
[0050] The serially processed scheduling events are distributed to multiple independent threads for delayed processing.
[0051] From the above description, it can be seen that corresponding scheduling events are generated according to the scheduling relationship between each uplink and downlink physical channel. Scheduling events that can be processed concurrently are configured to different threads for concurrent processing, and scheduling events that can only be processed serially are configured to the same thread for serial processing; when delaying the serial processing threads, the most time-consuming and non-concurrently processed serial scheduling events are assigned to multiple threads. Through a multi-stage pipeline processing method, the original processing process is split into multiple parts with similar execution time. Since multiple threads are added for delay processing compared to the original, after a large number of user devices are connected, the number of scheduled users will also increase accordingly within the same time. Therefore, without changing the CPU processing power, the amount of data processed per unit time can be increased by introducing multi-threaded and multi-core methods, thereby increasing the number of mobile devices processed by the small base station within each scheduling time and improving the overall scheduling rate.
[0052] Furthermore, allocating concurrently processable scheduling events to different threads for concurrent processing includes:
[0053] Allocating the concurrently processable scheduling events to different threads;
[0054] The different threads are time-synchronized based on time slots, and the synchronized threads are processed concurrently.
[0055] From the above description, it can be seen that allocating scheduling events that can be processed concurrently to different threads and synchronizing the threads in time slots can ensure that scheduling events that can be processed concurrently are processed concurrently in the same time slot, thereby improving the processing efficiency of scheduling events.
[0056] Furthermore, allocating the serially processed scheduling events to multiple independent threads for delayed processing includes:
[0057] Obtaining the processing time of the scheduling event of the serial processing;
[0058] Dividing the serial processing thread into a plurality of serial sub-threads whose processing time is less than or equal to one time slot according to the processing time;
[0059] The serial sub-threads obtained after segmentation are distributed to different CPU cores for delay processing.
[0060] From the above description, it can be seen that according to the processing time of the scheduling event of the serial processing, the serial processing thread is divided into multiple serial sub-threads whose processing time is less than or equal to one time slot, thereby ensuring that the processing time of the serial processing can be within one time slot, avoiding missing the air interface sending opportunity due to the processing time exceeding one time slot.
[0061] Furthermore, allocating the serial sub-threads obtained after segmentation to different CPU cores for delay processing includes:
[0062] Put the plurality of serial sub-threads into corresponding independent threads for processing, determine whether the processing order of the serial sub-thread is the first, if so, receive data from the air interface and the upper layer service and process the serial sub-thread; if not, obtain data from a preset queue and process the serial sub-thread;
[0063] Determine whether the processing order of the serial sub-thread is the last one, if so, store the processing result in the preset queue, if not, send the processing result through the air interface.
[0064] From the above description, it can be seen that by storing the results of sub-thread processing in a preset queue, and the next sub-thread then obtains data through the preset queue, a pipeline scheduling method can be implemented. Therefore, the processing time of each serial sub-thread is reduced, and the number of user devices that can be processed is increased, thereby improving the overall scheduling rate.
[0065] Furthermore, it also includes:
[0066] Scheduling in advance the thread corresponding to the scheduling event that obtains the resources required for scheduling, and allocating the resources required for scheduling;
[0067] In each time slot after the thread corresponding to the scheduling event of obtaining the resources required for scheduling is scheduled in advance, the scheduling event of obtaining the resources required for scheduling is scheduled once.
[0068] From the above description, it can be seen that scheduling in advance the thread corresponding to the scheduling event that obtains the resources required for scheduling. Since the resources required for scheduling are periodic, fixed or predictable, allocating the resources required for scheduling in advance can improve the subsequent scheduling time.
[0069] The above-mentioned MAC layer scheduling method and terminal based on a 5G small base station of the present invention are applicable to the case where the single CPU processing capacity in the NR small base station is insufficient. The MAC layer scheduling is performed using multi-threaded concurrency, which can increase the number of scheduled user equipment in each transmission time interval, thereby improving the overall scheduling efficiency. The following is an explanation through a specific embodiment:
[0070] Example 1
[0071] Please refer to Figure 1 , a MAC layer scheduling method based on a 5G small base station, comprising the steps of:
[0072] S1. Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer.
[0073] For details, please refer to Figure 3, the 5G base station includes multiple scheduling information that need to be processed, and generates corresponding scheduling events according to the scheduling relationship between the uplink and downlink channels. In this embodiment, ULSCH is uplink data and requires MAC decoding; RACH (Random Access Channel) is a random access channel, and CCE (Control Channel Element) and uplink RB (Resource Block) need to be allocated during scheduling; CRC is uplink HARQ (Hybrid Automatic Repeat Quest) processing, and BSR (Buffer Status Report) is uplink new transmission processing. Based on these two The information or SR (Scheduling Request, uplink scheduling request) information is used to schedule the UE for retransmission or new transmission; the SRS (Sounding Reference Signal, uplink sounding reference signal) information is used to determine the UE's codebook (codebook) or frequency selective scheduling; RLC SDU (Radio Link Control structure Service Data Unit, radio link control sublayer service data unit) is the downlink data sent by the upper layer service, and HARQ is the information reported by PUCCH (Physical Uplink Control Channel, physical uplink control channel), both of which are used for UE's downlink retransmission or new transmission. CSI (Channel State Information) is used to determine the MCS (Modulation and Coding Scheme, modulation and coding strategy), PMI (Precoding Matrix Indicator, precoding matrix indication), Layer (layer) and other related configuration information during downlink transmission.
[0074] Please refer to Figure 4 In existing technologies, the MAC layer of 5G small base stations typically schedules each scheduling event serially, following the order of events. This approach uses a single thread and a single CPU to handle the entire process. Therefore, it is necessary to ensure that the time consumed by these processes is less than one slot. If it exceeds one slot, the air interface transmission opportunity will be missed, resulting in data transmission failure. Small base stations generally use CPUs with relatively low performance. MAC scheduling processing time is controlled by limiting the number of UEs processed per slot.
[0075] S2. Allocate scheduling events that can be processed concurrently to different threads for concurrent processing, and allocate scheduling events that can only be processed serially to the same thread for serial processing. Each thread is bound to a different CPU core.
[0076] The step of allocating concurrently processable scheduling events to different threads for concurrent processing includes:
[0077] Allocating the concurrently processable scheduling events to different threads;
[0078] The different threads are time-synchronized based on time slots, and the synchronized threads are processed concurrently.
[0079] Specifically, in this embodiment, the scheduling module is allocated to different threads, each thread is bound to a different CPU core, and slot time synchronization is performed between multiple threads via slot indication (time slot indication) messages of the PHY (Physical layer).
[0080] The method further includes: scheduling in advance the thread corresponding to the scheduling event for obtaining the resources required for scheduling, and allocating the resources required for scheduling;
[0081] In each time slot after the thread corresponding to the scheduling event of obtaining the resources required for scheduling is scheduled in advance, the scheduling event of obtaining the resources required for scheduling is scheduled once.
[0082] Specifically, if the common channel information is periodic, fixed, or predictable, it can be scheduled N slots in advance and CCEs and RBs can be allocated. Initially, three slots are prepared in advance to schedule the common channel, and then each slot is scheduled once.
[0083] Please refer to Figure 5 In this embodiment, uplink decoding of PUSCH is processed using an independent thread; the remaining scheduling events are processed in serial steps 1 to N.
[0084] S3, allocating the serially processed scheduling events to multiple independent threads for delayed processing;
[0085] The scheduling events of the serial processing are divided into multiple steps, and each step is assigned to a different thread for delayed processing. Each thread in the serial processing is assigned to a different time slot at a time according to the serial processing order; therefore, the scalability of processing serial events in different threads in different time slots is better, thereby improving the efficiency of concurrent processing. Since the common channel processing thread is scheduled once in each slot, the uplink decoding step is adaptively added in each slot to decode and obtain the information in the common channel.
[0086] Distribute concurrently processed scheduling events to different threads for concurrent processing. Each thread consumes less time. As long as the maximum time consumed by each thread in each slot does not exceed one slot during allocation, the number of UEs processed per TTI can be increased.
[0087] Example 2
[0088] The difference between this embodiment and the first embodiment is that it further defines how to distribute the serially processed scheduling events to multiple threads for delayed processing:
[0089] Specifically, allocating the serially processed scheduling events to multiple independent threads for delayed processing includes:
[0090] Obtaining the processing time of the scheduling event of the serial processing;
[0091] Dividing the serial processing thread into a plurality of serial sub-threads whose processing time is less than or equal to one time slot according to the processing time;
[0092] The serial sub-threads obtained after segmentation are distributed to different CPU cores for delay processing.
[0093] In this embodiment, the serial processing thread is divided into multiple serial sub-threads with a processing time less than or equal to one time slot according to the processing time of the serial processing scheduling event. For example, the steps that need to be processed in each TTI of the base station are abstracted as serial steps 1 to N. The total processing time of N steps is relatively long, so the N steps are divided into two parts with similar execution time. The first part includes steps 1 to N1; the second part includes steps N2 to N, N2 = (N1) + 1, so that the total processing time of the two divided parts is shortened to within one time slot.
[0094] Specifically, multiple serial sub-threads are placed on independent threads and independent CPU cores for processing, and it is determined whether the processing order of the serial sub-thread is the first. If so, data is received from the air interface and the upper layer service and the serial sub-thread is processed; if not, data is obtained from a preset queue and the serial sub-thread is processed;
[0095] Determine whether the processing order of the serial sub-thread is the last one, if so, store the processing result in the preset queue, if not, send the processing result through the air interface.
[0096] Please refer to Figure 5 , periodic and predictable channels such as common channels are scheduled several slots in advance; uplink decoding is processed by a separate thread for each TTI; the processing of remaining channels is handled in serial steps 1 to N.
[0097] Please refer to Figure 6 Before this embodiment is implemented, each TTI uses a single thread to receive downlink data packets from the upper layer service and uplink data from the physical layer in chronological order. All serial steps are then executed. After processing, the relevant data is sent to the physical layer, which then transmits it over the air interface. Assume that each TTI can only process two UEs.
[0098] Please refer to Figure 7 After the implementation of this embodiment, the serial steps are divided into two parts with similar execution time. The first part includes steps 1 to N1; the second part includes steps N2 to N. Each user device needs to be executed in two independent threads. Each thread is bound to an independent CPU core, so that the two parts can run simultaneously at any time.
[0099] Specifically, at TTI1, thread 2 schedules the first part of UE1 to UE4;
[0100] At TTI2, thread 1 schedules the second part of UEs 1 to 4, and thread 2 schedules the first part of UEs 4 to 8;
[0101] Similarly, for each subsequent TTI, thread 1 schedules the second part of the previous TTI, and thread 2 schedules the first part of the current TTI.
[0102] This is similar to a two-stage pipeline process. Thread 2 processes the first part and puts it into the queue. At the beginning of the next TTI, thread 1 processes the remaining second part. Therefore, it can be considered that with an additional concurrent thread processing, the number of UEs that can be processed per TTI has doubled.
[0103] The above steps divide the serial steps into two parts, which are processed by two threads. This is a two-level pipeline processing. According to specific needs, the serial steps can be divided into N parts and processed by N threads to expand to an N-level pipeline, thereby improving the overall performance of the system.
[0104] Example 3
[0105] Please refer to Figure 2 A MAC layer scheduling terminal based on a 5G small base station includes a memory, a processor, and a computer program stored in the memory and runnable on the processor. When the processor executes the computer program, it implements the various steps of the MAC layer scheduling method based on a 5G small base station in embodiment one or embodiment two.
[0106] In summary, the present invention provides a MAC layer scheduling method and terminal based on a 5G small base station, which generates corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel, and configures scheduling events that can be processed concurrently into different threads for concurrent processing, and configures scheduling events that can only be processed serially into the same thread for serial processing; when the serial processing threads are pipelined, the most time-consuming and non-concurrently processed serial scheduling events are assigned to multiple threads for processing. Although a delay is caused when processing serial scheduling events, the amount of processed data per unit time can be increased by introducing multiple cores without changing the CPU processing capability. According to the processing time of the serial processing scheduling events, the serial processing threads are divided into multiple serial sub-threads with processing time less than or equal to one time slot, thereby ensuring that the processing time of the serial processing can be within one time slot, avoiding missing the air interface transmission opportunity due to the processing time exceeding one time slot; therefore, by processing scheduling events concurrently and assigning scheduling events that can only be processed serially to multiple CPU cores, the existing MAC layer scheduling that can only be processed serially is divided into different CPU cores for processing, thereby increasing the number of mobile devices processed by the small base station within each scheduling time and improving the overall scheduling rate.
[0107] The above descriptions are merely embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent transformations made using the contents of the present invention's description and drawings, or directly or indirectly applied in related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A data scheduling method for a MAC layer, characterized in that: Including steps: Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer; Allocating concurrently processable scheduling events to different threads, synchronizing the different threads based on time slots, and concurrently processing the synchronized threads; Allocate scheduling events that can only be processed serially to the same thread for serial processing, with each thread bound to a different CPU core; Divide a serially processed scheduling event into multiple steps, and assign each step to a different thread for delayed processing: obtain the processing time of the serially processed scheduling event, divide the serially processed thread into multiple serial sub-threads with processing time less than or equal to one time slot according to the processing time, and assign the serial sub-threads obtained after division to different CPU cores for delayed processing; Each thread in the serial processing is assigned to a different time slot according to the serial processing order, and an uplink decoding step is added in each time slot to decode and obtain information in the public channel.
2. The data scheduling method of the MAC layer according to claim 1, characterized in that: The allocating concurrently processable scheduling events to different threads further includes: The maximum time taken by each thread assigned to schedule an event shall not exceed one time slot.
3. The data scheduling method of the MAC layer according to claim 1, characterized in that: The step of allocating the serial sub-threads obtained after segmentation to different CPU cores for delay processing includes: Put the plurality of serial sub-threads into corresponding independent threads for processing, determine whether the processing order of the serial sub-thread is the first, if so, receive data from the air interface and the upper layer service and process the serial sub-thread; if not, obtain data from a preset queue and process the serial sub-thread; Determine whether the processing order of the serial sub-thread is the last one, if so, store the processing result in the preset queue, if not, send the processing result through the air interface.
4. A MAC layer data scheduling method according to any one of claims 1 to 3, characterized in that: Also includes: Scheduling in advance the thread corresponding to the scheduling event that obtains the resources required for scheduling, and allocating the resources required for scheduling; In each time slot after the thread corresponding to the scheduling event of obtaining the resources required for scheduling is scheduled in advance, the scheduling event of obtaining the resources required for scheduling is scheduled once.
5. A MAC layer data scheduling terminal, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the following steps are implemented: Generate corresponding scheduling events according to the scheduling relationship between each uplink and downlink physical channel in the MAC layer; Allocating concurrently processable scheduling events to different threads, synchronizing the different threads based on time slots, and concurrently processing the synchronized threads; Allocate scheduling events that can only be processed serially to the same thread for serial processing, with each thread bound to a different CPU core; Divide a serially processed scheduling event into multiple steps, and assign each step to a different thread for delayed processing: obtain the processing time of the serially processed scheduling event, divide the serially processed thread into multiple serial sub-threads with processing time less than or equal to one time slot according to the processing time, and assign the serial sub-threads obtained after division to different CPU cores for delayed processing; Each thread in the serial processing is assigned to a different time slot according to the serial processing order, and an uplink decoding step is added in each time slot to decode and obtain information in the public channel.
6. A MAC layer data scheduling terminal according to claim 5, characterized in that: The allocating concurrently processable scheduling events to different threads further includes: The maximum time taken by each thread assigned to schedule an event shall not exceed one time slot.
7. The MAC layer data scheduling terminal according to claim 5, characterized in that: The step of allocating the serial sub-threads obtained after segmentation to different CPU cores for delay processing includes: Put the plurality of serial sub-threads into corresponding independent threads for processing, determine whether the processing order of the serial sub-thread is the first, if so, receive data from the air interface and the upper layer service and process the serial sub-thread; if not, obtain data from a preset queue and process the serial sub-thread; Determine whether the processing order of the serial sub-thread is the last one, if so, store the processing result in the preset queue, if not, send the processing result through the air interface.
8. A MAC layer data scheduling terminal according to any one of claims 5 to 7, characterized in that: Also includes: Scheduling in advance the thread corresponding to the scheduling event that obtains the resources required for scheduling, and allocating the resources required for scheduling; In each time slot after the thread corresponding to the scheduling event of obtaining the resources required for scheduling is scheduled in advance, the scheduling event of obtaining the resources required for scheduling is scheduled once.
Citation Information
Patent Citations
An LTE system MAC layer downlink scheduling method
CN109874174A
Instruction scheduling method and device, equipment and storage medium
CN111488176A