Round Robin 算法

转载 2018年04月15日 21:53:06


什么是Round Robin?

先来看和他相近的名词,轮询调度算法(Round-Robin Scheduling)

轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。

算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。

轮询调度算法流

  假设有一组服务器N台,S = {S1, S2, …, Sn},一个指示变量i表示上一次选择的服务器ID。变量 i 被初始化为N-1。其算法如下:

import java.util.concurrent.atomic.AtomicInteger;


public class RoundRobin2 {

    /**
     * 线程安全的
     */
    private final static AtomicInteger next = new AtomicInteger(0);

    private int select(int S[]) throws Exception {
        if (S == null || S.length == 0)
            throw new Exception("exception");
        else {
            return S[next.getAndIncrement() % S.length];
        }
    }

    public static void main(String args[]) throws Exception {
        int S[] = {0, 1, 2, 3, 4};
        RoundRobin2 roundRobin2 = new RoundRobin2();
        for (int i = 0; i < 10; i++) {
            System.out.println(roundRobin2.select(S));
        }
    }
}

轮询算法的缺点

轮询调度算法假设所有服务器的处理性能都相同,不关心每台服务器的当前连接数和响应速度。当请求服务间隔时间变化比较大时,轮询调度算法容易导致服务器间的负载不平衡。

所以此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。


书友会主讲:张永强

  • foxfly
  • foxfly
  • 2004-04-17 10:42:00
  • 630

轮询调度算法(Round-Robin Scheduling)

http://blog.163.com/s_u/blog/static/1330836720105233102894/ 毫无疑问,随着互联网、移动网络接入成本的降低,互联网正在日益深入地走入...
  • oMingZi12345678
  • oMingZi12345678
  • 2015-12-03 13:18:22
  • 2370

支持N个request 的 round robin arbiter

Round Robin Arbiter 全面介绍
  • naclkcl9
  • naclkcl9
  • 2010-06-16 18:21:00
  • 5003

Round Robin 算法

什么是Round Robin?先来看和他相近的名词,轮询调度算法(Round-Robin Scheduling)轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内...
  • wordwarwordwar
  • wordwarwordwar
  • 2018-04-15 21:53:06
  • 6

verilog工程的编辑工具source InSight

1.1sourceInSight是开发C语言的编辑工具。其中对于逻辑引用、调用关系、高亮等功能很好用,在看verilog代码也能起到一定作用,所以将SourceInSight应用于verilog代码编...
  • wordwarwordwar
  • wordwarwordwar
  • 2017-07-16 23:18:45
  • 787

hdu 12490 Round Robin

Round Robin Time Limit: 2000ms, Special Time Limit:5000ms, Memory Limit:65536KB Total subm...
  • u011699990
  • u011699990
  • 2014-08-30 18:28:23
  • 407

Verilog语言中如何将memory型变量转换为普通变量

Verilog 2001和Verilog2005 能够将memory转换成为vector型变量,综合工具可以选择synplify pro 9.6.2 module memory2vector( me...
  • wordwarwordwar
  • wordwarwordwar
  • 2016-12-18 23:33:14
  • 806

FPGA跨时钟域设计的一点总结

1. 亚稳态的概念说明 是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态引时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触...
  • wordwarwordwar
  • wordwarwordwar
  • 2017-08-20 21:19:38
  • 1612

XILINX资源获取

俗话说,好的开始是成功的一半。在这个信息爆炸的时代,好的资料就是成功学习的一半。 时常看到有人在论坛上跪求资料,也有人在论坛上灌水换积分排队下资料。如果这篇文章能帮助大家花更少的时间找到更有价值...
  • wordwarwordwar
  • wordwarwordwar
  • 2016-10-23 18:07:55
  • 802

Xilinx FPGA的配置

http://blog.sina.com.cn/s/blog_98d98c7f0102v4ex.html http://www.cnblogs.com/aikimi7/p/3499633.html ...
  • wordwarwordwar
  • wordwarwordwar
  • 2016-11-04 23:52:25
  • 4559
收藏助手
不良信息举报
您举报文章:Round Robin 算法
举报原因:
原因补充:

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