Browse Prior Art Database

Load Balancer - Switch - Interface

IP.com Disclosure Number: IPCOM000015499D
Original Publication Date: 2002-Feb-01
Included in the Prior Art Database: 2003-Jun-20
Document File: 4 page(s) / 40K

Publishing Venue

IBM

Abstract

Load Balancer Switch Interface The interface between a network processor load balancer and the switch poses some special problems if the traffic from the balanced network processors should be accumulated into a single switch port: Fig 1 1. From the network processors towards the switch:

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 4

Load Balancer - Switch - Interface

    The interface between a network processor load balancer and
the switch poses some special problems if the traffic from the
balanced network processors should be accumulated into a single
switch port:

Fig 1

1. From the network processors towards the switch:

A switch supports several traffic priorities and a network
processor maintains a virtual output queue per supported switch
priority per switch output. The switch gives grants to the
network processor about which queue is allowed to send. The
switch can also quantify the amount of traffic it allows a
network processor to send in the form of credits. The question
is, how a load balancer between the switch and a number of
network processors forwards this flow control information to the
network processors, ensuring that the available bandwidth is
fairly shared among them. It cannot just broadcast the
information because a grant might allow only one cell to be sent,
while broadcasting might lead to at least one cell per network
processor to be sent.

1

[This page contains 1 picture or other non-text object]

Page 2 of 4

2. From the switch towards the network processors:

Packets arriving from the switch are fragmented into cells. If
the load balancing is to be done based on upper layer headers,
e.g. IP/TCP, these headers are only found in the first cell (if
they fit into one cell at all), i.e. subsequent cells cannot be
parsed for this balancing information.

Fig 2

Proposed Solution:

1. The load balancer implements a round-robin scheduler between
the network processors per priority per switch output to
forward grants/credits from the switch: For each
priority-output-combination it stores the last network
processor that has sent a cell of this queue. Next time the
switch allows traffic for this queue again, the next network
processor in round-robin fashion gets a grant signal from the
load balancer. With credits, the round-robin forwards only one
credit to a network processor at a time and then goes on to
the next network processor. It stops when no credits are left
for the respective queue. If a network processor does not have
anything to send then it is skipped. Other scheduling
algorithms can be used as well: e.g. if complete frames should
be forwarded from one network processor before advancing to
the next network processor then deficit round robin could be
used. In this environment, a round-robin scheduler is fair
because the cells are all the same size and thus every network
processor gets to send the same amount...