免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: allenlu1212
打印 上一主题 下一主题

求教:嵌入式linux如何实现简单&高性能的qos? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-04-09 17:01 |只看该作者
原帖由 epegasus 于 2009-4-9 13:28 发表
首先要考虑"性能差"的原因,有没有证据说明性能差就是执行指令造成的?
如果是UDP,通常流量都与延时有关,而TCP倒不见得.
如果一个数据包整个处理流程要经过500条指令处理,对于一个大概500MHZ的处理器那么包的延 ...




实际上tcp的流量和时延关系非常大, 理论界称之为tcp的rtt不公平性。

udp的流量和时延没有关系吧。

当年网络QOS在队列上下文章,是希望通过等级高的时延小,丢包少获取更快的发送速率和更小的时延抖动,尤其是丢包率的减少对发送俗了的影响非常大,倒不是说时延小的影响不大,路由的转发时延在在整个往返时延中占的比例很小。特别是在现在所谓的high BDP网络中。

而且实际上区分服务在理论界早已是昨日黄花,当然在企业接入网这一块可能有可以做一做。

论坛徽章:
0
22 [报告]
发表于 2009-04-09 17:32 |只看该作者
原帖由 allenlu1212 于 2009-4-9 16:18 发表
每个class有自己的rate, ceil, 即每个class就相当于每个queue, 一个packet只可能在某个特定的class上入队和出队(不可虑borrow的情况)。所以,单纯从这个角度看,10000个class和100个class对packet的延时应该 ...



考虑只要一个class独占带宽,那么无须延时直接发送.
多个队列的情况下,每个队列长直接决定了划分 rate的精度,,假设每个队列上只有最多一个缓冲包,那么发送调度会判断取哪个,但是接受那端接到哪个包是不确定的,其接受的rate可能和每队列分的rate不匹配,那么就有发送判断无包可法的情况,那么为了保持rate上比例的精度,需要缓存更多的包,当这些包数量达到一定规模的时候,前面说的那些因为缓冲造成的延时放大效应就表现出来了.
那么10000个类当然需要更多的缓冲,不过和分配速率的机制也有很大关系.
考虑到整个网络达到了一个稳定状态.最新加到队列的包,我们有理由相信它将比缓冲队列上大部分包发完了才论到它.

以上都是我猜测,具体也没看过.:wink:

[ 本帖最后由 epegasus 于 2009-4-9 17:37 编辑 ]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
23 [报告]
发表于 2009-04-09 18:13 |只看该作者
原帖由 allenlu1212 于 2009-4-9 16:13 发表
qos原本是想提高服务质量的,但启用qos后,使得相当一部分系统资源耗费在了qos自身上,从而使得系统整体性能下降。不知道这两者的平衡如何把握。



服务质量和性能是两码事,呵呵。

论坛徽章:
0
24 [报告]
发表于 2009-04-10 21:10 |只看该作者
原帖由 dreamice 于 2009-4-9 18:13 发表



服务质量和性能是两码事,呵呵。


呵呵,不是两码事,还是存在相互关联的。同等情况下,要想提高服务质量,必然需要对某些应用进行特定处理,比如提高优先级,快速转发该类报文等操作,因此为了完成这些目的,必然需要多些额外的处理。从而对性能产生影响。

[ 本帖最后由 kevert 于 2009-4-10 21:12 编辑 ]

论坛徽章:
0
25 [报告]
发表于 2009-04-10 23:22 |只看该作者
提高服务质量的前提不是提高所有人的服务质量。因为处理能力是一定的。
就拿告诉公路做比方。
路就那么宽,要想提高首长的服务质量,就必须限制其他人的通过。

如果马路无限宽,那就不需要qos了。谁来了都能享受到相同的服务质量了。

论坛徽章:
0
26 [报告]
发表于 2009-04-11 22:03 |只看该作者
原帖由 emmoblin 于 2009-4-10 23:22 发表
提高服务质量的前提不是提高所有人的服务质量。因为处理能力是一定的。
就拿告诉公路做比方。
路就那么宽,要想提高首长的服务质量,就必须限制其他人的通过。

如果马路无限宽,那就不需要qos了。谁来了都 ...


如果服务质量指的是服务器的响应,其实意义不大。硬件很便宜的。
如果是要网络服务质量,用传统的方法,单个节点的应用意义很小。
我现在尝试在TCP层做QoS,遇到的最大的问题是怎么确定连接的服务级别。

论坛徽章:
0
27 [报告]
发表于 2009-04-12 21:51 |只看该作者
性能方面没有怎么研究过,不过在p3 1G左右的CPU上.一千多个class,10Mb流量上,CPU占用率在2% - 3%左右.可以做个参考......

论坛徽章:
0
28 [报告]
发表于 2009-04-13 21:45 |只看该作者
原帖由 独孤九贱 于 2009-4-12 21:51 发表
性能方面没有怎么研究过,不过在p3 1G左右的CPU上.一千多个class,10Mb流量上,CPU占用率在2% - 3%左右.可以做个参考......



可能楼主更加关注的是吞吐量吧,比如1个报文,可能没有QoS之前1ms转发出去,但是有了QoS之后因为多了QoS的分类,过滤,调度使得可能需要1.5ms才能转发了。
这样来说,吞吐量就下降了。

论坛徽章:
0
29 [报告]
发表于 2009-07-14 19:13 |只看该作者
来晚了,大家继续啊!

论坛徽章:
0
30 [报告]
发表于 2009-07-14 19:19 |只看该作者

回复 #11 platinum 的帖子

是不是hfsc要好一点,我的环境中似乎hfsc更精确一些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP