V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lolizeppelin
V2EX  ›  程序员

卧槽原来睡眠排序法也是有用的....orz

  •  
  •   lolizeppelin · 2019-02-19 16:02:42 +08:00 · 7509 次点击
    这是一个创建于 2102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    结果没有任何一方获得多数票。之后每个参与方随机休息一阵( Election Timeout )重新发起投票直到一方获得多数票。这里的关键就是随机 timeout,最先从 timeout 中恢复发起投票的一方向还在 timeout 中的另外两方请求投票,这时它们就只能投给对方了,很快达成一致。

    喷了...............睡眠排序法不光是搞笑用的

    18 条回复    2019-02-20 00:37:13 +08:00
    Lax
        1
    Lax  
       2019-02-19 16:11:28 +08:00
    第一听说这个叫法
    skymei
        2
    skymei  
       2019-02-19 16:13:27 +08:00
    睡梦罗汉拳
    Canrz
        3
    Canrz  
       2019-02-19 16:13:57 +08:00
    chenyu8674
        4
    chenyu8674  
       2019-02-19 16:15:54 +08:00   ❤️ 5
    随机退让策略而已,跟排序有毛关系
    lolizeppelin
        5
    lolizeppelin  
    OP
       2019-02-19 16:18:31 +08:00
    @chenyu8674

    别那么死板啊
    睡眠排序是 n 线程通过 sleep 来排序
    这里靠的是多机器靠 sleep 时间来找到第一位

    思路是一致的
    lance6716
        7
    lance6716  
       2019-02-19 19:44:38 +08:00 via Android
    @lolizeppelin 是退让不是排序,sleep 在退让很常用,排序就别思路一致了。
    jorneyr
        8
    jorneyr  
       2019-02-19 19:48:04 +08:00
    睡梦罗汉排序法
    Mohanson
        9
    Mohanson  
       2019-02-19 19:49:26 +08:00 via Android
    bft?
    Cbdy
        10
    Cbdy  
       2019-02-19 20:00:38 +08:00 via Android
    计算机网络介质访问控制层有用这个东西
    sgissb1
        11
    sgissb1  
       2019-02-19 21:14:18 +08:00
    一些灾备或者自治系统里面,常用的选举做法啊。和睡眠排序稍有区别,但也挺相似的。
    msg7086
        12
    msg7086  
       2019-02-19 22:35:55 +08:00   ❤️ 1
    不仅有随机退让,还有指数退让。比如一条网线同一时间只能由一个设备发送数据,所以如果遇到冲突的话,两方不仅随机等待一段时间,还会因每次冲突而使等待的时间加倍,比如刚开始是 8±2ms,如果第二次还冲突就变成 16±4ms 等等。
    wu1990
        13
    wu1990  
       2019-02-19 22:57:21 +08:00
    哈哈哈 基本上就是段子吧
    虽然我觉得挺酷的,但是也很好笑 哈哈哈哈哈
    realpg
        14
    realpg  
       2019-02-19 23:37:11 +08:00
    退让和 sleep 排序是两码事……
    sleep 排序其实是很创新的……
    aijam
        15
    aijam  
       2019-02-19 23:51:36 +08:00 via iPhone
    分布式系统基本操作,paxos 了解下
    zhujinliang
        16
    zhujinliang  
       2019-02-20 00:29:00 +08:00 via iPhone
    以前有个“抢线王”网卡,就是通过驱动修改参数(前提是支持的硬件),减少帧间延迟或错误重传延迟,提高传输效率。在那个 10M 网线,使用 HUB 而不是交换机的年代,比普通网卡稍微有些优势,当然也影响了使用正常网卡人的通信
    Laynooor
        17
    Laynooor  
       2019-02-20 00:36:29 +08:00 via Android
    @zhujinliang 搜了下抢线王,找到这个帖子

    http://nga.178.com/read.php ? tid=4944286&page=1&rand=997

    打个比方 某程序每 10ms 向某地址发送数据 windows 为了节约网络流量 收集了 0.1s 的数据包 也就是 10 个包 打包起来一起发送 这样就节约了 9 个数据包包头的流量 但是造成了平均 50ms 的延迟 这个网卡应该就是硬件设定不经堆栈直接发送 和打了 Leatrix Latency Fix 补丁的普通网卡完全一样
    当年曾经有一种抢线王网卡 硬件修改成监听到冲突后不经等待直接再次发送 抢占局域网资源 这两种网卡虽然恶劣性质不同不过原理都很相似


    长见识了...
    Laynooor
        18
    Laynooor  
       2019-02-20 00:37:13 +08:00 via Android
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:02 · PVG 07:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.