美文网首页
pHost: Distributed Near-Optimal

pHost: Distributed Near-Optimal

作者: LucasHao | 来源:发表于2020-10-16 10:57 被阅读0次

    关键词:端上拥塞控制 接收端驱动

    1.背景

    1.1现有技术

    pFabric依赖特殊硬件,并且只做了FCT的minimize,不能与其他policy联动

    FastPass仲裁器调度会慢

    1.2 Data Center Feature

    • RTT小:物理距离近
    • 直通交换机:开销小,但提供了优先级,ECMP,(packet spraying)
    • 全平分带宽:带宽均匀分配

    2.目标

    提出了一种新的分布式协议,允许终端主机直接做出调度决策,在不依赖于特殊的硬件的基础上,最小化FCT

    2.1 优点

    不需要专门的网络硬件

    不需要在交换机上关注每个流状态或复杂的速率计算

    无需中央仲裁器

    无需显式的网络反馈

    性能接近pFabric

    3.设计

    总结:基于双端的调度,Request To Send,包token分配,接收方决定接收流

    • RTS:每个发送端主机发送前,向接受端发送请求发送(RTS)包:可能包含与制定调度决策相关的信息(例如流的大小等)

    • token:

      • 接收端调度:接收端在一组RTS中选择一个发送端为其分配token,允许发送端从该流发送一个数据包,同时可能会指定发送的包的优先级;在收到token 1.5MTU传输时间后,token失效。
      • 发送端调度:另外,发送端可以自主分配少量token。同时,发送端可以将token自主选择分配给流中的包。
    • ACK:接收方完成一个流所有数据包的接收,会向发送端发送一个ACK包

    ACK,RTS,Token设置为高优先级

    3.1 设计缘由

    • DC中的 packet-spraying几乎可以消除中心的拥塞
    • 充分利用有限的优先级可以尽可能减少丢包
    • incast情况仍然发生,导致接收方拥塞
    • 中央仲裁器开销大,所以使用分布式的,类似于PIM的路由器调度程序设计

    3.2 额外的机制以提高利用率

    • 发送方starvation:
      • 发送方并行发送RTS避免饥饿
      • 发送方可以分配少量free token避免RTT时间的等待
    • 接收方starvation:
      • 暂时停止(原文是默认3*RTT)向过期token达到阈值的发送方分配token

    4.具体实现

    描述终端主机实现的协议(§3.1),然后详细说明该协议如何确保高网络利用率(§3.2)。然后,我们将描述phost如何支持灵活的调度策略(§3.3)。最后,我们描述了如何在丢包的情况下进行可靠的传输(§3.4)

    4.1协议本身

    规定收发双方交换和使用RTS、令牌和数据包进行通信的协议

    当flow到达时,源立即向流的目标端发送RTS(含flow size等)

    发送端基于可配置的free tokens,为每条flow初始化了一个ActiveTokenslist,可以让少数包发送,所有后续token只能由接收端在响应RTS时授予,接收方的token将会放入ActiveTokenslist,持有未过期的token的包才能发送。

    接收端将所有RTS添加到PendingRTS中,每经过一个(MTU大小的)包传输时间,接收端根据自己的策略发送token给PendingRTS中的一个发送端。同时,发送端记录者每条流的超时token,当超时token过多,那么将会对减少这条流分配的token。

    接受完所有的流之后,接收方会给发送方发送一个ACK。

    注意:All control packets in pHost are of 40 bytes:对于一个普通的RPC调用,数据大小也不过如此,对short message来说是否开销过大。文章做到对短流优先分配token(但可不可以短流不需要token(这个是否freetoken做到了))

    4.2调度策略

    分配哪些发送端和接收方通信的调度策略

    4.2.1优化FCT

    SRPT:在分配令牌时,接收方为剩余包数最少的流优先分配token,同时,token允许发送端短流设置第二个优先级,长流第三高优先级(RTS ACK第一高优先级)

    4.2.2 限时流量

    EDF:在分配令牌时,接收方为最接近deadline的流优先分配token,同时,发送端优先将收到的token发送给最接近deadline的流

    4.2.3 多租户之间的公平性

    pFabric会导致如果网络中存在密集的短流和一个长流的时候,长流会出现Starvation。pHost可以为每个租户提供一个计数器计算每个周期接收包数量,优先给计数最小的租户分配

    4.2.4 丢包

    token超时到一个阈值后,接收端会重新将这个token发送给发送端,发送端重发这个包

    相关文章

      网友评论

          本文标题:pHost: Distributed Near-Optimal

          本文链接:https://www.haomeiwen.com/subject/dphzpktx.html