  The back-pressure algorithm is a well-known throughput-optimal algorithm.
However, its delay performance may be quite poor even when the traffic load is
not close to network capacity due to the following two reasons. First, each
node has to maintain a separate queue for each commodity in the network, and
only one queue is served at a time. Second, the back-pressure routing algorithm
may route some packets along very long routes. In this paper, we present
solutions to address both of the above issues, and hence, improve the delay
performance of the back-pressure algorithm. One of the suggested solutions also
decreases the complexity of the queueing data structures to be maintained at
each node.
