Fast and scalable priority queue architecture for high-speed

Document Sample
Fast and scalable priority queue architecture for high-speed Powered By Docstoc
					  Fast and scalable priority queue
architecture for high-speed network

     Ranjita Bhagwan, Bill Lin

Center for wireless communications
 university of California, San Diego

          Infocom 2000
    Future packet-switched integrated- service
     network should provide wide variety of real-
     time application diverse Qos requirement
1.   Average throughput
2.   End to end delay
3.   Cell loss rate
      must be satisfied at extremely high speeds
     without compromising on network utilization
    Priority queue architecture

   Highest priority first
   Maintain real-time sorting
   Fast hardware priority queue
   scalable
    Hardware-based sorted priority queue

   Calendar queues
   Binary-tree-of-comparators-based
    priority queues
   Shift-register-based priority queues
   Systolic-array-based priority queues
   Similar to a conventional binary heap
   enqueue and dequeue with hardware
    complexity low and execute in essentially
    constant time
   Scalable over 4 billion priority using 32 bit
   The number of comparator datapath needed in
    the architecture is logarithmic to queue size
   The storage required for the queue elements
    can be efficiently organized into on chip-
    SDRAM modules
              Binary heap
   Parent(i)=i/2
   Left(i)=2*i
   Right(i)=2*i+1
                     Binary array
   B[i]:active: this is a boolean field which is set to true if
    the node B[i] is filled with a valid priority value (the node
    is active). It is set to false if the node is empty, or inactive.

   B[i]:value: if the node is active, this field holds the
    actual priority value.

   B[i]:capacity: this field contains the number of
    inactive nodes in the sub-tree rooted at B[i].
                 P-heap Property
   P-heap Property : Let B[i] be a node in B and B[j]
    be an immediate (left or right) child of B[i]. Then,

1.B[i]:active ^ B[j]:active =>B[i]:value >=B[j]:value

2. B[j]:active => B[i]:active
              Token array (T)
   T[i]:operation: this field holds an instruction,
    depending on the operation to be executed at level
    Li of the P-heap. It is useful in the pipelined
    implementation of P-heaps.
    T[i]:value: This field may hold a priority value
    that needs to be inserted into B.
    T[i]:position: this field can hold the index of a
    node at level Li of B.
   Fast and scalable pipelined priority queue with
    constant time enqueue and dequeue

   Efficiently in a high speed packet switch
    providing fine-grained quality of service

Shared By: