CRSP: Network Congestion Control Through Credit Reservation
Network Congestion Control Through Credit Reservation
ECN对参数敏感,网络拥塞的响应时间较慢,而SRP的预留操作不准确。为了实现更有效的拥塞管理,提出了CRSP,一种主动的信用保留调度协议,它可以有效避免端点的拥塞并减少流完成时间。与SRP相似,CRSP还需要在发件人和目的地之间进行预留许可的握手操作,以避免形成网络拥塞。但是我们以控制报文少的轻量级版本实现了CRSP,并且CRSP的开销小于SRP。
CRSP的操作如图5所示。发送方中的活动流通过首先发送保留数据包Res(1)来启动与目的地的通信。预留包是小且具有最高优先级。它在单独的控制虚拟通道(VC)上传输以确保快速传输。每个预留分组携带预留大小n,这意味着预留流的迁移数量。目的地将根据预留大小和Res来为流量分配信用。发送预留数据包后,该流将等待目的地分配的信用的答复,并且不会发送此流的任何信息。
在目的地中,添加了一个保留缓冲区(Res buf)以缓冲预约数据包。目的地接收到预约包后,它将被放入预约缓冲区的尾部。另外,在目标中添加了一个名为“信用池”的计数器。目的地中的信用编号存储在贷方池中,它指示目的地的吞吐能力。信用号由目的地的接受率决定。在每个周期中,目的地将首先在预留缓冲区的前面获取一个预留数据包,然后将预留大小(即Res中的n)与尚未分配的剩余信用数进行比较(2)。如果剩余信用数大于预留数据包所需的数量,目的地将源节点所有所需的信用分配给源节点,目标节点将通过生成授权数据包以通知源,预留流被允许发出数据包。到目的地(3)。同时,目的地将更新信用缓冲区并从预留缓冲区中弹出相应的预留包(4)。可以从预留数据包的源获取授权数据包的目的地。但是,如果剩余积分的数量不足以分配给预留包,则预留缓冲区前面的预留包将必须等待下一个周期,而不是被丢弃。也就是说,如果剩余的信用额度小于预留数据包所需的信用额度,则信用额度缓冲器将不会被更新(5)。
当源节点接收到一个流的授权包时,它将立即发布该流的数据包(6)。 CRSP根据流调度数据包,以确保将流完成时间最小化,这意味着只有当流已被传输时,才能选择具有最小q的其他流来发布。当目的地接收到数据包时,已分配到相应流的信用额将被收回。恢复的信用将添加到信用缓冲池中,然后分配给其他流。所有传输将重复此过程。但是,值得注意的是,当目的地将信用分配给多个流时。这些流可能会在某个时间到达目的地,这也可能导致端点拥塞的形成。为了避免这种情况,我们设置阈值p以限制信用缓冲池的大小。阈值p表示允许源节点保留的信用池中的流数。如果将阈值设置得太大,则表示信用池允许大量流在一段时间内进行保留,并且这些保留的流可能同时到达目标节点,从而导致目标节点发生拥塞。如果阈值设置太小,则网络带宽无法充分利用,将降低吞吐量。在此实验中,我们将阈值p设置为两个最大流量的大小。
CRSP旨在最小化流延迟并获得更高的网络带宽。 CRSP避免在发送方将数据包发布到网络之前形成端点拥塞。与其他基于时分协议的主动式拥塞管理机制(例如SRP)相比,CRSP更加准确有效。为了最小化控制数据包的开销,所有保留数据包,授权数据包都被最小化,并在单独的高优先级VC上传输以保证快速传递。