Method and system for decentralized workload optimization in a data packet processing system using a multicore CPU
First Claim
Patent Images
1. A method for dynamically rebalancing packet traffic workloads in a multi-core computing system, the system comprising a first processor core and a second processor core, the method comprising:
- selecting a first traffic segment assigned to be processed by the first processor core, the first processor core having a first initial workload, wherein the first traffic segment is one of a plurality of traffic segments assigned to the first processor core and wherein the plurality of traffic segments are subsets of incoming data traffic;
reassigning the first traffic segment so that the first traffic segment will be processed by the second processor core if an increased workload of the second processor core upon receipt of the first traffic segment will not exceed a first workload level; and
determining, after reassigning the first traffic segment, whether a reduced workload of the first processor core is above, at or below a second workload level,after reassigning the first traffic segment, when the determined reduced workload is above the second workload level, selecting a second traffic segment assigned to be processed by the first processor core, wherein the second traffic segment is one of the plurality of traffic segments assigned to the first processor core and repeating the reassigning and determining steps for the second traffic segment.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for dynamically processing data across a plurality of processor cores in a multi-core computing environment for breaking down incoming data traffic into a plurality of segments and dynamically distribute and re-distribute the segments on an ongoing basis so as to allocate the handling of data traffic in a resource efficient manner.
-
Citations
16 Claims
-
1. A method for dynamically rebalancing packet traffic workloads in a multi-core computing system, the system comprising a first processor core and a second processor core, the method comprising:
-
selecting a first traffic segment assigned to be processed by the first processor core, the first processor core having a first initial workload, wherein the first traffic segment is one of a plurality of traffic segments assigned to the first processor core and wherein the plurality of traffic segments are subsets of incoming data traffic; reassigning the first traffic segment so that the first traffic segment will be processed by the second processor core if an increased workload of the second processor core upon receipt of the first traffic segment will not exceed a first workload level; and determining, after reassigning the first traffic segment, whether a reduced workload of the first processor core is above, at or below a second workload level, after reassigning the first traffic segment, when the determined reduced workload is above the second workload level, selecting a second traffic segment assigned to be processed by the first processor core, wherein the second traffic segment is one of the plurality of traffic segments assigned to the first processor core and repeating the reassigning and determining steps for the second traffic segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a first processor core that includes a first plurality of receiving queues; a second processor core that includes a second plurality of receiving queues; and a network interface controller (NIC) that receives incoming data traffic, generates a plurality of traffic segments based on the incoming data traffic and assigns a first traffic segment of the plurality of traffic segments to be processed by the first processor core, wherein the first processor core is associated with a first initial workload that includes the first traffic segment, wherein the first processor core reassigns the first traffic segment to the second processor core so that the first traffic segment will processed by the second processor core if an increased workload of the second processor core upon receipt of the first traffic segment will not exceed a first workload level, wherein the first processor core determines, after reassigning the first traffic segment, whether a reduced workload of the first processor core is above, at or below a second workload level, and wherein after reassigning the first traffic segment, when the determined reduced workload above the second workload level, the first processor core selects a second traffic segment of the plurality of traffic segments assigned to be processed by the first processor core and repeats the reassigning and determining steps for the second processor core. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium storing a set of instructions executable by a processor, the set of instructions, when executed by the processor, causing the processor to perform operations comprising:
-
selecting a first traffic segment assigned to be processed by the first processor core, the first processor core having a first initial workload, wherein the first traffic segment is one of a plurality of traffic segments assigned to the first processor core and wherein the plurality of traffic segments are subsets of incoming data traffic; reassigning the first traffic segment so that the first traffic segment will be processed by the second processor core if an increased workload of the second processor core upon receipt of the first traffic segment will not exceed a first workload level; and determining, after reassigning the first traffic segment, whether a reduced workload of the first processor core is above, at or below a second workload level, after reassigning the first traffic segment, when the determined reduced workload level is above the second workload level, selecting a second traffic segment assigned to be processed by the first processor core, wherein the second traffic segment is one of the plurality of traffic segments assigned to the first processor core and repeating the reassigning and determining steps for the second traffic segment.
-
Specification