机构地区: 西安交通大学电子与信息工程学院
出 处: 《西安交通大学学报》 2005年第12期1323-1326,共4页
摘 要: 针对基于优先级队列(CBQ)机制中带宽分配算法的不足,以Intel IXP2400为平台,设计并实现了一种基于网络处理器的动态带宽分配算法.该算法以令牌为介质,采用“生产者-消费者”模式,将每个优先级队列看作是一个独立的实体并为其设置一个令牌桶.令牌发放器作为“生产者”,根据队列的预分配带宽,按照特定的速率将令牌放入令牌桶中,调度器作为“消费者”,从令牌桶中取出令牌.某个优先级队列的令牌如果不够用,允许向其他优先级队列借用令牌,或收回借出的令牌,从而实现带宽的动态分配.在IXP2400微引擎上的实验表明,无论高优先级队列数据包速率高于还是低于传统CBQ带宽分配算法中设置的阈值,所提算法的转发速率均高于传统算法. To solve the deficiency of bandwidth allocation algorithm in CBQ (class based queue) mechanism, using Intel IXP2400 as platform, a dynamic bandwidth allocation algorithm based on network processor (DBAA-NP) is designed and implemented. It uses the token as a medium, adopts producer-consumer pattern and sets up a token bucket for each class queue. Token dispatcher puts tokens into buckets as “producer” according to the pre-allocated bandwidth; scheduler takes out tokens from buckets as “consumer”. If one queue's tokens are not enough, it can borrow some from other queues, or take back the ones it has lent out; this can realize dynamic bandwidth allocation. The algorithm has been implemented on two micro engines of IXP2400, and experiments show that the forwarding rate of DBAA-NP algorithm is higher than the conventional CBQ bandwidth allocation algorithm, whatever the rate of high priority queue packets is higher or lower than the threshold of conventional CBQ algorithms.
领 域: [自动化与计算机技术] [自动化与计算机技术]