pHost: Distributed Near-Optimal

2020-10-16  本文已影响0人  LucasHao

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

1.背景

1.1现有技术

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

FastPass仲裁器调度会慢

1.2 Data Center Feature

2.目标

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

2.1 优点

不需要专门的网络硬件

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

无需中央仲裁器

无需显式的网络反馈

性能接近pFabric

3.设计

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

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

3.1 设计缘由

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

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发送给发送端,发送端重发这个包

上一篇 下一篇

猜你喜欢

热点阅读