William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/56
US Classification:
370412, 370468, 3703954
Abstract:
A QoS scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling with detecting and anticipating the end of a chain of flows. A first indicator is provided for indicating a number of flows being chained to a physical entry. A second indicator is provided for indicating when the first indicator has saturated. The second indicator is set active for a flow whose chaining causes the first indicator to saturate. During de-chaining of the flows from the physical entry, the second indicator is used to determine when the first indicator becomes accurate to begin decrementing the first indicator. The first indicator is decremented for detecting the end of the chain of flows. Responsive to the first indicator being not saturated, the first indicator is used for anticipating the end of a chain of flows. The first indicator and the second indicator include a predefined number of bits or n-bits.
Jean Louis Calvignac - Cary NC, US William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US Marco C. Heddes - Cary NC, US Joseph Franklin Logan - Raleigh NC, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US Fabrice Jean Verplanken - La Gaude, FR
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/56
US Classification:
370369, 370469, 370392, 709238
Abstract:
A Network Processor (NP) is formed from a plurality of operatively coupled chips. The NP includes a Network Processor Complex (NPC) Chip coupled to a Data Flow Chip and Data Store Memory coupled to the Data Flow Chip. An optional Scheduler Chip is coupled to the Data Flow Chip. The named components are replicated to create a symmetric ingress and egress structure.
Qos Scheduler And Method For Implementing Quality Of Service With Cached Status Array
William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/56
US Classification:
3703954, 370462, 709225, 709234
Abstract:
A QoS scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling with a cached status array. A plurality of calendars are provided for scheduling the flows. An active flow indicator is stored for each calendar entry in a calendar status array (CSA). A cache copy subset of the active flow indicators from the calendar status array (CSA) is stored in a cache. The calendar status array (CSA) is updated based upon a predefined calendar range and resolution. The cache copy subset of the active flow indicators from the calendar status array (CSA) is used to determine a given calendar for servicing. The subset of the active flow indicators from the calendar status array (CSA) is used to increment a current pointer (CP) by an identified number of positions up to a current time (CT) value, where the identified number of positions is equal to a variable number of inactive flow indicators up to the current time (CT) value and the identified number of positions has a maximum value equal to a number of entries in the cache.
Qos Scheduler And Method For Implementing Quality Of Service With Aging Time Stamps
William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/56
US Classification:
3703954, 37039541, 37039542, 37039543, 370412
Abstract:
A scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling of a plurality of flows with aging time stamps. Subsets of time stamp data stored in a time stamp aging memory array are sequentially accessed. Each time stamp data subset contains time stamp data for a subplurality of flows. Guaranteed aging processing steps are performed for each flow utilizing the time stamp data subsets to identify and mark invalid calendar next time values. When a new frame arrival for an empty flow is identified, flow queue control block (FQCB) time stamp data and the flow time stamp data in the time stamp aging memory array are accessed. Based on the calendar to which the new frame is directed or the target calendar for the new frame, the target calendar next time valid bit of the time stamp aging memory array data is checked. When the target calendar next time valid bit is on, a target calendar next time value from the flow queue control block (FQCB) time stamp data is compared with a current time. When the target calendar next time is less than the current time, the target calendar next time valid bit is turned off to mark the target calendar next time as invalid.
Method And Apparatus For Varying Bandwidth Provided To Virtual Channels In A Virtual Path
Merwin Herscher Alferness - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04J 1/16
US Classification:
370235, 370399
Abstract:
In a scheduler circuit for a network processor, bandwidth assigned to a virtual path is allocated among virtual channels associated with the virtual path. The allocation of bandwidth among the virtual channels is varied dynamically as virtual channels become active or inactive.
Weighted Fair Queue Having Extended Effective Range
William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/56
US Classification:
370412, 370468, 3703954
Abstract:
A scheduler for a network processor includes a scheduling queue in which weighted fair queuing is applied to define a sequence in which flows are to be serviced. The scheduling queue includes at least a first subqueue and a second subqueue. The first subqueue has a first range and a first resolution, and the second subqueue has an extended range that is greater than the first range and a lower resolution that is less than the first resolution. Flows that are to be enqueued within the range of highest precision to the current pointer of the scheduling queue are attached to the first subqueue. Flows that are to be enqueued outside the range of highest precision from the current pointer of the scheduling queue are attached to the second subqueue. Numerous other aspects are provided.
Method And Apparatus For Improving The Fairness Of New Attaches To A Weighted Fair Queue In A Quality Of Service (Qos) Scheduler
William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/56 H04L 12/26
US Classification:
370413, 370231, 3702351, 370412, 370415, 370421
Abstract:
In a first aspect, a network processor includes a scheduler in which a scheduling queue is maintained. A last frame is dispatched from a flow queue maintained in the network processor, thereby emptying the flow queue. Data indicative of the size of the dispatched last frame is stored in association with the scheduler. A new frame corresponding to the emptied flow queue is received, and the flow corresponding to the emptied flow queue is attached to the scheduling queue. The flow is attached to the scheduling queue at a distance D from a current pointer for the scheduling queue. The distance D is determined based at least in part on the stored data indicative of the size of the dispatched last frame.
Weighted Fair Queue Having Adjustable Scaling Factor
William John Goetzinger - Rochester MN, US Glen Howard Handlogten - Rochester MN, US James Francis Mikos - Rochester MN, US David Alan Norgaard - Rochester MN, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
H04L 12/26 H04L 12/56
US Classification:
370235, 370412
Abstract:
A scheduler for a network processor includes a scheduling queue in which weighted fair queuing is applied. The scheduling queue has a range R. Flows are attached to the scheduling queue at a distance D from a current pointer for the scheduling queue. The distance D is calculated for each flow according to the formula D=((WF×FS)/SF), where WF is a weighting factor applicable to a respective flow; FS is a frame size attributable to the respective flow; and SF is a scaling factor. The scaling factor SF is adjusted depending on a comparison of the distance D to the range R.