Queues are scheduled for outputting data using a hierarchical tree. Each
level of the hierarchical tree includes multiple entries for storing
status information associated with the queues. For example, a given entry
of the tree stores multi-parameter status information associated with a
corresponding queue to be serviced. To determine which of the queues is
next in line for servicing, a logic circuit compares the multi-parameter
status information stored in two or more entries of the tree. The next
scheduled queue or highest priority queue in the tree is then serviced by
outputting at least some of its data.