改进QoS的技术-调度算法:加权公平队列(WeightedFairQueueing)算法

原创 2011年01月11日 17:01:00

今天从论坛上看到一个要求实现网络通信当中,路由器实现QoS的调度算法--加权公平队列(WeightedFairQueuing)算法。

翻了翻以前的教科书,感觉理解起来还是比较容易的,于是,编程实现了一下。

 

算法介绍:

    改进QoS的技术,一般从四个方面来改进,分别是:调度、通信量整形、许可证控制和资源预留。

    调度方面,主要有三种,分别是:先进先出(first-in,first-out,FIFO)、优先权队列(priority queuing)和 加权公平队列(weighted fair queuing)。

    FIFO会将数据分组放入队列(缓冲区)当中等待,直到节点(路由或交换器)处理它们为止。如果分组的到达速率超过处理速率,队列将被填满,新分组将被丢弃。

    PQ将数据分组先分配到不同优先权的队列中,较高优先权的队列会优先处理,直到处理为空,再处理较低优先权的队列。到达的分组通过分类器将不同的分组分往不同优先权的队列。若高优先权队列始终有数据,低优先权的队列将得不到处理。

    WFQ仍然会将数据分组分往不同的队列,但是,每个队列都有各自的权重,系统以轮换的方式来处理每个队列中的分组,并且所处理的分组数量等于相应队列的权重。

 

代码展示:

相关文章推荐

QoS队列调度算法概述

【摘要】本文概述了常用队列调度算法的实现机制,并在此基础上对比了基于理想流模型的WFQ队列算法与其他队列调度算法的公平性能。 【关键字】服务质量 队列调度 通用处理器共享 加权公平队列 1...

QoS和QoS队列调度算法

在QoS队列调度中有如下算法,分别如下:  1、SP     SP:Strict Priority(严格优先级), SP调度严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较...
  • liu5257
  • liu5257
  • 2017年10月26日 15:15
  • 33

CFS完全公平调度算法 - per entity load tracking 几个重要的函数分析

kernel/sched/fair.c  ##############   负载衰减计算函数decay_load() #################### /*  * We ch...

Linux 2.6 完全公平调度算法CFS(Completely Fair Scheduler)分析

转自http://www.ibm.com/developerworks/cn/linux/l-completely-fair-scheduler/index.html?ca=drs-cn-0125 L...

hadoop-1.2.1公平调度算法

1. 介绍 本文介绍的Hadoop权限管理包括以下几个模块: (1) 用户分组管理。用于按组为单位组织管理,某个用户只能向固定分组中提交作业,只能使用固定分组中配置的资源;同时可以限制每个用户...

使用Cloudsim实现基于多维QoS的资源调度算法之一:配置Cloudsim环境

Cloudsim是一款开源的云计算仿真软件,它继承了网格计算仿真软件Gridsim的编程模型,支持云计算的研究和开发。它是一个自足的支持数据中心、服务代理人、调度和分配策略的平台,支持大型云计算的基础...

linux内核分析——CFS(完全公平调度算法)

1.1 CFS原理     cfs定义了一种新的模型,它给cfs_rq(cfs的run queue)中的每一个进程安排一个虚拟时钟,vruntime。如果一个进程得以执行,随着时间的增长(也就是一个...

spark的task调度器(FAIR公平调度算法)

spark源码分析,spark的任务调度之fair公平调度算法代码实现分析.
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:改进QoS的技术-调度算法:加权公平队列(WeightedFairQueueing)算法
举报原因:
原因补充:

(最多只允许输入30个字)