Method and device for scheduling communication schedulable unit
First Claim
1. A method of scheduling communication schedulable units, CSUs, belonging to different owners in a radio communication device using multiple processors, wherein the CSUs can be processed in parallel by at least two of the processors, comprising:
- maintaining a global CSU list and an owner waiting list, wherein the global CSU list includes CSUs waiting to be processed and in the global CSU list, the CSUs waiting to be processed are ordered according to time stamps of the CSUs waiting to be processed, wherein the owner waiting list includes owners that have no CSU being processed by the processors and in the owner waiting list the owners that have no CSU being processed are ordered according to time stamps of their respective earliest CSUs waiting to be processed in the global CSU list; and
when one of the processors finishes processing a first CSU of a first owner, scheduling a CSU to be processed next by the processor according to the order of the CSUs by the time stamps and CSU affinity, based on the global CSU list and the owner waiting list,wherein the scheduling comprises;
obtaining a second CSU waiting to be processed that belongs to the first owner, the second CSU has a minimum time stamp among the CSUs waiting to be processed that belong to the first owner;
locating a head owner from the owner waiting list, the head owner'"'"'s earliest CSU waiting to be processed has a minimum time stamp among the owners in the owner waiting list;
locating a third CSU in the global CSU list which is the head owner'"'"'s earliest CSU waiting to be processed;
calculating a disparity between a first time stamp of the second CSU and a second time stamp of the third CSU; and
when the disparity that the first time stamp is later than the second time stamp exceeds a predefined threshold, inserting the first owner back to the owner waiting list according to the first time stamp, removing the head owner from the owner waiting list and processing the third CSU of the head owner by the processor, otherwise processing the second CSU by the processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Communication schedulable units (CSUs) belonging to different owners in a radio communication device are scheduled to use multiple processors. The CSUs under different owners can be processed in parallel by the different processors. A global CSU list and an owner waiting list are maintained. The global CSU list may include the CSUs waiting to be processed and the CSUs are ordered according to the time stamps of the CSUs. The owner waiting list may include the owners that have no CSU being processed and the owners are ordered according to the time stamps of their respective earliest CSUs waiting to be processed in the global CSU list. When one of the processors finishes processing a first CSU of a first owner, a CSU to be processed next is scheduled according to the CSU time order and the CSU affinity, based on the global CSU list and the owner waiting list.
8 Citations
23 Claims
-
1. A method of scheduling communication schedulable units, CSUs, belonging to different owners in a radio communication device using multiple processors, wherein the CSUs can be processed in parallel by at least two of the processors, comprising:
-
maintaining a global CSU list and an owner waiting list, wherein the global CSU list includes CSUs waiting to be processed and in the global CSU list, the CSUs waiting to be processed are ordered according to time stamps of the CSUs waiting to be processed, wherein the owner waiting list includes owners that have no CSU being processed by the processors and in the owner waiting list the owners that have no CSU being processed are ordered according to time stamps of their respective earliest CSUs waiting to be processed in the global CSU list; and when one of the processors finishes processing a first CSU of a first owner, scheduling a CSU to be processed next by the processor according to the order of the CSUs by the time stamps and CSU affinity, based on the global CSU list and the owner waiting list, wherein the scheduling comprises; obtaining a second CSU waiting to be processed that belongs to the first owner, the second CSU has a minimum time stamp among the CSUs waiting to be processed that belong to the first owner; locating a head owner from the owner waiting list, the head owner'"'"'s earliest CSU waiting to be processed has a minimum time stamp among the owners in the owner waiting list; locating a third CSU in the global CSU list which is the head owner'"'"'s earliest CSU waiting to be processed; calculating a disparity between a first time stamp of the second CSU and a second time stamp of the third CSU; and when the disparity that the first time stamp is later than the second time stamp exceeds a predefined threshold, inserting the first owner back to the owner waiting list according to the first time stamp, removing the head owner from the owner waiting list and processing the third CSU of the head owner by the processor, otherwise processing the second CSU by the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of scheduling communication schedulable units, CSUs, belonging to different owners in a radio communication device using multiple processors, wherein the CSUs can be processed in parallel by at least two of the processors, comprising:
-
maintaining a global CSU list and an owner waiting list, wherein the global CSU list includes CSUs waiting to be processed and in the global CSU list, the CSUs waiting to be processed are ordered according to time stamps of the CSUs waiting to be processed, wherein the owner waiting list includes owners that have no CSU being processed by the processors and in the owner waiting list the owners that have no CSU being processed are ordered according to time stamps of their respective earliest CSUs waiting to be processed in the global CSU list; when one of the processors finishes processing a first CSU of a first owner, scheduling a CSU to be processed next by the processor according to the order of the CSUs by the time stamps and CSU affinity, based on the global CSU list and the owner waiting list; deriving one or more sub-owners from a particular owner, wherein each sub-owner owns different parts of CSUs originally belonging to the particular owner, at least part of the CSUs belonging to different sub-owners can be processed in parallel; and if there are processing dependencies among the CSUs respectively belonging to the different sub-owners; maintaining a blocking list which includes blocking nodes each standing for a blocked CSU waiting to be processed, the blocking nodes are ordered according to the time stamp of the corresponding blocked CSUs; and when all the CSUs on which a blocked CSU has processing dependency have been processed, removing the blocking node corresponding to the blocked CSU from the blocking list, and if there is no idle processor available among the multiple processors to process the blocked CSU, inserting the sub-owner owning the blocked CSU back to the owner waiting list based on the position of the blocked CSU in the global CSU list, otherwise processing the blocked CSU directly by using an idle processor. - View Dependent Claims (11, 12)
-
-
13. A radio communication device having multiple processors and being adapted for scheduling communication schedulable units, CSUs, belonging to different owners wherein the CSUs can be processed in parallel by at least two of the processors, comprising:
-
a first maintaining unit adapted to maintain a global CSU list and an owner waiting list, wherein the global CSU list includes CSUs waiting to be processed and in the global CSU list, the CSUs waiting to be processed are ordered according to time stamps of the CSUs waiting to be processed, wherein the owner waiting list includes owners that have no CSU being processed by the processors and in the owner waiting list, the owners that have no CSU being processed are ordered according to time stamps of their respective earliest CSUs waiting to be processed in the global CSU list; and a scheduling unit adapted to, when one of the processors finishes processing a first CSU of a first owner, schedule a CSU to be processed next by the processor according to the order of the CSUs by the time stamps and CSU affinity, based on the global CSU list and the owner waiting list, and further adapted to; obtain a second CSU waiting to be processed that belongs to the first owner, the second CSU has a minimum time stamp among the CSUs waiting to be processed that belong to the first owner; locate a head owner from the owner waiting list, the head owner'"'"'s earliest CSU waiting to be processed has a minimum time stamp among the owners in the owner waiting list; locate a third CSU in the global CSU list which is the head owner'"'"'s earliest CSU waiting to be processed; calculate a disparity between a first time stamp of the second CSU and a second time stamp of the third CSU; and when the disparity that the first time stamp is later than the second time stamp exceeds a predefined threshold, insert the first owner back to the owner waiting list according to the first time stamp, remove the head owner from the owner waiting list and process the third CSU of the head owner by the processor, otherwise process the second CSU by the processor. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A radio communication device having multiple processors and being adapted for scheduling communication schedulable units, CSUs, belonging to different owners wherein the CSUs can be processed in parallel by at least two of the processors, comprising:
-
a first maintaining unit adapted to maintain a global CSU list and an owner waiting list, wherein the global CSU list includes CSUs waiting to be processed and in the global CSU list, the CSUs waiting to be processed are ordered according to time stamps of the CSUs waiting to be processed, wherein the owner waiting list includes owners that have no CSU being processed by the processors and in the owner waiting list, the owners that have no CSU being processed are ordered according to time stamps of their respective earliest CSUs waiting to be processed in the global CSU list; a scheduling unit adapted to, when one of the processors finishes processing a first CSU of a first owner, schedule a CSU to be processed next by the processor according to the order of the CSUs by the time stamps and CSU affinity, based on the global CSU list and the owner waiting list; a deriving unit adapted to derive one or more sub-owners from a particular owner, wherein each sub-owner owns different parts of CSUs originally belonging to the particular owner, at least part of the CSUs belonging to different sub-owners can be processed in parallel; and a blocking unit adapted to, if there are processing dependencies among the CSUs respectively belonging to the different sub-owners, perform the following; maintaining a blocking list which includes blocking nodes each standing for a blocked CSU waiting to be processed, the blocking nodes are ordered according to the time stamp of the corresponding blocked CSUs; and when all the CSUs on which a blocked CSU has processing dependency have been processed, removing the blocking node corresponding to the blocked CSU from the blocking list, and if there is no idle processor available among the multiple processors to process the blocked CSU, inserting the sub-owner owning the blocked CSU back to the owner waiting list based on the position of the blocked CSU in the global CSU list, otherwise processing the blocked CSU directly by using an idle processor. - View Dependent Claims (22, 23)
-
Specification