WO2022083297A1 - 无线网络物理层的单核多任务调度方法及*** - Google Patents

无线网络物理层的单核多任务调度方法及*** Download PDF

Info

Publication number
WO2022083297A1
WO2022083297A1 PCT/CN2021/115711 CN2021115711W WO2022083297A1 WO 2022083297 A1 WO2022083297 A1 WO 2022083297A1 CN 2021115711 W CN2021115711 W CN 2021115711W WO 2022083297 A1 WO2022083297 A1 WO 2022083297A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
signal processing
channel
time
tasks
Prior art date
Application number
PCT/CN2021/115711
Other languages
English (en)
French (fr)
Inventor
李辉
陈辉
余刚
冯伟
Original Assignee
中信科移动通信技术股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中信科移动通信技术股份有限公司 filed Critical 中信科移动通信技术股份有限公司
Publication of WO2022083297A1 publication Critical patent/WO2022083297A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria

Definitions

  • the present application relates to the field of wireless communication technologies, and in particular, to a single-core multi-task scheduling method and system for the physical layer of a wireless network.
  • the interface protocol of the wireless network is mainly divided into three layers, including the physical layer L1, the data link layer L2 and the network layer L3.
  • the physical layer is located at the bottom layer of the wireless interface and provides information transmission services for L2 and upper layers.
  • the services provided by the physical layer are described by transport channels, which are mapped to uplink and downlink physical channels.
  • the physical layer needs to complete processes such as multi-antenna reception, demodulation and decoding.
  • the physical layer needs to complete processes such as coding and rate matching, modulation, resource mapping and antenna mapping.
  • the physical layer also needs to complete a series of reference signal transmission and reception processing.
  • the physical layer also controls the timing sequence of L2 and L3, which is consistent with the timing of the air interface signal.
  • the physical layer needs to interact with L2 to complete specific uplink and downlink processing.
  • These tasks can be divided into several tasks for execution.
  • the physical layer has the following characteristics when dealing with these tasks: one is real-time, and each time unit will dynamically organize the task queue; the other is timeliness, each task has its own Deadline, if it times out, its execution result is meaningless.
  • Multi-core multi-tasking has less scheduling pressure due to abundant core resources, but requires higher hardware resources of the processor, and the corresponding cost will be higher.
  • the single-core multitasking scheme is adopted, the hardware resource requirements are not high, so there will be a great advantage in cost.
  • the single-core multitasking scheme it is divided into preemptive and non-preemptive. The former ensures that high-priority tasks can be executed first by distinguishing priorities.
  • This method is relatively simple in software implementation, but task switching will bring additional overhead; the latter uses multi-task polling, and there is no scheduling resource overhead, but A more complex algorithm is needed to elect the tasks to be executed; at the same time, the two have common drawbacks, that is, the currently scheduled tasks are determined according to the historical scheduling of the tasks, and deviations are prone to occur in the scheduling, and overtime tasks will waste time slices or time slices. There are more vacancies, resulting in the ineffective use of nuclear resources.
  • Embodiments of the present application provide a single-core multi-task scheduling method and system at the physical layer of a wireless network, so as to solve the defects in the prior art that single-core multi-tasking requires additional resource overhead, the method is complicated, and resources are wasted, and the method can be realized without increasing resources. In the case of overhead and complexity, single-core multi-task real-time scheduling is efficiently performed.
  • An embodiment of the present application provides a single-core multi-task scheduling method at the physical layer of a wireless network, including:
  • the subtasks in each channel and signal processing task are scheduled according to the ordering of the channel and signal processing tasks and the time overhead of each subtask.
  • the step of calculating the time overhead of each subtask in each channel and signal processing task includes:
  • the key value task is a task whose time cost is linearly related to one or more key values, and the key value is the same as The task parameter value related to the time cost of the task, and the non-critical value task is a task whose time cost has nothing to do with the key value;
  • the time cost of each subtask is obtained according to the time cost benchmark value of each key-value task and non-critical-value task under each subtask, and the key value of each key-value task.
  • the step of acquiring the time cost reference value of each key-value task and non-critical-value task under each subtask includes:
  • the subtasks include flow control tasks and algorithm processing tasks
  • inter-task communication, message reading and writing, and task dispatch under the process control task are non-critical value tasks
  • Each link of the algorithm processing class task is a key value task.
  • the steps of scheduling include:
  • For the current time slot allocate time slices to the channels and signal processing tasks in sequence according to the ordering of the channels and signal processing tasks;
  • time slice allocation is performed in units of the channel or signal processing task
  • time slice allocation is performed in units of subtasks of the channel or signal processing tasks.
  • the step of allocating time slices is performed in units of the channel or signal processing task include:
  • any channel or signal processing task is the first type and the channel or signal processing task is not allocated a time slice, add the time overhead of all subtasks of the channel or signal processing task to obtain the channel or signal processing task.
  • Time overhead of processing tasks
  • a time slot is allocated to the entire channel or signal processing task, and the length of the remaining time slot of the current time slot is updated to the current time slot The remaining time slice length minus the time overhead of this channel or signal processing task.
  • the single-core multi-task scheduling method of the physical layer of a wireless network if the type of any one of the channel or signal processing tasks is the second type, the sub-tasks of the channel or signal processing tasks are performed in units of units.
  • the step of time slice allocation includes: if the type of any channel or signal processing task is of the second type and the channel or signal processing task has subtasks that are not allocated time slices, then the channel or signal processing task is not allocated time slices Add the time overhead of the subtasks of , to obtain the time overhead of the channel or signal processing task;
  • time overhead of the channel or signal processing task is less than or equal to the length of the remaining time slot of the current time slot, allocate time slots to all subtasks that have not been allocated time slots in the channel or signal processing task, and use the remaining time slots of the current time slot to allocate time slots.
  • the time slice length is updated to the remaining time slice length of the current time slot minus the time overhead of the channel or signal processing task; if the time cost of the channel or signal processing task is greater than the remaining time slice length of the current time slot, the Select some subtasks to allocate time slices in the subtasks of allocating time slices, and calculate the total time cost of the selected subtasks, and update the remaining time slice length of the current time slot to the remaining time slice length of the current time slot minus the selected time slice length.
  • the total time overhead of some subtasks is the total time overhead of some subtasks;
  • time slot does not allocate a time slot for this channel or signal processing task.
  • the embodiment of the present application also provides a single-core multi-task scheduling system at the physical layer of a wireless network, including:
  • an acquisition module configured to acquire the configuration of the cell from the network layer in the interface protocol of the wireless network, and acquire the channel and signal processing tasks of the cell from the configuration of the cell;
  • the processing module is configured to sort all channels and signal processing tasks of the cell according to the pre-obtained priority of each channel and signal processing task in descending order, and calculate the value of each channel and signal processing task.
  • the scheduling module is configured to schedule the subtasks in each channel and signal processing task according to the order of the channel and signal processing tasks and the time overhead of each subtask.
  • Embodiments of the present application further provide an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, when the processor executes the program, the wireless The steps of the single-core multitasking scheduling method of the network physical layer.
  • Embodiments of the present application further provide a non-transitory computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the single-core multi-task scheduling of the wireless network physical layer as described in any of the above steps of the method.
  • the single-core multi-task scheduling method and system for the physical layer of a wireless network provided by the embodiments of the present application, by acquiring the channels and signal processing tasks of the cell, sort all the channel and signal processing tasks in the order of priority from high to low, according to The subtasks are scheduled by the channels and the ordering of each channel and signal processing tasks and the time overhead of the subtasks.
  • the sub-tasks are directly scheduled according to the sorting order of the channel and signal processing tasks, the method for determining the sub-tasks to be scheduled is simple and the calculation speed is fast; on the other hand, the time cost of each sub-task is known before the sub-task scheduling Time overhead of subtasks Real-time scheduling of subtasks can reasonably allocate time slices, make full and effective use of resources, and improve the efficiency of task scheduling.
  • FIG. 1 is a schematic flowchart of a single-core multi-task scheduling method for a wireless network physical layer provided by an embodiment of the present application;
  • FIG. 2 is a schematic structural diagram of a task queue formed by an uplink channel processing task in a single-core multi-task scheduling method for a wireless network physical layer provided by an embodiment of the present application;
  • FIG. 3 is a schematic structural diagram of distribution of channel estimation subtasks in a single-core multitask scheduling method for a wireless network physical layer provided by an embodiment of the present application;
  • FIG. 4 is a schematic flowchart of the allocation of a first type of channel and a signal processing task time slice in a single-core multi-task scheduling method for a wireless network physical layer provided by an embodiment of the present application;
  • FIG. 5 is a schematic flowchart of the allocation of the second type of channel and signal processing task time slice in a single-core multitasking scheduling method of a wireless network physical layer provided by an embodiment of the present application;
  • FIG. 6 is a schematic structural diagram of a single-core multi-task scheduling system at the physical layer of a wireless network provided by an embodiment of the present application;
  • FIG. 7 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the single-core multi-task scheduling method for the physical layer of the wireless network is described below with reference to FIG. 1 , including: S101 , obtaining a configuration of a cell from a network layer in an interface protocol of a wireless network, and obtaining the cell from the configuration of the cell channel and signal processing tasks;
  • the wireless network may be a 5G wireless network, an LTE (Long Term Evolution, Long Term Evolution) wireless network, or the like.
  • the physical layer provides information transmission services for the network layer through the transmission channel, and the physical layer also needs to complete the sending and receiving of reference signals.
  • Physical layer transmission channels can be divided into uplink channels and downlink channels, and signals can be divided into uplink signals and downlink signals.
  • the common uplink channels are PRACH (Physical Random Access Channel, Physical Random Access Channel), PUSCH (Physical Uplink Shared Channel, Physical Shared Channel) and PUCCH (Physical Uplink Control Channel, Physical Uplink Control Channel), downlink channel
  • PBCH Physical Broadcast Channel
  • PDSCH Physical Downlink Shared Channel, Physical Downlink Shared Channel
  • PDCCH Physical Downlink Control Channel, Physical Downlink Control Channel
  • SSB Synchronization Signal and PBCH block, synchronization signal and PBCH) Block
  • the uplink and downlink signals include SRS (Sounding Reference Signal, Channel Sounding Reference Signal), PSS (Primary Synchronization Signal, Primary Synchronization Signal)/SSS (Secondary Synchronization Signal, Secondary Synchronization Signal), CSI-RS (Channel State Information Reference Signal) , the channel state information reference signal).
  • Each channel and signal works differently.
  • the configuration of the current cell can be obtained through the network layer, and the channel and signal processing tasks to be processed by the current cell can be determined.
  • the channel and signal processing tasks are divided into several channel and signal processing tasks according to the work of the channels and signals, such as PUSCH processing tasks, PUCCH processing tasks, etc.
  • the order of the pre-acquired priorities from high to low is preset according to the priority relationship of the uplink and downlink scheduling tasks of the physical layer.
  • the priority relationship of scheduling tasks is determined according to the timeliness of the task and the characteristics of the task itself. For example, tasks of processing data and control channels have higher priority than tasks of processing PRACH channels and uplink and downlink signals.
  • the PUSCH processing task completes the decoding of the upstream code stream data and needs to be completed within a time unit, and its priority is the highest, so it ranks first;
  • the PUCCH processing task completes the decoding of the uplink control information and needs to be completed within a time unit. Its priority is higher and ranks second;
  • PRACH and SRS (Sounding Reference Signal, uplink sounding reference signal) processing tasks complete random access detection and SRS signal measurement respectively, and their timeliness is not high, so they are ranked third respectively. and fourth.
  • Each channel and signal processing task includes multiple subtasks.
  • the PUSCH processing task includes a PUSCH time domain preprocessing subtask and a PUSCH channel estimation subtask. Each subtask is arranged in a preset order. After the channel and signal processing tasks are sorted according to the order, a task queue can be obtained.
  • Figure 2 shows the task queue formed by the upstream channel processing tasks.
  • the task currently to be scheduled can be determined according to the sorting of the task queue, the time overhead of scheduling the subtask can be determined according to the overhead time of the subtask, and then whether to schedule the subtask is determined according to the current time period.
  • this scheduling method it can not only ensure that tasks with high priority are scheduled first, but also allocate time slices reasonably.
  • all channels and signal processing tasks are sorted in descending order of priority, and the order of channels and each channel and signal processing tasks and the time overhead of subtasks are paired with each other.
  • Subtasks are scheduled.
  • the sub-tasks are directly scheduled according to the sorting order of the channel and signal processing tasks, the method for determining the sub-tasks to be scheduled is simple and the calculation speed is fast; on the other hand, the time cost of each sub-task is known before the sub-task scheduling Time overhead of subtasks Real-time scheduling of subtasks can reasonably allocate time slices, make full and effective use of resources, and improve the efficiency of task scheduling.
  • the step of calculating the time overhead of each subtask in each channel and signal processing task in this embodiment includes: acquiring the time overhead benchmark of each key-value task and non-critical-value task under each subtask value; wherein, the key value task is a task whose time cost is linearly related to one or more key values, the key value is the task parameter value related to the time cost of the task, and the non-key value task is the time cost tasks not related to key figures;
  • each subtask includes key-value tasks and non-key-value tasks.
  • the channel estimation subtask includes key value tasks including data reading and channel estimation, and non-critical value tasks include message reception and message transmission.
  • each subtask it can be converted into a combination of key-value tasks and non-key-value tasks.
  • each subtask is numbered consecutively, and indexes are set for the key value tasks and non-critical value tasks in the subtasks according to the number, and the time cost benchmark values of the key value tasks and non-critical value tasks are saved in the In the array T spend , any key-value task or non-key-value task can be queried by entering the index.
  • the channel estimation subtask is converted into a queue of critical value and non-critical value tasks.
  • a key-value task is a task whose time cost is linearly related to one or more key values. That is, if a task has a key value, the time cost when the key value is 1 is t, and the time cost when the key value is n is n. *t.
  • the reference operation of the channel estimation key value task is the conjugate multiplication of the data of 1 subcarrier on 1 symbol and the data of the local pilot. The reference operation process is fixed and the time overhead does not change. Therefore, the channel estimation key value
  • the total time overhead of the task has a linear relationship with the number of pilot symbols sym_num and the number of subcarriers sc_num.
  • the key values in the channel estimation key value task are the number of symbols and the number of subcarriers.
  • the pseudo code of the key value task ChannelEstimate_KeyJob and the key values sym_num and sc_num can be expressed as follows:
  • the reference value of the time overhead refers to the time overhead of the reference operation.
  • the reference operation of the channel estimation key value task is the conjugate multiplication of the data of 1 subcarrier on 1 symbol and the data of the local pilot, and the time overhead of executing the reference operation It is the time cost benchmark value.
  • Non-critical-value tasks refer to the fixed execution process, which is not related to other factors, and its time overhead is basically unchanged.
  • the non-critical value task of receiving messages is used to receive and parse messages of a fixed size, and the time consumption is basically unchanged.
  • the channel estimation subtask includes two key value tasks, DataLoad_KeyJob and ChannelEstimate_KeyJob.
  • the number of pilot symbols and the number of resource blocks are obtained from the L2 scheduling message, and two corresponding key values can be obtained by calculation, that is, the number of symbols sym_num and the number of subcarriers sc_num.
  • the time reference values of these two key-value tasks are obtained from the array Tspend, which records the task time overhead, respectively, Tspend[l] and Tspend[l+2]. According to the linear relationship, the two can be calculated.
  • the time overheads of key-value tasks are Tspend[l]*sym_num*sc_num and Tspend[l+2]*sym_num*sc_num, respectively.
  • the time overhead of calculating the entire channel estimation subtask is: In this way, the time overhead of the channel estimation subtask is accurately quantified according to the real-time parameters. By analogy, the time cost calculation of all subtasks in the current time slot is completed.
  • the step of obtaining the time cost reference value of each key-value task and non-critical-value task under each subtask in this embodiment includes: measuring the start time and End time; calculate the time cost of each benchmark operation of each key value task according to the start time and end time of each benchmark operation of each key value task; calculate the average value of the time cost of multiple benchmark operations of each key value task, The average value is used as the time cost reference value of each key value task; each non-critical value task is measured multiple times to obtain the time cost reference value of each non-critical value task.
  • the system clock is used as the reference value of time cost
  • the start time t start is recorded before the task starts
  • the end time t stop is recorded after the task ends
  • the time cost t spend t stop -t start .
  • the average of t spend multiple times is the time reference value.
  • the index of the key value task of channel estimation is l+2
  • its time reference value is stored in T spend [l+2]
  • the index of the message receiving task is l
  • its time reference value is stored in T spend [l].
  • the task index is stored in a special array T spend , and the index can be directly queried for later use.
  • the subtasks in this embodiment include flow control tasks and algorithm processing tasks; wherein, the inter-task communication, message reading and writing, and task dispatch under the flow control tasks are non-critical Value task; each link of the algorithm processing class task is a key value task.
  • the subtasks are divided into critical tasks and non-critical tasks according to their different types, and the critical value tasks and non-critical value tasks in each subtask are combined in a serial manner.
  • the step of scheduling the subtasks in each channel and signal processing task includes: In the current time slot, according to the order of the channels and signal processing tasks, time slices are allocated to the channels and signal processing tasks in turn; if the type of any channel or signal processing task is the first type, the channel or signal processing task Time slice allocation is performed in units; if the type of any one of the channels or signal processing tasks is of the second type, time slice allocation is performed in units of subtasks of the channel or signal processing task.
  • the type of the channel or the signal processing task needs to be determined. Different types of processing tasks have different requirements for timeliness. If the type of a channel or signal processing task is the first type, all subtasks included in the channel or signal processing task need to be executed within a single time slot. Therefore, when allocating time slices, it should be comprehensively considered. The time overhead of all subtasks in this channel or signal processing task. As shown in Figure 2, the PUSCH processing task needs to be completed in one time slot.
  • the PUSCH processing task includes PUSCH time domain preprocessing subtask, PUSCH channel estimation subtask, PUSCH channel equalization subtask, PUSCH demapping demodulation decoding subtask and PUSCH reporting subtask task, and comprehensively consider the time overhead of all subtasks as the basis for time slice allocation.
  • the subtasks contained in the channel or signal processing task can be completed in multiple time slots, that is, if some subtasks in the current time slot are not completed, they can be completed in the next time slot. Complete this subtask. Therefore, when assigning time slices to it, the overhead time of a single subtask is used as the basis for time slice assignment.
  • the PRACH processing task can be completed in multiple time slots.
  • the PRACH processing task includes the PRACH time domain preprocessing subtask, the PRACH detection subtask and the PRACH reporting subtask. If the PRACH detection subtask and the PRACH reporting subtask are in the current time If the slot is not completed, it can be completed in the next slot. Only the PRACH time domain preprocessing subtasks are allocated time slices in the current time slot.
  • time slices are allocated according to the sequence and the different timeliness requirements of each channel and signal processing task, so that time slice allocation is more reasonable, resources are fully and effectively utilized, and scheduling is more accurate and orderly. . It also ensures that the channel and signal processing tasks for each allocated time slice can be executed.
  • the step of allocating time slices in units of the channel or signal processing task includes: if any channel or signal processing task is of the first type Or the type of the signal processing task is the first type and the channel or signal processing task is not allocated a time slice, then add the time cost of all subtasks of the channel or signal processing task to obtain the time cost of the channel or signal processing task ; If the time overhead of the channel or signal processing task is greater than the remaining time slice length of the current time slot, no time slot is allocated for the channel or signal processing task in the current time slot; if the time cost of the channel or signal processing task is less than or is equal to the remaining time slice length of the current time slot, then allocate time slices for the channel or signal processing task as a whole, and update the remaining time slice length of the current time slot to the remaining time slice length of the current time slot minus the channel or signal processing task. The time cost of the task.
  • a channel or signal processing task has a to-be-scheduled flag, Flgallowwait, which indicates that there are Flgallowwait subtasks to be scheduled in the current time slot.
  • the minimum value of Flgallowwait equal to 0 indicates that there are no subtasks to be scheduled in the current time slot, and the maximum value is equal to the channel and signal
  • the number Nmux of subtasks included in the processing task indicating that all subtasks in the current time slot are in the state to be scheduled.
  • the channel and the signal processing task have two allowable scheduling flags, Flgallowstart and Flgallowend, which indicate that the current time slot allows the task to be scheduled from the subtask numbered Flgallowstart to the end of the subtask numbered Flgallowend.
  • the range of the allowed scheduling flags is 1 to Nmux. If the type of the channel or signal processing task is the first type and the channel or signal processing task is not allocated a time slice, that is, the to-be-scheduled flag is Nmux, then all subtasks in the channel or signal processing task are scheduled as a whole . Before scheduling, add the overhead time of all subtasks to obtain the overhead time of the channel or signal processing task, and judge whether the overhead time meets the requirements of time slice allocation.
  • time slices are allocated to the channel or signal processing task as a whole, and all subtasks are scheduled; otherwise, no time slice is allocated for the channel or signal processing task in the current time slot, and the remaining The time slice length is constant and none of the subtasks in the channel or signal processing tasks are scheduled.
  • the first type of channel or signal processing task time slice allocation flow is shown in FIG. 4 .
  • the step of allocating time slices in units of subtasks of the channel or signal processing task includes: If the type of any channel or signal processing task is of the second type and the channel or signal processing task has subtasks that are not allocated time slices, the time cost of the subtasks that are not allocated time slices for this channel or signal processing task is compared Add, to obtain the time overhead of the channel or signal processing task; if the time overhead of the channel or signal processing task is less than or equal to the remaining time slice length of the current time slot, then it is the time slot of all unallocated time slices in the channel or signal processing task.
  • the subtask allocates time slices, and updates the remaining time slice length of the current time slot to the remaining time slice length of the current time slot minus the time cost of the channel or signal processing task; if the time cost of the channel or signal processing task is greater than the current time cost
  • the remaining time slice length of the time slot then select some subtasks from the subtasks that are not allocated time slices to allocate time slices, and calculate the total time overhead of the selected part of the subtasks, and update the remaining time slice length of the current time slot.
  • the total time cost of the selected subtasks is subtracted from the remaining time slot length of the current time slot; if the time cost of the channel or signal processing task is greater than the remaining time slot length of the current time slot, and the subtasks without time slot allocation are If the time overhead of any subtask is greater than the remaining time slice length of the current time slot, no time slice is allocated to the channel or signal processing task in the current time slot.
  • the subtask is used as the smallest unit for scheduling, that is, the overhead time of a single subtask is used as the basis for time slice allocation.
  • Channel or signal processing tasks allocate time slices and schedule all subtasks to be scheduled. If the requirements for time slice allocation are not met, time slices cannot be allocated to all subtasks to be scheduled, and only N tmp subtasks to be scheduled can be selected to allocate time slices to them. Some of the selected subtasks to be scheduled need to meet preset conditions.
  • N tmp The condition that N tmp needs to meet is that the sum of the time overheads of N tmp subtasks is less than or equal to the remaining time slice length of the current slot, but the sum of the time overheads of N tmp + 1 subtasks to be scheduled is greater than the remaining time slot of the current slot.
  • Time slice length Unselected subtasks to be scheduled can be allocated time slices in the next time slot. If the time overhead of any subtask in the Ntmp subtasks is greater than the remaining time slice length of the current time slot, then the channel or signal processing task is not allocated a time slot in the current time slot, and the Ntmp subtasks to be scheduled can be scheduled in the next time slot. Timeslots are allocated time slices for it.
  • the second type of channel or signal processing task time slice allocation flow is shown in FIG. 5 .
  • the single-core multitasking scheduling system of the wireless network physical layer provided by the embodiments of the present application is described below.
  • the single-core multitasking scheduling system of the wireless network physical layer described below and the single-core multitasking scheduling system of the wireless network physical layer described above are described below.
  • the methods can refer to each other correspondingly.
  • the single-core multi-task scheduling system of the wireless network physical layer includes an acquisition module 601, a processing module 602, and a scheduling module 603;
  • the obtaining module 601 is configured to obtain the configuration of the cell from the network layer in the interface protocol of the wireless network, and obtain the channel and signal processing tasks of the cell from the configuration of the cell;
  • the wireless network may be a 5G wireless network, an LTE wireless network, or the like.
  • the physical layer provides information transmission services for the network layer through the transmission channel, and the physical layer also needs to complete the sending and receiving of reference signals.
  • Physical layer transmission channels can be divided into uplink channels and downlink channels, and signals can be divided into uplink signals and downlink signals. Each type of channel and signal works differently.
  • the configuration of the current cell can be obtained through the network layer, and the channel and signal processing tasks to be processed by the current cell can be determined.
  • the channel and signal processing tasks are divided into several channel and signal processing tasks according to the work of the channel and signal.
  • a processing module 602 configured to sort all channels and signal processing tasks of the cell according to the pre-obtained priority of each channel and signal processing task in descending order, and calculate each channel and signal processing task The time overhead of each subtask of ;
  • the order of the pre-acquired priorities from high to low is preset according to the priority relationship of the uplink and downlink scheduling tasks of the physical layer.
  • the priority relationship of scheduling tasks is determined according to the timeliness of the task and the characteristics of the task itself.
  • the scheduling module 603 is configured to schedule the subtasks in each channel and signal processing task according to the order of the channel and signal processing tasks and the time overhead of each subtask.
  • the task currently to be scheduled can be determined according to the sorting of the task queue, the time overhead of scheduling the subtask can be determined according to the overhead time of the subtask, and then whether to schedule the subtask is determined according to the current time period.
  • this scheduling method it can not only ensure that tasks with high priority are scheduled first, but also allocate time slices reasonably.
  • all channels and signal processing tasks are sorted in descending order of priority, and the order of channels and each channel and signal processing tasks and the time overhead of subtasks are paired with each other.
  • Subtasks are scheduled.
  • the sub-tasks are directly scheduled according to the sorting order of the channel and signal processing tasks, the method for determining the sub-tasks to be scheduled is simple and the calculation speed is fast; on the other hand, the time cost of each sub-task is known before the sub-task scheduling Time overhead of subtasks Real-time scheduling of subtasks can reasonably allocate time slices, make full and effective use of resources, and improve the efficiency of task scheduling.
  • the processing module in this embodiment is further configured to: obtain the time cost reference value of each key value task and non-critical value task under each subtask; wherein, the key value task is the time cost and One or more tasks in which the key value is linearly related, the key value is the task parameter value related to the time cost of the task, and the non-critical task is the task whose time cost is independent of the key value; start at each time slot Obtain the key value of the key task from the scheduling message sent by the data link layer in the interface protocol; The key value of the value task, get the time cost of each subtask.
  • the calculation module in this embodiment is specifically used for: measuring the start time and end time of the benchmark operation of each key value task multiple times; according to the start time and end time of each benchmark operation of each key value task Calculate the time cost of each benchmark operation of each key value task from time to time; calculate the average value of the time cost of multiple benchmark operations of each key value task, and use the average value as the time cost reference value of each key value task; The non-critical value tasks are directly tested to obtain the time cost benchmark value of each non-critical value task.
  • the subtasks in this embodiment include flow control tasks and algorithm processing tasks; wherein, the inter-task communication, message reading and writing, and task dispatch under the flow control tasks are non-critical Value task; each link of the algorithm processing class task is a key value task.
  • the scheduling module in this embodiment is further configured to: for the current time slot, allocate time slices to the channels and signal processing tasks in sequence according to the order of the channels and signal processing tasks; if any channel Or the type of the signal processing task is the first type, the channel or signal processing task is used as the unit for time slice allocation; if the type of any of the channel or signal processing task is the second type, the channel or signal processing task The subtasks of the task are allocated time slices in units.
  • the scheduling module in this embodiment is further configured to: if the type of any arbitrary channel or signal processing task is the first type and the channel or signal processing task is not allocated a time slice, then the channel or signal processing task is not allocated a time slice The time cost of all subtasks of the signal processing task is added to obtain the time cost of the channel or signal processing task; if the time cost of the channel or signal processing task is greater than the remaining time slice length of the current time slot, the time cost of the channel or signal processing task is not calculated in the current time slot.
  • the scheduling module in this embodiment is further configured to: if the type of any arbitrary channel or signal processing task is the second type and the channel or signal processing task has sub-tasks with unallocated time slices, then Add the time overhead of the subtasks of the channel or signal processing task that are not allocated time slices to obtain the time overhead of the channel or signal processing task; if the time overhead of the channel or signal processing task is less than or equal to the remaining time of the current time slot Slice length, assign time slices to all subtasks that are not assigned time slices in the channel or signal processing task, and update the remaining time slice length of the current time slot to the remaining time slice length of the current time slot minus the channel or signal.
  • the time overhead of the processing task if the time overhead of the channel or signal processing task is greater than the remaining time slice length of the current time slot, select some subtasks to allocate time slices from the subtasks that have not been allocated time slices, and calculate the selected time slice.
  • Total time overhead of some subtasks update the remaining time slice length of the current time slot to the remaining time slice length of the current time slot minus the total time cost of some selected subtasks; if the time cost of the channel or signal processing task is greater than The remaining time slot length of the current time slot, and the time overhead of any subtask in the subtasks that are not allocated time slot is greater than the remaining time slot length of the current time slot, then the channel or signal processing task will not be allocated in the current time slot. time slice.
  • FIG. 7 illustrates a schematic diagram of the physical structure of an electronic device.
  • the electronic device may include: a processor (processor) 701, a communication interface (Communications Interface) 702, a memory (memory) 703 and a communication bus 704,
  • the processor 701 , the communication interface 702 , and the memory 703 communicate with each other through the communication bus 704 .
  • the processor 701 can invoke the logic instructions in the memory 703 to execute the single-core multitasking scheduling method of the physical layer of the wireless network, the method comprising: obtaining the configuration of the cell from the network layer in the interface protocol of the wireless network, and obtaining the configuration of the cell from the configuration of the cell.
  • the above-mentioned logic instructions in the memory 703 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
  • an embodiment of the present application further provides a computer program product
  • the computer program product includes a computer program stored on a non-transitory computer-readable storage medium
  • the computer program includes program instructions, when the program instructions When executed by a computer, the computer can execute the single-core multi-task scheduling method of the wireless network physical layer provided by the above method embodiments.
  • the embodiments of the present application further provide a non-transitory computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, is implemented to execute the wireless network physical layer storage medium provided by the foregoing embodiments.
  • a single-core multi-task scheduling method comprising: obtaining a configuration of a cell from a network layer in an interface protocol of a wireless network, obtaining a channel and signal processing tasks of the cell from the configuration of the cell; processing tasks according to each channel and signal Sort all channels and signal processing tasks of the cell in descending order of the pre-obtained priorities, and calculate the time overhead of each subtask of each channel and signal processing task; according to the channel and signal processing tasks The ordering of tasks and the time overhead of each subtask are processed, and the subtasks in each channel and signal processing task are scheduled.
  • each embodiment can be implemented by means of software plus a necessary general hardware platform, and certainly can also be implemented by hardware.
  • the above-mentioned technical solutions can be embodied in the form of software products in essence or the parts that make contributions to the prior art, and the computer software products can be stored in computer-readable storage media, such as ROM/RAM, magnetic A disc, an optical disc, etc., includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments or some parts of the embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供一种无线网络物理层的单核多任务调度方法及***,该方法包括:从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。本申请实施例实现在不增加资源开销和复杂度的情况下,高效进行单核多任务实时调度。

Description

无线网络物理层的单核多任务调度方法及***
相关申请的交叉引用
本申请要求于2020年10月21提交的申请号为202011129851.8,发明名称为“无线网络物理层的单核多任务调度方法及***”的中国专利申请的优先权,其通过引用方式全部并入本文。
技术领域
本申请涉及无线通信技术领域,尤其涉及一种无线网络物理层的单核多任务调度方法及***。
背景技术
无线网络的接口协议主要分三层,包括物理层L1、数据链路层L2和网络层L3。物理层位于无线接口的最底层,为L2和高层提供信息传输服务。其中,物理层提供的服务通过传输信道来描述,传输信道又映射为上下行物理信道。对于上行信道,物理层需要完成多天线接收、解调和解码等过程。对于下行信道,物理层需要完成编码及速率匹配、调制、资源映射和天线映射等过程。除此之外,物理层还需完成一系列参考信号的发送和接收处理。
同时,物理层还控制着L2和L3的定时时序,该时序与空口信号的时序一致。在固定的时间单位内,物理层要与L2交互,完成特定的上下行处理工作。这些工作可以分成若干个任务来执行,物理层在处理这些任务时有如下特点:一是具有实时性,每个时间单位会动态组织任务队列;二是有时效性,每个任务都有各自的截止时间,如果超时,则其执行结果就没有意义。
在目前的物理层多任务实时调度实现方案中,有多核多任务和单核多任务方案。多核多任务由于核资源丰富,调度压力较小,但对处理器的硬件资源要求较高,相应的成本也会比较高。相比之下,采用单核多任务方案时硬件资源要求不高,因而在成本方面会有较大优势。在单核多任务方案中,又分抢占式和非抢占式。前者通过区分优先级保证高优先级任务能 先执行,该方法在软件实现上比较简单,但任务切换会带来额外开销;后者采用多任务轮询的方式,不存在调度的资源开销,但需要比较复杂的算法来选举待执行的任务;同时两者存在共同的弊端,即根据任务的历史调度情况确定当前调度的任务,调度中易出现偏差,会出现超时任务浪费时间片,或者时间片有较多空余,导致核资源无法得到有效利用。
因此,针对传统单核多任务的调度方案的诸多弊端,亟需提供一种新的单核多任务调度方法。
发明内容
本申请实施例提供一种无线网络物理层的单核多任务调度方法及***,用以解决现有技术中单核多任务需要额外资源开销,方法复杂,浪费资源的缺陷,实现在不增加资源开销和复杂度的情况下,高效进行单核多任务实时调度。
本申请实施例提供一种无线网络物理层的单核多任务调度方法,包括:
从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;
按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;
根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
根据本申请一个实施例的无线网络物理层的单核多任务调度方法,计算每个信道和信号处理任务中各子任务的时间开销的步骤包括:
获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值;其中,所述关键值任务为时间开销与一个或多个关键值成线性关系的任务,所述关键值为与任务的时间开销相关的任务参数值,所述非关键值任务为时间开销与关键值无关的任务;
在每个时隙开始前从所述接口协议中的数据链路层下发的调度消息中获取所述关键任务的关键值;
根据每个子任务下各关键值任务和非关键值任务的时间开销基准值,以及各关键值任务的关键值,获取每个子任务的时间开销。
根据本申请一个实施例的无线网络物理层的单核多任务调度方法,获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值的步骤包括:
多次测量各关键值任务的基准操作的开始时刻和结束时刻;
根据各关键值任务的每次基准操作的开始时刻和结束时刻计算各关键值任务的每次基准操作的时间开销;
计算各关键值任务的多次基准操作的时间开销的平均值,将所述平均值作为各关键值任务的时间开销基准值;
测试各非关键值任务的时间开销,获取各非关键值任务的时间开销基准值。
根据本申请一个实施例的无线网络物理层的单核多任务调度方法,所述子任务包括流程控制类任务和算法处理类任务;
其中,所述流程控制类任务下的任务间通信、消息读写和任务派发为非关键值任务;
所述算法处理类任务的各环节为关键值任务。
根据本申请一个实施例的无线网络物理层的单核多任务调度方法,根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度的步骤包括:
对于当前时隙,根据所述信道和信号处理任务的排序依次为所述信道和信号处理任务分配时间片;
若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配;
若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配。
根据本申请一个实施例的无线网络物理层的单核多任务调度方法,若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配的步骤包括:
若任一任意信道或信号处理任务的类型为第一类型且该信道或信号处理任务未分配时间片,则将该信道或信号处理任务的所有子任务的时间开销相加,获取该信道或信号处理任务的时间开销;
若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片;
若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务整体分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销。
根据本申请一个实施例的无线网络物理层的单核多任务调度方法,若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配的步骤包括:若任一任意信道或信号处理任务的类型为第二类型且该信道或信号处理任务存在未分配时间片的子任务,则将该信道或信号处理任务未分配时间片的子任务的时间开销相加,获取该信道或信号处理任务的时间开销;
若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务中所有未分配时间片的子任务分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则从所述未分配时间片的子任务中选择部分子任务分配时间片,并计算选择的部分子任务的总时间开销,将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去选择的部分子任务的总时间开销;
若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,并且未分配时间片的子任务中任一子任务的时间开销均大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片。
本申请实施例还提供一种无线网络物理层的单核多任务调度***,包括:
获取模块,用于从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;
处理模块,用于按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;
调度模块,用于根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述无线网络物理层的单核多任务调度方法的步骤。
本申请实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述无线网络物理层的单核多任务调度方法的步骤。
本申请实施例提供的无线网络物理层的单核多任务调度方法及***,通过获取小区的信道和信号处理任务,将所有信道和信号处理任务按照优先级从高到低的顺序进行排序,按照信道和每个信道和信号处理任务的排序和子任务的时间开销对子任务进行调度。一方面直接根据信道和信号处理任务的排序顺序对其子任务依次调度,确定调度的子任务方法简单,计算速度快;另一方面在对子任务调度之前已获知每个子任务的时间开销,根据子任务的时间开销实时调度子任务,能够合理分配时间片,充分有效利用资源,提高任务调度的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种无线网络物理层的单核多任务调度方法的流程示意图;
图2是本申请实施例提供的一种无线网络物理层的单核多任务调度方法中上行信道处理任务形成的任务队列的结构示意图;
图3是本申请实施例提供的一种无线网络物理层的单核多任务调度方法中信道估计子任务分布的结构示意图;
图4是本申请实施例提供的一种无线网络物理层的单核多任务调度方法中第一类型信道与信号处理任务时间片分配的流程示意图;
图5是本申请实施例提供的一种无线网络物理层的单核多任务调度方 法中第二类型信道与信号处理任务时间片分配的流程示意图;
图6是本申请实施例提供的一种无线网络物理层的单核多任务调度***的结构示意图;
图7本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1描述本申请实施例的无线网络物理层的单核多任务调度方法,包括:S101,从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;
其中,无线网络可以是5G无线网络、LTE(Long Term Evolution,长期演进)无线网络等。物理层通过传输信道为网络层提供信息传输的服务,此外物理层还需要完成参考信号的发送和接收处理。物理层传输信道可以分为上行信道和下行信道,信号可以分为上行信号和下行信号。其中,常见的上行信道有PRACH(Physical Random Access Channel,物理随机接入信道)、PUSCH(Physical Uplink Shared Channel,物理共享信道)和PUCCH(Physical Uplink Control Channel,物理上行链路控制信道),下行信道有PBCH(Physical Broadcast Channel,物理广播信道)、PDSCH(Physical Downlink Shared Channel,物理下行共享信道)、PDCCH(Physical Downlink Control Channel,物理下行控制信道)和SSB(Synchronization Signal and PBCH block,同步信号和PBCH块),上下行信号有SRS(Sounding Reference Signal,信道探测参考信号)、PSS(Primary Synchronization Signal,主同步信号)/SSS(Secondary Synchronization Signal,辅同步信号)、CSI-RS(Channel State Information Reference Signal,信道状态信息参考信号)。每种信道和信号对应的工作不同。通过网络层可以获取当前小区的配置,确定当前小区需要处理的信道和信号处理任务。信道和信号处理任务根据信道和信号的工作分成若干个信道与信号处理任务,例如PUSCH处理任 务、PUCCH处理任务等。
S102,按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;
其中,预先获取的优先级从高到低的顺序根据物理层上下行调度任务的优先级关系预先设定。调度任务的优先级关系根据任务的时效性和任务本身的特点进行确定。例如,处理数据和控制信道的任务优先级高于处理PRACH信道和上下行信号的任务。其中,PUSCH处理任务完成上行码流数据解码处理,需要在一个时间单位内完成,其优先级最高,因此排在第一位;PUCCH处理任务完成上行控制信息解码,需要在一个时间单位内完成,其优先级较高,排在第二位;PRACH和SRS(Sounding Reference Signal,上行探测参考信号)处理任务分别完成随机接入检测和SRS信号测量,其时效性不高,因此分别排在第三和第四位。
获取小区的信道和信号处理任务后,根据预先获取的优先级从高到低的顺序对各信道和信号处理任务进行排序,根据排序顺序依次处理获取的信道和信号处理任务。每个信道和信号处理任务又包含多个子任务,如PUSCH处理任务包含PUSCH时域预处理子任务和PUSCH信道估计子任务。每个子任务按照预设的顺序进行排列。信道和信号处理任务根据顺序排序后,可以得到一个任务队列。如图2为上行信道处理任务形成的任务队列。
S103,根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
具体地,根据任务队列的排序可以确定当前待调度的任务,根据子任务的开销时间可以确定调度该子任务的时间开销,然后结合当前时间段的情况,确定是否调度该子任务。通过这种调度方法,不仅可以确保优先级高的任务先被调度,而且可以合理地分配时间片。
本实施例通过获取小区的信道和信号处理任务,将所有信道和信号处理任务按照优先级从高到低的顺序进行排序,按照信道和每个信道和信号处理任务的排序和子任务的时间开销对子任务进行调度。一方面直接根据信道和信号处理任务的排序顺序对其子任务依次调度,确定调度的子任务 方法简单,计算速度快;另一方面在对子任务调度之前已获知每个子任务的时间开销,根据子任务的时间开销实时调度子任务,能够合理分配时间片,充分有效利用资源,提高任务调度的效率。
在上述实施例的基础上,本实施例中计算每个信道和信号处理任务中各子任务的时间开销的步骤包括:获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值;其中,所述关键值任务为时间开销与一个或多个关键值成线性关系的任务,所述关键值为与任务的时间开销相关的任务参数值,所述非关键值任务为时间开销与关键值无关的任务;
其中,每个子任务包含关键值任务和非关键值任务。例如,信道估计子任务包含的关键值任务有数据读取和信道估计,非关键值任务有消息接收和消息发送。对于每个子任务可以将其转换为关键值任务和非关键值任务的组合。为便于调度每个子任务,对每个子任务进行连续编号,并根据编号对子任务中的关键值任务和非关键值任务设置索引,并将关键值任务和非关键值的时间开销基准值保存在数组T spend中,输入索引就可以查询任一关键值任务或非关键值任务。如图3所示即为信道估计子任务转换成关键值和非关键值任务的队列。
关键值任务是时间开销与一个或多个关键值成线性关系的任务,即,若某任务有一个关键值,关键值为1时的时间开销为t,关键值为n时的时间开销为n*t。例如,信道估计关键值任务的基准操作为1个符号上的1个子载波的数据与本地导频的数据做共轭相乘,基准操作流程固定因而时间开销也不会变化,因此信道估计关键值任务的总时间开销与导频符号个数sym_num和子载波个数sc_num成线性关系。信道估计关键值任务中的关键值为符号个数和子载波个数。关键值任务ChannelEstimate_KeyJob和关键值sym_num、sc_num的伪代码可表示如下:
Figure PCTCN2021115711-appb-000001
其中,关键值任务的基准操作为f_dmrs_conj_mul(),若基准操作的时间开销为t base,则关键值任务的时间开销为t ch_est=t base*sym_num*sc_num。因为t base不变,所以t ch_est只与关键值sym_num和sc_num成正比的线性关系,采用此方法,关键值任务的时间开销可以做到准确量化。时间开销的基准值指基准操作的时间开销,信道估计关键值任务的基准操作为1个符号上的1个子载波的数据与本地导频的数据做共轭相乘,执行该基准操作的时间开销即为时间开销基准值。
非关键值任务是指其执行流程固定,不与其他因素相关,其时间开销基本不变。例如,接收消息非关键值任务用于完成固定大小的消息接收和解析,耗时基本不变。
在每个时隙开始前从所述接口协议中的数据链路层下发的调度消息中获取所述关键任务的关键值;根据每个子任务下各关键值任务和非关键值任务的时间开销基准值,以及各关键值任务的关键值,获取每个子任务的时间开销。
以信道估计子任务为例,其包含两个关键值任务DataLoad_KeyJob和ChannelEstimate_KeyJob。从L2的调度消息中获取导频的符号数和资源块数,计算可以得到对应的两个关键值,即符号数目sym_num和子载波数目sc_num。然后,从专门记录任务时间开销的数组Tspend中获取到这两个关键值任务的时间基准值,分别为Tspend[l]和Tspend[l+2],则根据线性关系,可以计算得到这两个关键值任务的时间开销分别为Tspend[l]*sym_num*sc_num和Tspend[l+2]*sym_num*sc_num。
再从Tspend中直接获取两个非关键值任务的时间基准值,为Tspend[l+1]和Tspend[l+3]。最后计算整个信道估计子任务的时间开销为
Figure PCTCN2021115711-appb-000002
Figure PCTCN2021115711-appb-000003
这样就将信道估计子任务的时间开销根据实时参数做了准确量化。依次类推,完成当前时隙内所有子任务的时间开销计算。
在上述实施例的基础上,本实施例中获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值的步骤包括:多次测量各关键值任务的基准操作的开始时刻和结束时刻;根据各关键值任务的每次基准操作的 开始时刻和结束时刻计算各关键值任务的每次基准操作的时间开销;计算各关键值任务的多次基准操作的时间开销的平均值,将所述平均值作为各关键值任务的时间开销基准值;多次测量各非关键值任务,获取各非关键值任务的时间开销基准值。
具体地,对于非关键值任务和关键值任务,时间开销基准值利用***时钟,在任务开始前记录开始时刻t start,任务结束后记录结束时刻t stop,则时间开销t spend=t stop-t start。然后多次循环执行对t spend求平均,得到的平均值即为时间基准值。信道估计关键值任务的索引为l+2,则其时间基准值存放在T spend[l+2]中,消息接收任务的索引为l,则其时间基准存放在T spend[l]中。本实施例将任务索引保存到专门的数组T spend中,后面使用时直接用索引查询即可。
在上述实施例的基础上,本实施例中所述子任务包括流程控制类任务和算法处理类任务;其中,所述流程控制类任务下的任务间通信、消息读写和任务派发为非关键值任务;所述算法处理类任务的各环节为关键值任务。
具体地,根据子任务的不同类型将其分为关键任务和非关键任务,每个子任务中关键值任务和非关键值任务通过串行相接的方式组合。
在上述各实施例的基础上,本实施例中根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度的步骤包括:对于当前时隙,根据所述信道和信号处理任务的排序依次为所述信道和信号处理任务分配时间片;若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配;若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配。
具体地,当前时隙获取到信道和信号处理任务后,在对信道和信号处理任务分配时间片前,需要确定信道或信号处理任务的类型。不同类型的处理任务对时效性的要求不一样。若某信道或信号处理任务的类型为第一类型,则需要在单时隙内完成执行完该信道或信号处理任务中包含的所有子任务,因此在对其进行时间片分配时,应当综合考虑该信道或信号处理任务中所有子任务的时间开销。如图2,PUSCH处理任务需要在一个时隙 完成,PUSCH处理任务包含PUSCH时域预处理子任务、PUSCH信道估计子任务、PUSCH信道均衡子任务、PUSCH解映射解调解码子任务和PUSCH上报子任务,综合考虑所有子任务的时间开销作为时间片分配的依据。
若某信道或信号处理任务的类型为第二类型,则信道或信号处理任务包含的子任务可以在多个时隙内完成,即若当前时隙有部分子任务未完成,可以在下一个时隙完成该子任务。因此,对其进行时间片分配时,将单个子任务的开销时间作为时间片分配的依据。如图2,PRACH处理任务可以在多个时隙完成,PRACH处理任务包含PRACH时域预处理子任务、PRACH检测子任务和PRACH上报子任务,若PRACH检测子任务和PRACH上报子任务在当前时隙未完成,则可以在下个时隙完成。在当前时隙只为PRACH时域预处理子任务分配时间片。
在对信道和信号处理任务进行时间片分配时,按照排序以及每个信道和信号处理任务不同的时效性需求分配时间片,使得时间片分配更加合理,充分有效利用资源,并且调度更加准确有序。此外还可以确保每个分配时间片的信道和信号处理任务都能执行。
在上述实施例的基础上,本实施例中若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配的步骤包括:若任一任意信道或信号处理任务的类型为第一类型且该信道或信号处理任务未分配时间片,则将该信道或信号处理任务的所有子任务的时间开销相加,获取该信道或信号处理任务的时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片;若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务整体分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销。
具体地,某信道或信号处理任务有一个待调度标志Flgallowwait,表示当前时隙有Flgallowwait个子任务待调度,Flgallowwait的值最小等于0表示当前时隙没有待调度的子任务,最大等于该信道与信号处理任务中包含的子任务个数Nmux,表示当前时隙所有的子任务均为待调度状态。该 信道与信号处理任务有两个允许调度标志Flgallowstart和Flgallowend,表示当前时隙允许该任务从编号为Flgallowstart的子任务开始调度一直到编号为Flgallowend的子任务结束,允许调度标志的范围是1到Nmux。若该信道或信号处理任务的类型为第一类型且该信道或信号处理任务未分配时间片,即待调度标志为Nmux,则将该信道或信号处理任务中的所有子任务作为一个整体进行调度。调度前要将所有子任务的开销时间相加得到该信道或信号处理任务的开销时间,判断开销时间是否满足时间片分配的要求。若满足时间片分配的要求,则为该信道或信号处理任务整体分配时间片,调度所有的子任务;否则,在当前时隙不为该信道或信号处理任务分配时间片,当前时隙的剩余时间片长度不变且不调度该信道或信号处理任务中的任一子任务。第一类型的信道或信号处理任务时间片分配流程如图4所示。
在上述实施例的基础上,本实施例中若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配的步骤包括:若任一任意信道或信号处理任务的类型为第二类型且该信道或信号处理任务存在未分配时间片的子任务,则将该信道或信号处理任务未分配时间片的子任务的时间开销相加,获取该信道或信号处理任务的时间开销;若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务中所有未分配时间片的子任务分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则从所述未分配时间片的子任务中选择部分子任务分配时间片,并计算选择的部分子任务的总时间开销,将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去选择的部分子任务的总时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,并且未分配时间片的子任务中任一子任务的时间开销均大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片。
具体地,若当前时隙待调度的信道或信号处理任务的类型为第二类型,则以其子任务为最小单位进行调度,即以单个子任务的开销时间作为时间 片分配的依据。若当前时隙是该信道或信号处理任务的开始时隙,表示该任务为新任务,所有子任务都为待调度状态,则Flgallowwait=Nmux;若当前时隙不是该信道或信号处理任务的开始时隙,表示该任务不为新任务,待调度子任务数等于总子任务数减去前面已调度的子任务数,则Flgallowwait=Nmux-Flgallowend。将当前时隙所有待调度的子任务的开销时间相加,得到该信道或信号处理任务的时间开销,然后判断开销时间是否满足时间片分配的要求,若满足时间片分配的要求,则为该信道或信号处理任务分配时间片,调度所有待调度的子任务。若不满足时间片分配的要求,则无法为所有待调度的子任务全部分配时间片,只能从中选择N tmp个待调度的子任务对其分配时间片。其中选择的部分待调度的子任务需要满足预设的条件。其中N tmp需满足的条件是N tmp个子任务的时间开销之和小于等于当前时隙的剩余时间片长度,但N tmp+1个待调度的子任务的时间开销之和大于当前时隙的剩余时间片长度。未选择的待调度的子任务可以在下个时隙为其分配时间片。若N tmp个子任务中任一子任务的时间开销均大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片,待调度的N tmp个子任务可以在下个时隙为其分配时间片。第二类型的信道或信号处理任务时间片分配流程如图5所示。
下面对本申请实施例提供的无线网络物理层的单核多任务调度***进行描述,下文描述的无线网络物理层的单核多任务调度***与上文描述的无线网络物理层的单核多任务调度方法可相互对应参照。
如图6示,本实施例提供的无线网络物理层的单核多任务调度***,包括获取模块601、处理模块602和调度模块603;
其中,获取模块601用于从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;
其中,无线网络可以是5G无线网络、LTE无线网络等。物理层通过传输信道为网络层提供信息传输的服务,此外物理层还需要完成参考信号的发送和接收处理。物理层传输信道可以分为上行信道和下行信道,信号可以分为上行信号和下行信号。每种类型的信道和信号对应的工作不同。通过网络层可以获取当前小区的配置,确定当前小区需要处理的信道和信号处理任务。信道和信号处理任务根据信道和信号的工作分成若干个信道 与信号处理任务。
处理模块602,用于按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;
其中,预先获取的优先级从高到低的顺序根据物理层上下行调度任务的优先级关系预先设定。调度任务的优先级关系根据任务的时效性和任务本身的特点进行确定。获取小区的信道和信号处理任务后,根据预先获取的优先级从高到低的顺序对各信道和信号处理任务进行排序,根据排序顺序依次处理获取的信道和信号处理任务。每个信道和信号处理任务又包含多个子任务。
调度模块603,用于根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
具体地,根据任务队列的排序可以确定当前待调度的任务,根据子任务的开销时间可以确定调度该子任务的时间开销,然后结合当前时间段的情况,确定是否调度该子任务。通过这种调度方法,不仅可以确保优先级高的任务先被调度,而且可以合理地分配时间片。
本实施例通过获取小区的信道和信号处理任务,将所有信道和信号处理任务按照优先级从高到低的顺序进行排序,按照信道和每个信道和信号处理任务的排序和子任务的时间开销对子任务进行调度。一方面直接根据信道和信号处理任务的排序顺序对其子任务依次调度,确定调度的子任务方法简单,计算速度快;另一方面在对子任务调度之前已获知每个子任务的时间开销,根据子任务的时间开销实时调度子任务,能够合理分配时间片,充分有效利用资源,提高任务调度的效率。
在上述实施例的基础上,本实施例中处理模块还用于:获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值;其中,所述关键值任务为时间开销与一个或多个关键值成线性关系的任务,所述关键值为与任务的时间开销相关的任务参数值,所述非关键值任务为时间开销与关键值无关的任务;在每个时隙开始前从所述接口协议中的数据链路层下发的调度消息中获取所述关键任务的关键值;根据每个子任务下各关键值任务和非关键值任务的时间开销基准值,以及各关键值任务的关键值,获取 每个子任务的时间开销。
在上述实施例的基础上,本实施例中计算模块具体用于:多次测量各关键值任务的基准操作的开始时刻和结束时刻;根据各关键值任务的每次基准操作的开始时刻和结束时刻计算各关键值任务的每次基准操作的时间开销;计算各关键值任务的多次基准操作的时间开销的平均值,将所述平均值作为各关键值任务的时间开销基准值;对各非关键值任务直接进行测试,获取各非关键值任务的时间开销基准值。
在上述实施例的基础上,本实施例中所述子任务包括流程控制类任务和算法处理类任务;其中,所述流程控制类任务下的任务间通信、消息读写和任务派发为非关键值任务;所述算法处理类任务的各环节为关键值任务。
在上述实施例的基础上,本实施例中调度模块还用于:对于当前时隙,根据所述信道和信号处理任务的排序依次为所述信道和信号处理任务分配时间片;若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配;若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配。
在上述实施例的基础上,本实施例中调度模块还用于:若任一任意信道或信号处理任务的类型为第一类型且该信道或信号处理任务未分配时间片,则将该信道或信号处理任务的所有子任务的时间开销相加,获取该信道或信号处理任务的时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片;若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务整体分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销。
在上述实施例的基础上,本实施例中调度模块还用于:若任一任意信道或信号处理任务的类型为第二类型且该信道或信号处理任务存在未分配时间片的子任务,则将该信道或信号处理任务未分配时间片的子任务的时间开销相加,获取该信道或信号处理任务的时间开销;若该信道或信号 处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务中所有未分配时间片的子任务分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则从所述未分配时间片的子任务中选择部分子任务分配时间片,并计算选择的部分子任务的总时间开销,将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去选择的部分子任务的总时间开销;若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,并且未分配时间片的子任务中任一子任务的时间开销均大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行无线网络物理层的单核多任务调度方法,该方法包括:从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的无线网络物理层的单核多任务调度方法,该方法包括:从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
又一方面,本申请实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的无线网络物理层的单核多任务调度方法,该方法包括:从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在 计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

  1. 一种无线网络物理层的单核多任务调度方法,其特征在于,包括:
    从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;
    按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;
    根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
  2. 根据权利要求1所述的无线网络物理层的单核多任务调度方法,其特征在于,计算每个信道和信号处理任务中各子任务的时间开销的步骤包括:
    获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值;其中,所述关键值任务为时间开销与一个或多个关键值成线性关系的任务,所述关键值为与任务的时间开销相关的任务参数值,所述非关键值任务为时间开销与关键值无关的任务;
    在每个时隙开始前从所述接口协议中的数据链路层下发的调度消息中获取所述关键任务的关键值;
    根据每个子任务下各关键值任务和非关键值任务的时间开销基准值,以及各关键值任务的关键值,获取每个子任务的时间开销。
  3. 根据权利要求2所述的无线网络物理层的单核多任务调度方法,其特征在于,获取每个子任务下的各关键值任务和非关键值任务的时间开销基准值的步骤包括:
    多次测量各关键值任务的基准操作的开始时刻和结束时刻;
    根据各关键值任务的每次基准操作的开始时刻和结束时刻计算各关键值任务的每次基准操作的时间开销;
    计算各关键值任务的多次基准操作的时间开销的平均值,将所述平均值作为各关键值任务的时间开销基准值;
    对各非关键值任务直接进行测试,获取各非关键值任务的时间开销基准值。
  4. 根据权利要求2所述的无线网络物理层的单核多任务调度方法,其特征在于,所述子任务包括流程控制类任务和算法处理类任务;
    其中,所述流程控制类任务下的任务间通信、消息读写和任务派发为非关键值任务;
    所述算法处理类任务的各环节为关键值任务。
  5. 根据权利要求1-4任一所述的无线网络物理层的单核多任务调度方法,其特征在于,根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度的步骤包括:
    对于当前时隙,根据所述信道和信号处理任务的排序依次为所述信道和信号处理任务分配时间片;
    若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配;
    若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配。
  6. 根据权利要求5所述的无线网络物理层的单核多任务调度方法,其特征在于,若任一信道或信号处理任务的类型为第一类型,则以该信道或信号处理任务为单位进行时间片分配的步骤包括:
    若任一任意信道或信号处理任务的类型为第一类型且该信道或信号处理任务未分配时间片,则将该信道或信号处理任务的所有子任务的时间开销相加,获取该信道或信号处理任务的时间开销;
    若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片;
    若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务整体分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销。
  7. 根据权利要求5所述的无线网络物理层的单核多任务调度方法,其特征在于,若任一所述信道或信号处理任务的类型为第二类型,则以该信道或信号处理任务的子任务为单位进行时间片分配的步骤包括:
    若任一任意信道或信号处理任务的类型为第二类型且该信道或信号 处理任务存在未分配时间片的子任务,则将该信道或信号处理任务未分配时间片的子任务的时间开销相加,获取该信道或信号处理任务的时间开销;
    若该信道或信号处理任务的时间开销小于或等于当前时隙的剩余时间片长度,则为该信道或信号处理任务中所有未分配时间片的子任务分配时间片,并将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去该信道或信号处理任务的时间开销;
    若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,则从所述未分配时间片的子任务中选择部分子任务分配时间片,并计算选择的部分子任务的总时间开销,将当前时隙的剩余时间片长度更新为当前时隙的剩余时间片长度减去选择的部分子任务的总时间开销;
    若该信道或信号处理任务的时间开销大于当前时隙的剩余时间片长度,并且未分配时间片的子任务中任一子任务的时间开销均大于当前时隙的剩余时间片长度,则在当前时隙不为该信道或信号处理任务分配时间片。
  8. 一种无线网络物理层的单核多任务调度***,其特征在于,包括:
    获取模块,用于从无线网络的接口协议中的网络层获取小区的配置,从小区的配置中获取所述小区的信道和信号处理任务;
    处理模块,用于按照每个信道和信号处理任务的预先获取的优先级从高到低的顺序,对所述小区的所有信道和信号处理任务进行排序,并计算每个信道和信号处理任务的各子任务的时间开销;
    调度模块,用于根据所述信道和信号处理任务的排序和各子任务的时间开销,对每个信道和信号处理任务中的子任务进行调度。
  9. 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述无线网络物理层的单核多任务调度方法的步骤。
  10. 一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述无线网络物理层的单核多任务调度方法的步骤。
PCT/CN2021/115711 2020-10-21 2021-08-31 无线网络物理层的单核多任务调度方法及*** WO2022083297A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011129851.8 2020-10-21
CN202011129851.8A CN112383964B (zh) 2020-10-21 2020-10-21 无线网络物理层的单核多任务调度方法及***

Publications (1)

Publication Number Publication Date
WO2022083297A1 true WO2022083297A1 (zh) 2022-04-28

Family

ID=74580368

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/115711 WO2022083297A1 (zh) 2020-10-21 2021-08-31 无线网络物理层的单核多任务调度方法及***

Country Status (2)

Country Link
CN (1) CN112383964B (zh)
WO (1) WO2022083297A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383964B (zh) * 2020-10-21 2022-07-19 武汉虹信科技发展有限责任公司 无线网络物理层的单核多任务调度方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463099A (zh) * 2003-06-18 2003-12-24 清华大学 用于ofdm下保障实时业务服务质量的调度方法
CN101541072A (zh) * 2009-04-16 2009-09-23 北京天碁科技有限公司 一种移动通信终端及其调度方法
CN101610551A (zh) * 2008-06-20 2009-12-23 普天信息技术研究院有限公司 一种hsupa的资源调度方法
CN103906257A (zh) * 2014-04-18 2014-07-02 北京邮电大学 基于gpp的lte宽带通信***计算资源调度器及其调度方法
WO2018223932A1 (zh) * 2017-06-05 2018-12-13 捷开通讯(深圳)有限公司 一种基于gpp的5g终端通用平台优化方法及***
CN112383964A (zh) * 2020-10-21 2021-02-19 武汉虹信科技发展有限责任公司 无线网络物理层的单核多任务调度方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102573073B (zh) * 2011-01-04 2015-01-28 中兴通讯股份有限公司 一种终端物理层资源分配方法及***
CN104536835B (zh) * 2014-12-12 2018-02-06 北京控制工程研究所 一种热备份实时控制***中自适应任务调度方法
CN105204857B (zh) * 2015-09-21 2018-08-07 中国船舶重工集团公司第七〇五研究所 一种基于“轮询式”多时间片精确调度的嵌入式控制***设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463099A (zh) * 2003-06-18 2003-12-24 清华大学 用于ofdm下保障实时业务服务质量的调度方法
CN101610551A (zh) * 2008-06-20 2009-12-23 普天信息技术研究院有限公司 一种hsupa的资源调度方法
CN101541072A (zh) * 2009-04-16 2009-09-23 北京天碁科技有限公司 一种移动通信终端及其调度方法
CN103906257A (zh) * 2014-04-18 2014-07-02 北京邮电大学 基于gpp的lte宽带通信***计算资源调度器及其调度方法
WO2018223932A1 (zh) * 2017-06-05 2018-12-13 捷开通讯(深圳)有限公司 一种基于gpp的5g终端通用平台优化方法及***
CN112383964A (zh) * 2020-10-21 2021-02-19 武汉虹信科技发展有限责任公司 无线网络物理层的单核多任务调度方法及***

Also Published As

Publication number Publication date
CN112383964A (zh) 2021-02-19
CN112383964B (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
CN113243005A (zh) 按需网络代码执行***中的基于性能的硬件仿真
JP5573957B2 (ja) 通信ネットワークにおけるリソース配分方法及び装置
CN110475356A (zh) 确定下行控制信息的方法和设备
Lee et al. Makespan minimization in online scheduling with machine eligibility
EP2426871B1 (en) Method and device for scheduling data communication input ports
CN113448743B (zh) 用于任务处理的方法、电子设备以及计算机程序产品
EP2805561B1 (en) Resource allocation in an orthogonal frequency division multiplexing system
CN112540841B (zh) 任务调度的方法、装置、处理器与电子设备
CN109600835A (zh) 确定资源分配、指示资源分配的方法、终端及网络侧设备
US20220342719A1 (en) Autonomous virtual radio access network control
CN106569892B (zh) 资源调度方法与设备
WO2022083297A1 (zh) 无线网络物理层的单核多任务调度方法及***
CN111966943A (zh) 流式数据分发方法和***
CN106878389B (zh) 用于在云***中进行资源调度的方法和装置
US20180376489A1 (en) Integrated scheduler for scheduling with x-haul capacity constraints
CN112015549B (zh) 一种基于服务器集群的调度节点的选择抢占方法及***
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN111163526B (zh) 下行资源映射方法、装置、计算机设备和存储介质
CN116149821A (zh) 一种集群多任务滑窗调度处理方法、***、设备及介质
CN113934529A (zh) 多级别核心的任务调度方法、装置、***和存储介质
WO2018188369A1 (zh) 一种资源调度方法及装置
CN102186248A (zh) 一种用于干扰协调的调度方法和设备
WO2024055729A1 (zh) 信道资源的映射方法和装置、存储介质及电子装置
WO2018072259A1 (zh) 一种资源调度方法及装置
CN116820729A (zh) 离线任务调度方法、装置及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21881716

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21881716

Country of ref document: EP

Kind code of ref document: A1