A dual-queue-based 5g dynamic scheduling method

By adopting a dual-queue dynamic scheduling method in the 5G communication system, the services are divided into delay-sensitive and non-delay-sensitive classes, and the queue attributes and bye control are dynamically adjusted, which solves the problem of insufficient resource scheduling flexibility and improves the system's throughput and delay performance.

CN114430587BActive Publication Date: 2025-10-17HUAXIN CONSULTATING CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111396570.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-23
Publication Date
2025-10-17
Estimated Expiration
2041-11-23

AI Technical Summary

Technical Problem

Existing 5G communication technology is unable to flexibly respond to changes in the demands of different business indicators in terms of resource scheduling, resulting in insufficient sensitivity to changes in business indicator requirements.

Method used

A dynamic scheduling method based on dual queues is adopted to divide services into delay-sensitive and non-delay-sensitive classes, and place them in different queues respectively. Differentiated scheduling is achieved by dynamically adjusting queue attributes and bye control.

Benefits of technology

It achieves flexible satisfaction of business indicators in different 5G scenarios, ensures the fairness and efficiency of scheduling, and improves the system's throughput and latency performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114430587B_ABST
    Figure CN114430587B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on double queue 5G dynamic scheduling method, overcome the problem that the sensitivity of existing technology service index requirement change is not enough, including the following steps: service queuing calibration;First queue management;Second queue calculation;Round empty control;Overall scheduling.The application first according to service attribute, different service is classified, sets up two independent service queues, respectively places the service with similar attribute under different scenarios.According to the difference of scene requirement, different queue period is set to apply system resource.In queue, different criteria are dynamically implemented according to the difference of service attribute scheduling, so as to meet the service requirement of multiple scenes.At the same time, through round empty control behavior, it is guaranteed that all services will not be forgotten, and the fairness of scheduling mechanism is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of 5G communication technology, and in particular to a 5G dynamic scheduling method based on double queues. BACKGROUND

[0002] 5G communication technology mainly includes higher data traffic services, user experience rate, and lower latency. With the growing demand of users for high-quality services, the management of network resources has become an increasingly challenging task. In order to improve the performance of the network, it is necessary to design a more reasonable resource scheduling strategy. In the traditional 3 / 4G scheduling field, even the author's previous research on 5G scheduling has focused on scheduling a single queue, using methods such as multi-factor evaluation to meet the service index requirements in different scenarios. This method is easy to implement, but it is not sensitive enough to changes in service index requirements. Therefore, the present application redesigns a dynamic scheduling method based on double queues, which encodes services with different index requirements into different queues and adjusts the properties of the queues to achieve differentiated adjustment. SUMMARY

[0003] The purpose of the present application is to obtain the output of different service properties more intuitively by classifying services under certain 5G system resources. Two independent queues are set up, and the demand for system resources of each queue is set by the scene requirement. The scheduling within the queue is dynamically adjusted according to the amount of services to be served, thereby ensuring the implementation of different levels of scheduling and meeting the index requirements of different services.

[0004] In order to achieve the above-mentioned purpose, the present application adopts the following technical scheme:

[0005] A 5G dynamic scheduling method based on double queues, characterized by comprising s services Svr s ={Svr1, Svr2, …, Svr s}, current service application rate {Vlc1, Vlc2, …, Vlc s}, latency {Dly1, Dly2, …, Dly s}, latency tolerance {Dlt1, Dlt2, …, Dlt s}, and round-robin times {Zr1, Zr2, …, Zr s}.

[0006] The method comprises the following steps:

[0007] Step 1: Service queue calibration: set the first service data table, the first queue Q1, the second queue Q2, the service label threshold, calculate the label determination value of each service, and put the service into the first queue Q1 or the second queue Q2 according to the label determination value;

[0008] Step two, first queue management: set the unit slice time, the one-time cumulative scheduling slice number m of Q1 queue, and calculate the priority of Q1 queue;

[0009] Step three, second queue calculation: set the one-time cumulative scheduling slice number n of Q2 queue, and calculate the priority of Q2 queue;

[0010] Step four, round empty control: set the round empty threshold, and set the priority of the service with the number of round empties greater than the round empty threshold to 1;

[0011] Step five, overall scheduling: the scheduler performs cyclic scheduling between the double queues Q1 and Q2, completes the Q1 queue scheduling in the period, turns to the queue Q2, and then turns to Q1 again to start the next scheduling period.

[0012] A 5G dynamic scheduling method DQDS (Double Queue based 5G Dynamic Scheduling algorithm) based on double queues is provided, which firstly classifies different services according to service attributes, sets two independent service queues, and respectively places services with similar attributes in different scenes. According to the difference of scene requirements, different queue periods are set to apply system resources. In the queue, different scheduling criteria are dynamically implemented according to the difference of service attributes, so as to meet the service requirements of multiple scenes. At the same time, the round empty control behavior is used to ensure that all services will not be forgotten, and the fairness of the scheduling mechanism is guaranteed.

[0013] As preferred, the step one includes the following contents:

[0014] (1-1) Set the first service data table, which includes service name, current application rate, service delay, delay tolerance, round empty number, etc.

[0015] (1-2) Set the first queue Q1, load delay-sensitive services, suitable for uRLLC scene, set the second queue Q2, load other services, suitable for eMMB scene, etc.; set the service label threshold Svr th ; for each service Svr s in Svr s ={Svr1, Svr2, …, Svr i}, calculate the label judgment value Jdg i =Dlt i -Svr th , i=1, 2, …, s; if Jdg i ≤0, Svr i is regarded as a delay-sensitive service and placed in the queue Q1, otherwise placed in the queue Q2.

[0016] As preferred, the step two comprises the following:

[0017] (2-1) Set a unit round-robin time Δτ, i.e. the scheduler schedules a service every Δτ time; set a round-robin number m for the Q1 queue, i.e. the Q1 queue is switched to the Q2 queue after m*Δτ time;

[0018] (2-2) Calculate the number LenSvr of services in the Q1 queue Q1 , calculate the delay remaining Dls of the services in the Q1 queue j = Dly j - Dlt j , wherein Svr j ∈ Q1; if the Case1 condition m ≥ LenSvr Q1 is met, the Q1 queue adopts the RR (Round-Robin) scheduling criterion, i.e. all the services in the Q1 queue are alternately scheduled, and the priority is calculated; if the Case2 condition m < LenSvr Q1 is met, the priority j = exp(Dls j / 100) = exp((Dly j - Dlt j / 100) is calculated, wherein exp(·) represents the exponential function with the natural constant e as the base;

[0019] (2-3) Calculate the priority of the Q1 queue

[0020]

[0021] As preferred, the step three comprises the following:

[0022] (3-1) Set a round-robin number n for the Q2 queue, i.e. the Q2 queue is switched to the Q1 queue after n*Δτ time;

[0023] (3-2) Calculate the number LenSvr of services in the Q2 queue Q2 , calculate the total throughput of the services in the Q2 queue k ∈ Q2; if the Case3 condition n ≥ LenSvr Q2 is met, the Q2 queue adopts the RR (Round-Robin) scheduling criterion, i.e. all the services in the Q2 queue are alternately scheduled, and the priority is calculated, wherein max(·) represents the maximum value function; if the Case4 condition n < LenSvr Q2 is met, the priority

[0024] (3-3) Calculating Q2 queue priority

[0025]

[0026] Preferably, the step 4 includes the following contents:

[0027] Set the bye threshold Zr thr >0; for Svr s ={Svr1, Svr2, ..., Svr s}Business Svr i The number of byes {Zr1, Zr2, ..., Zr s}, if Zr i ≥Zr thr , then Svr i The priority is set to 1.

[0028] Preferably, the step five includes the following contents:

[0029] The scheduler updates the scheduling priority when completing a time slice Δτ, completing a business schedule, or when the system environment such as parameters and resources change; the scheduler performs cyclic scheduling between the dual queues Q1 and Q2 with T = (m + n) * Δτ as a cycle; set m t is the number of rounds in the current Q1 queue, m t ≤m; initial scheduling starts from queue Q1, m t Set to 0; with priority ρ j Each time it is dispatched, m t Add 1 until m, completing the Q1 queue scheduling within the T period, m t Reset to 0, and then transfer to queue Q2, in the same way with priority σ k Complete the Q2 scheduling within the T period and return to Q1 to start the next scheduling cycle.

[0030] Therefore, the present invention has the following beneficial effects: different scheduling resources can be allocated in a personalized manner between queues according to the different attributes of different services; even between services with similar attributes within a queue, the service priority can be dynamically adjusted according to the size of the service volume, thereby meeting different 5G scenario requirements. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 It is a flow chart of the present invention.

[0032] Figure 2 This is a throughput comparison chart of the present invention and other algorithms.

[0033] Figure 3 This is a delay comparison chart between the present invention and other algorithms.

[0034] Figure 4 This is a comparison chart of the scheduling fairness of the present invention and other algorithms. DETAILED DESCRIPTION

[0035] The present invention will be further described below with reference to the accompanying drawings and specific embodiments.

[0036] Example 1:

[0037] like Figure 1 The embodiment shown is a 5G dynamic scheduling method based on dual queues, including s services Svr s ={Svr1, Svr2, ..., Svr s}, current service application rate {Vlc1, Vlc2, ..., Vlc s}, delay {Dly1, Dly2, ..., Dly s}, delay tolerance {Dlt1, Dlt2, ..., Dlt s}, the number of byes is {Zr1, Zr2, ..., Zr s};

[0038] Step 1: Business queue calibration;

[0039] Step 1-1: Set the first service data table, which includes service name, current application rate, service delay, delay tolerance, number of byes, etc.

[0040] Step 1-2: Set the first queue Q1 to load delay-sensitive services, which is suitable for uRLLC scenarios. Set the second queue Q2 to load other services, which is suitable for scenarios such as eMMB. Set the service label threshold Svr th ; For Svr s ={Svr1, Svr2, ..., Svr s Each business Svr in i , calculate the label judgment value Jdg i =Dlt i -Svr th , i=1,2,…,s;if Jdg i ≤0, then Svr i For delay-sensitive services, place them in queue Q1; otherwise, place them in queue Q2.

[0041] Step 2: First queue management;

[0042] Step 2-1: Set the unit round time Δτ, that is, the scheduler schedules services every Δτ time. Set the cumulative number of rounds for Q1 to be scheduled at one time to m, that is, Q1 will not be transferred to Q2 queue until it has completed m*Δτ time.

[0043] Step 2-2: Calculate the number of services LenSvr in the Q1 queue Q1 Calculate the remaining delay Dls of the service in queue Q1 j =Dly j -Dlt j , where Svr j ∈Q1; if Case1 condition m≥LenSvr is met Q1 , queue Q1 adopts RR (Round-Robin) scheduling principle, that is, all services in Q1 are scheduled alternately, and the priority is calculated If Case 2 condition m<LenSvr is met Q1 , calculate the priority ρ2 j =exp(Dls j / 100)=exp((Dly j -Dlt j ) / 100), where exp(·) represents an exponential function with the natural constant e as the base;

[0044] Step 2-3: Calculate Q1 queue priority

[0045]

[0046] Step 3: Second queue calculation;

[0047] Step 3-1: Set the number of cumulative scheduling rounds n for the Q2 queue at one time, that is, Q2 will be transferred to the Q1 queue only after it has completed n*Δτ time;

[0048] Step 3-2: Calculate the number of services in the Q2 queue, LenSvr Q2 , calculate the total throughput of the services in the Q2 queue Among them Svr k ∈Q2; if Case3 condition n≥LenSvr is met Q2 , queue Q2 adopts RR (Round-Robin) scheduling principle, that is, all services in Q2 are scheduled alternately, and the priority is calculated Where max(·) represents the maximum value function; if the Case 4 condition n<LenSvr Q2 , calculate the priority

[0049] Step 3-3: Calculate the Q2 queue priority

[0050]

[0051] Step 4: Bye Control

[0052] Set the bye threshold Zr thr >0; for Svrs ={Svr1, Svr2, ..., Svr s}Business Svr i The number of byes {Zr1, Zr2, ..., Zr s}, if Zr i ≥Zr thr , then Svr i The priority is set to 1;

[0053] Step 5: Overall Scheduling

[0054] The scheduler updates the scheduling priority when completing a time slice Δτ, completing a business schedule, or when the system environment such as parameters and resources change; the scheduler performs cyclic scheduling between the dual queues Q1 and Q2 with T = (m + n) * Δτ as a cycle; set m t is the number of rounds in the current Q1 queue, m t ≤m; initial scheduling starts from queue Q1, m t Set to 0; with priority ρ j Each time it is dispatched, m t Add 1 until m, completing the Q1 queue scheduling within the T period, m t Reset to 0, and then transfer to queue Q2, in the same way with priority σ k Complete the Q2 scheduling within the T period and return to Q1 to start the next scheduling cycle.

[0055] Example 2:

[0056] The present invention is described in detail below using s=7 as an example. The services currently being carried out by the 5G system are shown in Table 1:

[0057] Table 1

[0058] Traffic Application rate (Mbps) Latency (ms) Latency tolerance (ms) Spins Svr1 2 70 100 4 Svr2 8 15 50 1 Svr3 3 130 150 3 Svr4 11 180 300 0 Svr5 4 50 75 2 Svr6 6 20 60 6 Svr7 9 130 200 2

[0059] The basic data are shown in Table 2:

[0060] Table 2

[0061] Item Data Operating frequency (GHz) 2.6 Operating bandwidth (MHz) 100 Subcarrier bandwidth index 1 Traffic label (ms) 100 Q1 queue time slice m 2 Q2 queue time slice n 3 Spinning threshold 5

[0062] This example describes a dual-queue-based 5G dynamic scheduling method, including the following steps: service queue calibration, first queue management, second queue calculation, bye control, and overall scheduling;

[0063] Step 1: Business queue calibration;

[0064] For Svr s = Each service Svr in {Svr1, Svr2, ..., Svr7} i , calculate the label judgment value Jdgi =Dlt i -Svr th ={0, -50, 50, 200, -25, -40, 100}; satisfy Jdg i Delay-sensitive services with a latency of ≤ 0 are {Svr1, Svr2, Svr5, Svr6}, which are placed in queue Q1, and {Svr3, Svr4, Svr7} are placed in queue Q2.

[0065] Step 2: First queue management;

[0066] Number of services in the Q1 queue LennSvr Q1 =4, calculate the remaining delay Dls of the service in queue Q1 j =Dly j -Dlt j ={-30,-35,″″,″″,-25,-40,″″}; m=2<LenSvr Q1 , satisfy Case2 conditions, calculate priority Cost-effective Q1 queue priority ρ j =ρ2 j ;

[0067] Step 3: Second queue calculation;

[0068] Number of services in the Q2 queue LenSvr Q2 =3, calculate the total throughput of services in the Q2 queue If Case 3 condition n=3≥LenSvr is met Q2 , queue Q2 adopts RR (Round-Robin) scheduling principle and calculates priority Cost-effective Q2 queue priority σ k =σ1 k ;

[0069] Step 4: Bye Control

[0070] Bye Threshold Zr thr =5; for Svr s ={Svr1, Svr2, ..., Svr s}Business Svr i The number of byes {Zr1, Zr2, ..., Zr s}, satisfying Zr i ≥Zr thr If the service is {Svr6}, the priority of Svr6 is set to 1;

[0071] Step 5: Overall Scheduling

[0072] Since Svr6 is round empty, priority is raised 1, scheduler first schedules according to priority ρ j ={0.74, 0.7, "", "", 0.78, 1, ""}, schedule {Svr1, Svr2, Svr5, Svr6} in Q1 queue, scheduling order is {Svr6, Svr5, Svr1, Svr2}, subtotal m=2 time slices, {Svr1, Svr2} are round empty, then σ k ={ "", "", 0.48, 0.48, "", "", 0.48}, schedule {Svr3, Svr4, Svr7} in Q2 queue, subtotal n=3 time slices, after completing 5 time slices of scheduling, the next scheduling period is started.

[0073] Simulation experiment:

[0074] The DQDS method of the application, RR (Round Robin), FB (Feedback Queue) and HRRN (Highest Response Ratio Next) and four kinds of methods are simulated on a MATLAB platform, a certain user is randomly scattered, and a random service is configured, and the obtained throughput, delay and fairness are respectively shown in the following table. Figures 2 to 4

[0075] As shown in the table, the DQDS can set a higher scheduling duration for the non-delay type service queue of the throughput attribute, so as to obtain a higher system throughput, the FB is similar, but the priority of the queue is sequentially decreased, and relatively, the HRRN more considers the scheduling time of the service, and the contribution of the RR method to the system throughput is relatively low. Figure 2 As shown in the table, the RR does not consider much delay in the mechanism, the FB has more queues, the priority is lower, and the delay is larger, and the DQDS is more flexible, can shorten the delay by setting the allocation resource number of the delay service queue, and can limit the long delay caused by the long time unscheduled behavior by the round empty control behavior, but in the case of increasing the number of users, the HRRN considering the job time gradually shows an advantage.

[0076] Figure 3 As shown in the table, undoubtedly, the fairness of the RR algorithm is the best, the DQDS adopts the RR scheduling mechanism on the premise that the queue occupies sufficient resource number, therefore, the fairness is superior, the more the number of users, the longer the occupied scheduling queue, the lower the priority, and the fairness of the FB gradually decreases, compared with the queue mechanism, the fairness of the HRRN of the DQDS and the FB is slightly inferior.

[0077] As shown in the table, undoubtedly, the fairness of the RR algorithm is the best, the DQDS adopts the RR scheduling mechanism on the premise that the queue occupies sufficient resource number, therefore, the fairness is superior, the more the number of users, the longer the occupied scheduling queue, the lower the priority, and the fairness of the FB gradually decreases, compared with the queue mechanism, the fairness of the HRRN of the DQDS and the FB is slightly inferior. Figure 4

[0078] ​​​The above embodiments are only used for further illustrating the present application, and cannot be understood as limiting the protection scope of the present application. Some non-essential improvements and adjustments of the present application by the technical engineers in the art according to the content of the present application all fall into the protection scope of the present application.

Claims

1. A 5G dynamic scheduling method based on dual queues, characterized in that: The following steps are involved: Step 1: Service queue calibration: Set the first service data table, the first queue Q1, the second queue Q2, and the service label threshold, calculate the label judgment value of each service, and place the service in the first queue Q1 or the second queue Q2 according to the label judgment value; Step 2: First queue management: Set the unit round time, the cumulative number of rounds scheduled for the Q1 queue at one time (m), and calculate the priority of the Q1 queue; When m ≥ Q1 service number, the priority is the ratio of the total delay from the current service to the end of the queue to the total delay tolerance; When m is less than the number of Q1 services, the priority is the difference between the service delay and the delay tolerance divided by 100 and then the natural exponential function is calculated; Step 3: Calculation of the second queue: Set the number of one-time cumulative scheduling rounds n for the Q2 queue and calculate the priority of the Q2 queue; When n ≥ Q2 services, the priority is the ratio of the maximum application rate of the queue services to the total service throughput; When n < Q2 service number, the priority is the ratio of the service application rate of the current service to the maximum application rate of the queue service; Step 4: Bye control: Set a bye threshold and set the priority of the business with more byes than the bye threshold to 1; Step 5. Overall scheduling: The scheduler performs cyclic scheduling between the two queues Q1 and Q2. After completing the scheduling of queue Q1 within the cycle, it switches to queue Q2, and then switches back to Q1 to start the next scheduling cycle.

2. A 5G dynamic scheduling method based on dual queues according to claim 1, characterized in that: The method adopts s services Svr s ={Svr1, Svr2, ..., Svr s }, current service application rate {Vlc1, Vlc2, ..., Vlc s }, delay {Dly1, Dly2, ..., Dly s }, delay tolerance {Dlt1, Dlt2, ..., Dlt s }, the number of byes is {Zr1, Zr2, ..., Zr s }.

3. The 5G dynamic scheduling method based on dual queues according to claim 1, wherein: The step 1 includes the following contents: (1-1) Setting the first service data table, which includes service name, current application rate, service delay, delay tolerance, number of byes, etc.; (1-2) Set the first queue Q1 to load delay-sensitive services, which is suitable for uRLLC scenarios. Set the second queue Q2 to load other services, which is suitable for scenarios such as eMMB. Set the service label threshold Svr th ;For Svr s ={Svr1, Svr2, ..., Svr s Each business Svr in i , calculate the label judgment value Jdg i =Dlt i -Svr th , i=1,2,…,s; If Jdg is satisfied i ≤0, then Svr i For delay-sensitive services, they are placed in queue Q1; otherwise, they are placed in queue Q2.

4. The 5G dynamic scheduling method based on dual queues according to claim 1, wherein: The second step includes the following contents: (2-1) Set the unit round time Δτ, that is, the scheduler schedules services every Δτ time; set the number of cumulative scheduling rounds for queue Q1 to be m, that is, Q1 will not be transferred to queue Q2 until it has completed m*Δτ time; (2-2) Calculate the number of services in the Q1 queue, LenSvr Q1 Calculate the remaining delay Dls of the service in queue Q1 j =Dly j -Dlt j , where Svr j ∈Q1; if Case1 condition m≥LenSvr is met Q1 , queue Q1 adopts RR (Round-Robin) scheduling principle, that is, all services in Q1 are scheduled alternately, and the priority is calculated If Case 2 condition m is met <LenSvr Q1 , calculate the priority ρ2 j =exp(Dls j / 100)=exp((Dly j -Dlt j ) / 100), where exp(·) represents an exponential function with the natural constant e as the base; (2-3) Calculate the priority of Q1 queue 5. The 5G dynamic scheduling method based on dual queues according to claim 1 is characterized in that: The step three includes the following contents: (3-1) Set the number of cumulative scheduling rounds n for the Q2 queue at one time, that is, Q2 will be transferred to the Q1 queue only after it has executed n*Δτ time; (3-2) Calculate the number of services in the Q2 queue, LenSvr Q2 , calculate the total throughput of the services in the Q2 queue Among them Svr k ∈Q2; if Case3 condition n≥LenSvr is met Q2 , queue Q2 adopts RR (Round-Robin) scheduling principle, that is, all services in Q2 are scheduled alternately, and the priority is calculated Among them, max(·) represents the maximum value function; if the Case 4 condition n is met <LenSvr Q2 , calculate the priority (3-3) Calculating Q2 queue priority 6. A 5G dynamic scheduling method based on dual queues according to claim 1, characterized in that: The fourth step includes the following contents: Set the bye threshold Zr thr >0; for Svr s ={Svr1, Svr2, ..., Svr s }Business Svr i The number of byes {Zr1, Zr2, ..., Zr s }, if Zr i ≥Zr thr , then Svr i The priority is set to 1.

7. The 5G dynamic scheduling method based on dual queues according to claim 1, wherein: The step five includes the following contents: The scheduler updates the scheduling priority when completing a time slice Δτ, completing a business schedule, or when the system environment such as parameters and resources change; the scheduler performs cyclic scheduling between the dual queues Q1 and Q2 with T = (m + n) * Δτ as a cycle; set m t is the number of rounds in the current Q1 queue, m t ≤m; initial scheduling starts from queue Q1, m t Set to 0; with priority ρ j Each time it is dispatched, m t Add 1 until m, completing the Q1 queue scheduling within the T period, m t Reset to 0, and then turn to queue Q2, in the same way with priority σ k Complete the Q2 scheduling within the T period and return to Q1 to start the next scheduling cycle.

Citation Information

Patent Citations

  • Queue scheduling method based on timer and MDRR

    CN101969409A

  • Hybrid queue scheduling method of space-ground integrated intelligent network

    CN111988242A