Network Endpoint Congestion Control for Fine-Grained Communication
需要快速的响应时间和较低的开销
Small-Message Speculative Reservation Protocol
SMSRP基于以下观察结果:如果端点没有拥塞,则无需为每个消息进行预留握手。与SRP协议会在每次消息传输之前急于启动保留的协议不同,SMSRP仅在通过推测性消息的丢弃在端点检测到拥塞之后才发布保留。
图详细显示了SMSRP的操作。在此示例中,网络源正在将两个小消息M1和M2发送到可能拥塞的端点。每个消息足够小以适合单个网络数据包。消息准备好后,源将以推测模式立即将其发送。与SRP中的推测模式相似,推测消息使用低优先级VC,并且在发生拥塞时可以被网络丢弃。如果推测传输成功,例如在M1的肯定确认A1指示的情况下,则不需要保留。结果,当端点没有拥塞时,SMSRP几乎不会在网络中产生任何开销。
如果网络端点拥塞,则经过一段时间的排队延迟后,网络将丢弃推测性消息,就像消息M2一样。网络交换机将相应的NACK发送回源。当消息源收到NACK时,它将启动到目的地的预留Res2,以获取消息的重传时间。在从目的地接收到授权Gnt $t_2$之后,源将等待直到分配的传输时间$t_2$为止,然后再以非推测性模式重新传输M2。保证非推测性消息是无损的,并使用单独的更高优先级的VC来确保它们不会在推测性消息之后被阻塞。
除了在无拥塞的网络条件下具有较低的开销外,SMSRP的主要吸引力在于,它可以添加到已经实施SRP的网络中,而硬件改动很小。 SMSRP的投机丢弃策略和预约握手与SRP相同。唯一需要做的更改发生在源网络接口上:更改预约握手和推测性传输的顺序。
Last-Hop Reservation Protocol
在网络不拥塞的情况下,以推测方式急切传输小消息可减少SMSRP的控制开销。但是,SMSRP的缺点是,当需要预约来解决拥塞时,控制消息必须到达端点处的预约调度程序。结果,预留握手消息与数据分组竞争弹出信道带宽。对于小消息,控制数据包消耗的一部分弹出带宽会极大地导致目标的额外超额预订,并可能导致更多的推测性消息丢失。直观上,弹出通道带宽是关键资源,仅应为数据包保留
LHRP通过将预留调度程序从端点移动到端点上游的最后一跳交换机来避免导致端点超额预订。
LHRP的详细操作如图所示。像上一节中的示例一样,网络源正在向可能超额订阅的端点发送两个小消息。这两个消息都由源以推测方式立即发送。如果推测传输成功(如M1的情况),则不需要保留,并且协议不会产生额外的开销。
LHRP通过将预留调度程序从端点移动到端点上游的最后一跳交换机来避免导致端点超额预订。通过允许在交换机为连接到该交换机的端点的服务保留请求提供服务时,我们消除了弹出通道的控制开销。在最后一跳交换机处处理预留也打开了其他优化机会。对于小消息,可以在数据消息本身以及与任何丢弃关联的NACK上piggy带保留和授权信息,而不是发送用于保留握手的单独控制包。此保留搭载优化对于SMSRP没有用,因为到达端点处的保留调度程序的数据包不再需要保留。
如果端点被超额预订,则拥塞将首先在最后一跳交换机处发生。就像M2一样,推测消息可能会在最后一跳交换机上遇到较大的排队延迟。与SRP和SMSRP不同,LHRP推测性数据包仅在最后一跳交换机处合格。我们修改了网络交换机,以跟踪与交换机相连的每个端点排队的数据包数量。当端点的排队级别超过阈值时,交换机将开始丢弃发往该端点的推测消息。排队阈值的目的是动态地维持推测丢弃率,以使拥塞的推测消息不会备份到相邻的交换机中,从而在网络的其余部分中造成树饱和。
当最后一跳交换机丢弃推测消息时,预留调度程序还为该消息分配了重传时间,该重传时间随NACK ,N2t2返回。当源节点接收到NACK时,它也接收到重发时间t2。然后,源节点以保证无损传输的非推测性模式在时间t2重新传输M2。