1 SP(Strict Priority, 严格优先级)
SP调度会给各个输入队列分配优先级,当高优先级的队列非空时,优先调度高优先级队列。只有当高优先级队列为空时,才有可能调度低优先级的队列。
2 RR(Round Robin, 轮询)
如何理解轮询?所谓‘轮’,是指RR调度中有一个RR指针,每次调度成功后,RR指针就会移动一下,指向下一个队列,而且这个指针是依次循环的,比如从0,1...一直到N,最后又循环到0。所谓'询',就是指每次调度时去看RR指针指向的队列是否可用,如果可用的话,就调度RR指针指向的队列,如果不可用的话,就看下一个队列是否可用。RR调度在芯片设计中比较常见到,它是一种比较公平的调度算法。举个例子:

如上图所示,有4个队列,假设在第T拍以后都没有新的packet进入队列了。RR调度的过程如下:
第T拍:此时RR指针指向queue_0, queue_0里有packet, 因此queue_0赢得仲裁,p0被调度出来,同时RR指针更新,指向下一个queue,也就是queue_1;
T+1拍:RR指针指向queue_1,但queue_1为空,指针+1后指向queue_2,queue_2有packet,queue_2赢得仲裁,p2被调度出来,指针+1指向queue_3;
T+2拍:queue_3赢得仲裁,p4被调度出来,指针+1指向queue_0;
T+3拍:queue_0赢得仲裁,p1被调度出来,指针+1指向queue_1;
T+4拍:queue_2赢得仲裁,p3被调度出来,指针+1指向queue_3。
3 WRR(Weight Rounf Robin, 带权重的轮询)
WRR是在RR调度的基础上,为各个调度源加入了权重

本文介绍了三种调度算法。SP调度为输入队列分配优先级,优先调度高优先级队列。RR调度有RR指针,依次循环指向队列,是较公平的调度算法,常见于芯片设计。WRR在RR基础上为调度源加入权重,调度流程与RR类似。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



