微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 拥塞管理时的带宽保证的rtl实现问题

拥塞管理时的带宽保证的rtl实现问题

时间:12-12 整理:3721RD 点击:
hi,all:
请教一下拥塞管理时的带宽保证的rtl实现问题:
一个具体的应用场景:1000条队列,共享10gbps带宽,提供拥塞产生时的带宽保证,比如
第一条队列占300mbps,第二条队列500mbps,
一般有哪些典型的便于rtl实现方法哪?
初步考虑用drr算法,但思路不够清晰,各位,有没有多队列时 drr 算法 rtl实现相关的
材料或者思路哪?

1000个队列的RTL实现?那只能两级调度了,每级32个队列,DRR实现不太复杂

你缺乏tm设计最基本的概念啊
tm有推和拉两种方式来做调度
带宽保证你可以用一个计数器来保证

是啊,没有沉淀和积累,刚开始做这块,头疼着哪。
能具体解释一下推和拉这两个概念吗?或者简单的举个例子,给个比较好的材料,link之
类的。
另,带宽保证如何用一个计数器来实现吗?是用令牌桶的着色?

推和拉是否是指:
推:在入队前根据令牌桶进行分析,如果大于最大带宽的直接丢弃;
拉:先把数据存储起来,根据令牌桶的情况进行选择输出?

The key is the hardware implementation of linked-list, then xxRR, there should be a very simple wrr rtl in METEC i wrote before.
for TM/QoS basic concept u can refer any computer network books
for TM basic hardware implementation concept u can refer the following two books:
High Performance Switches and Routers, H. Jonathan Chao/Bin Liu, 2007, Chapter 4 TRAFFIC MANAGEMENT; online pdf copy available everywhere;
Quality of Service Control in High-Speed Networks, H. Jonathan Chao/Xiaolei Guo,2002, copy version available in taobao.com

随便搜下路由器,推,拉差不多吧
我记得思科主要是推,juniper是拉的方式
推比较难做而且耗资源,拉的响应慢而且抖动比较难做

好的,
咨询一下,已有的tm 实现效果是怎样的?
我偶尔看到有人说tm一直没有取得很好的效果。
另外,从算法上看,xrr算法的缺点是什吗哪?有没有比较好的论文可以推荐呢?

tm搞了那吗多年,有没有开放的实现方案的介绍哪?

呵呵,都是赵教授的书,不知道他现在忙什么呢

我的初步实现思路(主要是drr算法,很粗糙 ,欢迎大家拍砖 :) )
入口1000个 fifo,利用空信号来表示队列里是否有数据;
一个队列对应一个令牌桶,表示当前允许队列发送的数量;
从队列0 -- 999 依次采用轮训的方式
proc:
if(队列非空 && 队列首包长度<= 对应令牌数){
   出队列,更新令牌数
}else{
   选取下一个队列;
   goto proc;
}
问题:如果队列1 的保证带宽是200mbps,令牌分配时:多长时间分配依次,每次分配多少比较好;
这中处理方法能否很好的支持拥塞时的带宽保证哪?可能存在什吗问题?

不好意思,最近被调去做别的事情,刚回来啊
我期望做的事情是这样的:
1000个队列,每个队列可以设定保证带宽,最大带宽,优先级
    保证带宽:如果用户指定,即使网络拥塞,也要保证这个队列面对的数据流能
满足这个带宽;
    最大带宽:无论网路状况如何,这条队列里的数据流不能超过这个带宽限定;
    优先级:对于处于保证带宽和最大带宽之间的流量需求,根据用户配置优先级
来占用系统所有保障之外的可用空闲带宽;
我没搞清楚的几个概念:
1)流量监管是否可以达到这个效果?(个人感觉可以,只是有点)
    
2)如果要做流量整形:需要存储,调度和限速,有这吗几个问题:
    a)外部数据存储:初步考虑使用外存,并采用链表的形式来维护;但入如果在
10gbps的以太网平台上,如果我们想做到比较理想的拥塞控制与整形的效果,需要存储
多长时间的数据包哪?如何存储才能高效?
    b)对于调度,初步考虑使用drr,通过维护一个active list 来记录当前需要
处理的队列号,但没搞懂:quantum ; deficit counter这两个参数应该根据什吗进行
设置
    c)如果不使用drr,而是使用rr ,然后通过一个三色令牌桶对当前队列流量进行
判断,
    if(小于保证带宽){
        置入优先级队列queue0;
    }else(介于保证带宽和最大带宽之间){
        根据优先级分配到不同的优先级队列
    }else{
        置入最低优先级队列
    }
之后有一个专门模块,对上面的队列按照绝对优先级进行输出处理;
        d)三色令牌桶如何做才会有效?比如令牌桶的分配间隔?
        e)qos实现的精度和那些东西有关?
        f)有没有比较靠谱的qos rtl实现的paper可以推荐一下呢?
qos我们没有任何经验,所以想问一下,这样做大概会有什吗问题哪?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top