Multi-core PUSCH task load balancing method, device, equipment and medium

By dynamically generating UE configuration rule tables and UE group-idle processing core task deployment tables, the target idle processing cores and deploying PUSCH tasks, the problem of unstable idle processing core consumption in multi-core processors is solved, and load balancing and resource utilization is realized Efficient utilization improves the reliability and throughput of data transmission.

CN119450581APending Publication Date: 2025-02-14HUBEI SILANG COMMUNICATION TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411655290.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

In multi-core processors, the time-consuming and unstable operation of idle processing cores to perform specific tasks leads to low efficiency in task scheduling and resource allocation, affecting the reliability and throughput of data transmission.

Method used

By obtaining the number of users and frequency domain resources for each time slot, dynamically generate the UE configuration rule table and the UE group-idle processing core task deployment table, determine the target idle processing core, and deploy the PUSCH task to the target processing core for processing.

Benefits of technology

Load balancing of all idle processing cores of multi-core processors is realized, reducing resource performance waste, reducing latency, and improving data transmission reliability and throughput.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119450581A_ABST
    Figure CN119450581A_ABST
Patent Text Reader

Abstract

The invention provides a multi-core PUSCH task load balancing method and device, equipment and a medium. The method comprises the following steps: acquiring the number of users in each time slot and the number of frequency domain resources of the users; determining the number of idle processing cores in the multi-core processor; dynamically generating a UE configuration rule table; determining a UE group of the user according to the UE configuration rule table and the number of the frequency domain resources of the user; generating a UE group-idle processing core task deployment table according to the UE configuration rule table; determining a target idle processing core from the idle processing cores; and deploying the PUSCH task to a target idle processing core for processing according to the user group and the UE group-idle processing core task deployment table. Through the dynamically generated UE configuration rule table and the UE group-idle processing core task deployment table, deployment of each task of the user on the target idle processing core is dynamically adjusted, and different service scenes can be responded in real time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a multi-core PUSCH task load balancing method, device, equipment, and medium. Background Art

[0002] In NR (New Radio), the Physical Uplink Shared Channel (PUSCH) carries the task of transmitting user data and control information. With the increase in the number of users and the emergence of various emerging applications, higher requirements are placed on the processing power and efficiency of the communication system. Therefore, the communication system is developed and designed using multi-core processors. In various application scenarios, the processing time of tasks on each core is often different. For example, when the service is in a busy stage, each core of the multi-core processor needs to work at full capacity to ensure the normal operation of the service and avoid idle processing core resources not participating in processing tasks. When the service is idle, the cores processing tasks can be reduced, so that the cores not processing tasks are put into a dormant state, saving the power consumption of the multi-core processor.

[0003] The multi-core processor uses multiple idle processing cores to collaboratively process the PUSCH channel, which can significantly improve the work efficiency of the multi-core processor. The collaboration between multiple idle processing cores, as well as the task scheduling and allocation methods, have a key impact on the overall processing efficiency of the multi-core processor. In practice, affected by multiple factors such as the number of users and time-frequency resources, the time it takes for an idle processing core to execute a specific task is often unstable.

[0004] Therefore, in the scheduling strategy, the UE configuration rule table is designed according to the frequency domain resources, and the processing tasks on different idle processing cores are dynamically adjusted in combination with the frequency domain resources and the number of users, so as to reasonably allocate computing resources and task scheduling. In combination with the actual execution of the tasks, the deployment of different tasks of different users on the idle processing cores is adjusted to avoid the situation where a certain task occupies too many resources and forces other tasks to be delayed, so that the idle processing cores of the multi-core processor can achieve load balancing in the dynamic state, reduce the waste of resource performance, reduce latency, and improve the reliability and throughput of data transmission. Summary of the invention

[0005] In order to solve one of the above technical defects, the present application provides a multi-core PUSCH task load balancing method, device, equipment, and medium.

[0006] In a first aspect of the present application, a multi-core PUSCH task load balancing method is provided, the method comprising:

[0007] Obtain the number of users in each time slot and the number of frequency domain resources scheduled for each user;

[0008] Determine the number of idle processing cores in a multi-core processor;

[0009] Dynamically generate a UE configuration rule table based on the number of users and the number of idle processing cores;

[0010] Determine the UE group of the user according to the UE configuration rule table and the number of frequency domain resources scheduled by the user;

[0011] Generate a UE group-idle processing core task deployment table according to the UE configuration rule table;

[0012] determining a target idle processing core from among the idle processing cores;

[0013] According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing.

[0014] Optionally, obtaining the number of users and the number of frequency domain resources scheduled for each user includes:

[0015] The number of users and the number of frequency domain resources scheduled for each user are obtained according to the scheduling information.

[0016] Optionally, the method further includes:

[0017] Bubble sort the users according to the number of frequency domain resources scheduled for each user;

[0018] Optionally, according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing, including:

[0019] According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing in the order of the number of frequency domain resources of the user from large to small.

[0020] Optionally, generating a UE group-idle processing core task deployment table according to the UE configuration rule table includes:

[0021] In the pre-processing task, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate a UE group-idle processing core task deployment table.

[0022] Optionally, according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing, including:

[0023] Determine the target idle processing core corresponding to the user according to the user group and the UE group-idle processing core task deployment table;

[0024] The task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0025] Optionally, determining a target idle processing core from the idle processing cores includes:

[0026] If the number of idle processing cores is greater than the number of users, then the number of users is selected from the idle processing cores as target idle processing cores; otherwise, all idle processing cores are selected as target idle processing cores.

[0027] In a second aspect of the present application, a multi-core PUSCH task load balancing device is provided, comprising a multi-core processor and a load balancing module;

[0028] Wherein, the multi-core processor includes more than three idle processing cores;

[0029] The load balancing module includes the following units:

[0030] An acquisition unit, used to acquire the number of users in each time slot and the number of frequency domain resources scheduled for each user;

[0031] A first determining unit, used to determine the number of idle processing cores in the multi-core processor;

[0032] A first generating unit, configured to dynamically generate a UE configuration rule table according to the number of users acquired by the acquiring unit and the number of idle processing cores determined by the first determining unit;

[0033] A second determining unit, configured to determine a UE group of the user according to the UE configuration rule table generated by the first generating unit and the number of frequency domain resources scheduled for the user acquired by the acquiring unit;

[0034] A second generating unit, configured to generate a UE group-idle processing core task deployment table according to the UE configuration rule table generated by the first generating unit;

[0035] A third determining unit, configured to determine a target idle processing core from the idle processing cores;

[0036] The deployment unit is used to deploy the PUSCH task to the target idle processing core determined by the third determination unit for processing according to the user group determined by the second determination unit and the UE group-idle processing core task deployment table generated by the second generation unit.

[0037] In a third aspect of the present application, an electronic device is provided, including:

[0038] Memory;

[0039] Multi-core processors; and

[0040] Computer programs;

[0041] Wherein, the multi-core processor includes more than three idle processing cores;

[0042] The computer program is stored in the memory and is configured to be executed to implement the method as described in the first aspect above.

[0043] In a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the device where the computer-readable storage medium is located includes a multi-core processor; wherein the multi-core processor includes more than three idle processing cores;

[0044] The computer-readable storage medium stores a computer program; the computer program is executed to implement the method as described in the first aspect above.

[0045] The present application provides a multi-core PUSCH task load balancing method, device, equipment, and medium, the method comprising: obtaining the number of users in each time slot and the number of frequency domain resources scheduled for each user; determining the number of idle processing cores in the multi-core processor; dynamically generating a UE configuration rule table through the number of users and the number of idle processing cores; determining the user's UE group according to the UE configuration rule table and the number of frequency domain resources scheduled for the user; generating a UE group-idle processing core task deployment table according to the UE configuration rule table; determining the target idle processing core from the idle processing cores; and deploying the PUSCH task to the target idle processing core for processing according to the user's group and the UE group-idle processing core task deployment table. The method provided in the present application dynamically adjusts the deployment of each task of the user on the target idle processing core through the dynamically generated UE configuration rule table and the UE group-idle processing core task deployment table, and can respond to different business scenarios in real time. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0047] Figure 1 A flowchart of a multi-core PUSCH task load balancing method provided in an embodiment of the present application;

[0048] Figure 2 A schematic diagram of PUSCH task processing of a multi-core processor provided in an embodiment of the present application;

[0049] Figure 3 A flowchart of another multi-core PUSCH task load balancing method provided in an embodiment of the present application;

[0050] Figure 4A flowchart of a multi-core PUSCH task load balancing method when the subcarrier spacing provided in an embodiment of the present application is 15KHz;

[0051] Figure 5 A flowchart of a multi-core PUSCH task load balancing method when the subcarrier spacing provided in the embodiment of the present application is 30KHz;

[0052] Figure 6 A schematic diagram of the structure of a multi-core PUSCH task load balancing device provided in an embodiment of the present application;

[0053] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0054] In order to make the technical solutions and advantages in the embodiments of the present application more clearly understood, the exemplary embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than an exhaustive list of all the embodiments. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.

[0055] In the process of implementing this application, the inventor found that in the scheduling strategy, it is necessary to design a UE configuration rule table based on frequency domain resources, dynamically adjust the processing tasks on different idle processing cores in combination with frequency domain resources and the number of users, and reasonably allocate computing resources and task scheduling. In combination with the actual execution of tasks, the deployment of different tasks of different users on idle processing cores is adjusted to avoid the situation where a certain task occupies too many resources and forces other tasks to be delayed, so that the idle processing cores of the multi-core processor can achieve load balancing in a dynamic manner, reduce the waste of resource performance, reduce delays, and improve the reliability and throughput of data transmission.

[0056] In response to the above problems, the present application provides a multi-core PUSCH task load balancing method, device, equipment, and medium, the method comprising: obtaining the number of users in each time slot and the number of frequency domain resources scheduled for each user; determining the number of idle processing cores in the multi-core processor; dynamically generating a UE configuration rule table based on the number of users and the number of idle processing cores; determining the user's UE group according to the UE configuration rule table and the number of frequency domain resources scheduled for the user; generating a UE group-idle processing core task deployment table according to the UE configuration rule table; determining the target idle processing core from the idle processing cores; and deploying the PUSCH task to the target idle processing core for processing according to the user's group and the UE group-idle processing core task deployment table. The method provided in the present application dynamically adjusts the deployment of each user's task on the target idle processing core through the dynamically generated UE configuration rule table and UE group-idle processing core task deployment table, and can respond to different business scenarios in real time.

[0057] See also Figure 1 This embodiment provides a multi-core PUSCH task load balancing method, and its implementation process is as follows:

[0058] 101. Obtain the number of users in each time slot and the number of frequency domain resources scheduled for each user.

[0059] For example, the number of users and the number of frequency domain resources scheduled for each user are obtained in each time slot according to the scheduling information.

[0060] The scheduling information includes MAC layer scheduling information, and the number of frequency domain resources includes the number of RBs (Resource Blocks).

[0061] 102, determine the number of idle processing cores in the multi-core processor.

[0062] In this step, idle core information of each core processor can be obtained, and the number of idle processing cores in the multi-core processor can be determined based on the information.

[0063] For example, if information about X idle cores is obtained, it is determined that the number of idle processing cores is X.

[0064] 103. Dynamically generate a UE configuration rule table according to the number of users and the number of idle processing cores.

[0065] Among them, the UE configuration rule table can be shown in Table 1:

[0066] Table 1

[0067]

[0068]

[0069] Wherein, N is the number of idle processing cores determined in step 102, M is the number of RBs of PUSCH under different subcarrier spacings, L is the number of users obtained in step 101, and K is the maximum identifier of the UE group.

[0070] 104. Determine the UE group of the user according to the UE configuration rule table and the number of frequency domain resources scheduled for the user.

[0071] 105. Generate a UE group-idle processing core task deployment table according to the UE configuration rule table.

[0072] For example, in the pre-processing task, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate a UE group-idle processing core task deployment table.

[0073] Among them, the UE group-idle processing core task deployment table is shown in Table 2:

[0074] Table 2

[0075]

[0076] 106 , determining a target idle processing core from the idle processing cores.

[0077] For example, if the number of idle processing cores is greater than the number of users, then the number of users is selected from the idle processing cores as target idle processing cores. Otherwise, all idle processing cores are selected as target idle processing cores.

[0078] For non-target idle processing cores, their states are set to sleep.

[0079] 107 , deploy the PUSCH task to the target idle processing core for processing according to the user group and the UE group-idle processing core task deployment table.

[0080] For example, according to the user group and the UE group-idle processing core task deployment table, the target idle processing core corresponding to the user is determined, and the task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0081] In specific implementation, users can also be bubble sorted according to the number of frequency domain resources scheduled for each user; according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing in descending order of the number of frequency domain resources of the user.

[0082] For example, the users are bubble sorted according to the number of frequency domain resources scheduled for each user, and then executed on different target idle cores according to the user group and the UE group-idle processing core task deployment table. For example, the user with large resources is executed on core 0, and the two users with smaller resources are executed on core 1.

[0083] It should be noted that, for the execution order of steps 103 to 105, only the sequential execution is taken as an example in this embodiment and the subsequent embodiments. In actual applications, the execution order of steps 103 to 105 can be changed (for example, first execute step 103, then execute step 105, and finally execute step 104, etc.). This embodiment and the subsequent embodiments do not limit the execution order of steps 103 to 105.

[0084] The following takes the scheduling information as the MAC layer scheduling information (i.e., the MAC scheduling information in Figure 2 , and CoreX in Figure 2 is an idle processing core) as an example to illustrate the multi-core PUSCH task load balancing method provided in this embodiment again, as shown in Figure 3 :

[0085] Through step 101, according to the MAC layer scheduling information, the number of users L and the number of frequency domain resources scheduled for each user are obtained.

[0086] Through step 102, the information of idle processing cores is obtained, and the number of idle processing cores X in the multi-core processor is determined.

[0087] Through steps 103 to 105, a UE configuration rule table is dynamically generated based on the number of users and the number of idle processing cores; a UE configuration rule table is dynamically generated based on the number of users L and the number of idle processing cores X; the UE group of the user is determined according to the UE configuration rule table and the number of frequency domain resources scheduled for the user; a UE group - idle processing core task deployment table is generated according to the UE configuration rule table.

[0088] Through step 106, if the number of users V < X, then V idle processing cores are selected from the idle processing cores as the target idle processing cores, otherwise, all the idle processing cores are used as the target idle processing cores.

[0089] Through step 107, according to the group of the user and the UE group - idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing.

[0090] In specific implementation, the method provided in this embodiment can be executed once per time slot to perform load balancing processing on the PUSCH tasks within the time slot.

[0091] For example, for any time slot n, if the PUSCH has a 15KHz subcarrier spacing and the MAC layer schedules 3 users, and the multi-core processor has 4 idle processing cores.

[0092] In step 101, according to the MAC layer scheduling information, the number of users L = 3 and the number of frequency domain resources scheduled for each user are obtained.

[0093] In step 102, information about idle processing cores is obtained to determine the number of idle processing cores in the multi-core processor: X=4, V=4, K=5.

[0094] In steps 103 to 105, the UE configuration rule table shown in Table 3 is dynamically generated according to the number of users L and the number of idle processing cores X. According to the UE configuration rule table shown in Table 3 and the number of frequency domain resources scheduled by the user, the UE group of the user is determined to be 2. In the pre-processing task of time slot n, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate the UE group-idle processing core task deployment table shown in Table 4.

[0095] Table 3

[0096]

[0097]

[0098] Table 4

[0099]

[0100] In step 106, since the number of users L=3 is less than the number of idle processing cores X=4, three idle processing cores are determined as target idle processing cores, and the state of another non-target idle processing core is set to sleep.

[0101] In step 107, the target idle processing core corresponding to the user is determined according to the user group and the UE group-idle processing core task deployment table. The task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0102] like Figure 4 As shown, the multi-core PUSCH task load balancing method provided by this embodiment can ensure that the task chain of each user can be processed on the most suitable idle processing core, avoid wasting idle processing core resources, reduce power consumption as much as possible, and improve the utilization efficiency of multi-core processors.

[0103] For another example, for any time slot n, if the PUSCH subcarrier spacing is 30 kHz, the MAC layer schedules 9 users, and the multi-core processor has 3 idle processing cores.

[0104] In step 101, the number of users L=9 and the number of frequency domain resources scheduled for each user are obtained according to the MAC layer scheduling information.

[0105] In step 102, information of idle processing cores is obtained to determine the number of idle processing cores in the multi-core processor: X=3, V=3, K=5.

[0106] In steps 103 to 105, the UE configuration rule table shown in Table 5 is dynamically generated according to the number of users L and the number of idle processing cores X. The UE group of the user is determined according to the UE configuration rule table shown in Table 5 and the number of frequency domain resources scheduled for the user. The task chains of different UE groups on each idle processing core are dynamically adjusted in the pre-processing task of time slot n to generate the UE group-idle processing core task deployment table shown in Table 6.

[0107] Table 5

[0108]

[0109] Table 6

[0110]

[0111]

[0112] In step 106, since the number of users L=9 is greater than the number of idle processing cores X=3, the three idle processing cores are all determined as target idle processing cores.

[0113] In step 107, the target idle processing core corresponding to the user is determined according to the user group and the UE group-idle processing core task deployment table. The task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0114] like Figure 5 As shown, the multi-core PUSCH task load balancing method provided by this embodiment can ensure that each user's task can be processed on the most suitable idle processing core, thereby achieving load balancing of each idle processing core.

[0115] In time slot n+1, the multi-core PUSCH task load balancing method provided in this embodiment is repeated, and the UE configuration rule table and the UE group-idle processing core deployment table are dynamically adjusted according to the MAC layer scheduling information. By repeating this process repeatedly, the efficiency of the multi-core processor can be effectively utilized according to different business scenarios, ensuring that it works at full capacity when the business is busy, and when the business is idle, the idle processing cores involved in processing tasks are reduced, so that the cores that are not processing tasks are put into sleep mode, thereby saving power consumption of the multi-core processor.

[0116] The multi-core PUSCH task load balancing method provided in this embodiment can reduce the waste of resource performance, reduce latency, and improve the reliability and throughput of data transmission. The multi-core PUSCH task load balancing method provided in this embodiment dynamically generates a UE configuration rule table and a UE group-idle processing core task deployment table through scheduling information (such as MAC layer scheduling information), dynamically adjusts the deployment of different tasks on different idle processing cores, and can respond to different business scenarios in real time. When the business is idle, some idle processing cores can be selected to process PUSCH channel tasks, and the remaining idle processing cores are in a dormant state or process other channels.

[0117] The multi-core PUSCH task load balancing method provided in this embodiment obtains the number of users and the number of frequency domain resources scheduled for each user according to the scheduling information, and obtains the number of idle processing cores in the multi-core processor. A UE configuration rule table is dynamically generated in each time slot (such as time slot n). According to the number of frequency domain resources scheduled for the user, the user group is queried in the UE configuration rule table. In the pre-processing task, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate a UE group-idle processing core task deployment table. After determining the target idle processing core from the idle processing cores, the PUSCH task is deployed to the target idle processing core for processing according to the user group and the UE group-idle processing core task deployment table.

[0118] This embodiment provides a multi-core PUSCH task load balancing method, which obtains the number of users and the number of frequency domain resources scheduled for each user; determines the number of processing cores in the multi-core processor; dynamically generates a UE configuration rule table based on the number of users and the number of processing cores; determines the user's UE group based on the UE configuration rule table and the number of frequency domain resources scheduled for the user; generates a UE group-processing core task deployment table based on the UE configuration rule table; determines the target processing core from the processing cores; and deploys the PUSCH task to the target processing core for processing based on the user's group and the UE group-processing core task deployment table. The method provided in this embodiment dynamically adjusts the deployment of each user's task on the target processing core through the dynamically generated UE configuration rule table and UE group-processing core task deployment table, and can respond to different business scenarios in real time.

[0119] Based on the same inventive concept of the multi-core PUSCH task load balancing method, this embodiment provides a multi-core PUSCH task load balancing device. The device includes: a multi-core processor and a load balancing module.

[0120] The multi-core processor includes more than three idle processing cores.

[0121] Load balancing module such as Figure 6 As shown, it includes the following units:

[0122] The acquisition unit 601 is used to acquire the number of users in each time slot and the number of frequency domain resources scheduled for each user.

[0123] The first determining unit 602 is configured to determine the number of idle processing cores in the multi-core processor.

[0124] The first generating unit 603 is configured to dynamically generate a UE configuration rule table according to the number of users acquired by the acquiring unit 601 and the number of idle processing cores determined by the first determining unit 602 .

[0125] The second determining unit 604 is configured to determine the UE group of the user according to the UE configuration rule table generated by the first generating unit 603 and the number of frequency domain resources scheduled for the user acquired by the acquiring unit 601 .

[0126] The second generating unit 605 is configured to generate a UE group-idle processing core task deployment table according to the UE configuration rule table generated by the first generating unit 603 .

[0127] The third determining unit 606 is configured to determine a target idle processing core from the idle processing cores.

[0128] The deployment unit 607 is used to deploy the PUSCH task to the target idle processing core determined by the third determination unit 606 for processing according to the user group determined by the second determination unit 604 and the UE group-idle processing core task deployment table generated by the second generation unit 605.

[0129] The acquisition unit 601 is used to acquire the number of users and the number of frequency domain resources scheduled for each user according to the scheduling information.

[0130] The device further comprises:

[0131] The processing unit is used to perform bubble sorting on the users according to the number of frequency domain resources scheduled for each user.

[0132] The deployment unit 607 is used to deploy the PUSCH task to the target idle processing core for processing according to the user group and the UE group-idle processing core task deployment table and in the descending order of the number of frequency domain resources of the users.

[0133] The second generating unit 605 is used to dynamically adjust the task chains of different UE groups on each idle processing core in the pre-processing task, and generate a UE group-idle processing core task deployment table.

[0134] The deployment unit 607 is used to determine the target idle processing core corresponding to the user according to the user group and the UE group-idle processing core task deployment table, and trigger the task chain of the user group in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0135] The third determining unit 606 is configured to select the number of users from the idle processing cores as target idle processing cores if the number of idle processing cores is greater than the number of users, and otherwise select all idle processing cores as target idle processing cores.

[0136] The device provided in this embodiment dynamically adjusts the deployment of each task of the user on the target processing core through the dynamically generated UE configuration rule table and UE group-processing core task deployment table, and can respond to different business scenarios in real time.

[0137] Based on the same inventive concept of the multi-core PUSCH task load balancing method, this embodiment provides an electronic device, the electronic device is as follows Figure 7 As shown, it includes: a memory 701, a multi-core processor 702, and a computer program.

[0138] The multi-core processor 702 includes more than three idle processing cores.

[0139] The computer program is stored in the memory 701 and is configured to be executed to implement the above-mentioned multi-core PUSCH task load balancing method.

[0140] Specifically,

[0141] Obtain the number of users in each time slot and the number of frequency domain resources scheduled for each user.

[0142] Determine the number of idle processing cores in a multi-core processor.

[0143] The UE configuration rule table is dynamically generated according to the number of users and the number of idle processing cores.

[0144] The UE group of the user is determined according to the UE configuration rule table and the number of frequency domain resources scheduled for the user.

[0145] Generate a UE group-idle processing core task deployment table according to the UE configuration rule table.

[0146] A target idle processing core is determined from among the idle processing cores.

[0147] According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing.

[0148] Optionally, obtaining the number of users and the number of frequency domain resources scheduled for each user includes:

[0149] The number of users and the number of frequency domain resources scheduled for each user are obtained according to the scheduling information.

[0150] Optionally, the method further includes:

[0151] The users are bubble sorted according to the number of frequency domain resources scheduled for each user.

[0152] Optionally, according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing, including:

[0153] According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing in the order of the number of frequency domain resources of the user from large to small.

[0154] Optionally, generating a UE group-idle processing core task deployment table according to the UE configuration rule table includes:

[0155] In the pre-processing task, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate a UE group-idle processing core task deployment table.

[0156] Optionally, according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing, including:

[0157] According to the user's group and the UE group-idle processing core task deployment table, the target idle processing core corresponding to the user is determined.

[0158] The task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0159] Optionally, determining a target idle processing core from the idle processing cores includes:

[0160] If the number of idle processing cores is greater than the number of users, then the number of users is selected from the idle processing cores as target idle processing cores. Otherwise, all idle processing cores are selected as target idle processing cores.

[0161] The electronic device provided in this embodiment has a computer program executed by a processor to dynamically adjust the deployment of each user's task on the target processing core through a dynamically generated UE configuration rule table and UE group-processing core task deployment table, and can respond to different business scenarios in real time.

[0162] Based on the same inventive concept of the multi-core PUSCH task load balancing method, this embodiment provides a computer-readable storage medium, and the device where the computer-readable storage medium is located includes a multi-core processor.

[0163] The multi-core processor includes more than three idle processing cores.

[0164] The computer readable storage medium stores a computer program, which is executed to implement the multi-core PUSCH task load balancing method.

[0165] Specifically,

[0166] Obtain the number of users in each time slot and the number of frequency domain resources scheduled for each user.

[0167] Determine the number of idle processing cores in a multi-core processor.

[0168] The UE configuration rule table is dynamically generated according to the number of users and the number of idle processing cores.

[0169] The UE group of the user is determined according to the UE configuration rule table and the number of frequency domain resources scheduled for the user.

[0170] Generate a UE group-idle processing core task deployment table according to the UE configuration rule table.

[0171] A target idle processing core is determined from among the idle processing cores.

[0172] According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing.

[0173] Optionally, obtaining the number of users and the number of frequency domain resources scheduled for each user includes:

[0174] The number of users and the number of frequency domain resources scheduled for each user are obtained according to the scheduling information.

[0175] Optionally, the method further includes:

[0176] The users are bubble sorted according to the number of frequency domain resources scheduled for each user.

[0177] Optionally, according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing, including:

[0178] According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing in the order of the number of frequency domain resources of the user from large to small.

[0179] Optionally, generating a UE group-idle processing core task deployment table according to the UE configuration rule table includes:

[0180] In the pre-processing task, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate a UE group-idle processing core task deployment table.

[0181] Optionally, according to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing, including:

[0182] According to the user's group and the UE group-idle processing core task deployment table, the target idle processing core corresponding to the user is determined.

[0183] The task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

[0184] Optionally, determining a target idle processing core from the idle processing cores includes:

[0185] If the number of idle processing cores is greater than the number of users, then the number of users is selected from the idle processing cores as target idle processing cores. Otherwise, all idle processing cores are selected as target idle processing cores.

[0186] The computer-readable storage medium provided in this embodiment has a computer program thereon which is executed by a processor to dynamically adjust the deployment of each task of the user on the target processing core through a dynamically generated UE configuration rule table and a UE group-processing core task deployment table, and can respond to different business scenarios in real time.

[0187] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The scheme in the embodiment of the present application can be implemented in various computer languages, for example, C language, C++ language, Rust language, etc.

[0188] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0189] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0190] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0191] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0192] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A multi-core PUSCH task load balancing method, characterized in that: The method comprises: Obtain the number of users in each time slot and the number of frequency domain resources scheduled for each user; Determine the number of idle processing cores in a multi-core processor; Dynamically generate a UE configuration rule table based on the number of users and the number of idle processing cores; Determine a UE group of the user according to the UE configuration rule table and the number of frequency domain resources scheduled by the user; Generate a UE group-idle processing core task deployment table according to the UE configuration rule table; determining a target idle processing core from among the idle processing cores; According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing.

2. The method according to claim 1, characterized in that The obtaining the number of users and the number of frequency domain resources scheduled for each user includes: The number of users and the number of frequency domain resources scheduled for each user are obtained according to the scheduling information.

3. The method according to claim 1, characterized in that The method further comprises: The users are bubble sorted according to the number of frequency domain resources scheduled for each user.

4. The method according to claim 3, characterized in that The step of deploying the PUSCH task to the target idle processing core for processing according to the user group and the UE group-idle processing core task deployment table includes: According to the user group and the UE group-idle processing core task deployment table, the PUSCH task is deployed to the target idle processing core for processing in the order of the number of frequency domain resources of the users from large to small.

5. The method according to claim 1, characterized in that The generating the UE group-idle processing core task deployment table according to the UE configuration rule table includes: In the pre-processing task, the task chains of different UE groups on each idle processing core are dynamically adjusted to generate a UE group-idle processing core task deployment table.

6. The method according to claim 5, characterized in that The step of deploying the PUSCH task to the target idle processing core for processing according to the user group and the UE group-idle processing core task deployment table includes: Determine the target idle processing core corresponding to the user according to the user group and the UE group-idle processing core task deployment table; The task chain of the user group is triggered in the corresponding target idle processing core to process the PUSCH task through the triggered task chain.

7. The method according to claim 1, characterized in that The step of determining the target idle processing core from the idle processing cores includes: If the number of idle processing cores is greater than the number of users, then the number of users is selected from the idle processing cores as target idle processing cores; otherwise, all idle processing cores are selected as target idle processing cores.

8. A multi-core PUSCH task load balancing device, characterized in that: The device includes a multi-core processor and a load balancing module; Wherein, the multi-core processor includes more than three idle processing cores; The load balancing module includes the following units: An acquisition unit, used to acquire the number of users in each time slot and the number of frequency domain resources scheduled for each user; A first determining unit, used to determine the number of idle processing cores in the multi-core processor; A first generating unit, configured to dynamically generate a UE configuration rule table according to the number of users acquired by the acquiring unit and the number of idle processing cores determined by the first determining unit; A second determining unit, configured to determine a UE group of the user according to the UE configuration rule table generated by the first generating unit and the number of frequency domain resources scheduled for the user acquired by the acquiring unit; A second generating unit, configured to generate a UE group-idle processing core task deployment table according to the UE configuration rule table generated by the first generating unit; A third determining unit, configured to determine a target idle processing core from the idle processing cores; A deployment unit is used to deploy the PUSCH task to the target idle processing core determined by the third determination unit for processing according to the user group determined by the second determination unit and the UE group-idle processing core task deployment table generated by the second generation unit.

9. An electronic device, characterized in that: include: Memory; Multi-core processors; as well as Computer programs; Wherein, the multi-core processor includes more than three idle processing cores; The computer program is stored in the memory and is configured to execute the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The device where the computer-readable storage medium is located includes a multi-core processor; wherein the multi-core processor includes more than three idle processing cores; The computer-readable storage medium stores a computer program; the computer program is executed to implement the method according to any one of claims 1 to 7.