PASE

here for paper

  • Author: Ali Munir (Michigan State University)
  • Congestion Control, Transport, Data Center


摘要:

DC transport 像 DCTCP,PDQ,pFabric 经常被认为是竞争关系,(protocol A vs protocol B)。实际上这些protocol是互补的,于是我们提出了PASE,合并所有现有的transport策略

  • self-adjusting endpoints(TCP)
  • in-network prioritization(pFabric)
  • arbitration(PDQ).

PASE部署非常友好,相比那些需要改网络元素的state-of-the-art的protocol(pFabric)更好,我们评估了PASE(NS2 Simulation and TestBed)

引入:

每个DC网络transport的目标不同:

  • 最小化延迟时间
  • 最小化FCT(流完成时间);AFCT
  • 在DDL前完成flow

在本篇文章中,我们首先提取3种DC-transport设计方法:

  • 自我调整的端点 self-adjusting endpoints
  • 武断 Arbitration
  • 网络优先级 in-network prioritization

我们提出的PASE结合了这三者:

  • PASE 分布式 Arbitration 决定 flow 的优先级
  • TCP-like end-host Trnasport 来做rate control 和 loss recovery
  • 用优先级队列来scheduling 每个link之中的packet

本文的3个贡献是:

  • 贡献1:对比DC的这些协议的优势和劣势
  • 贡献2:设计PASE综合了这些策略,并且有controlplane,以及一个终端主机传输协议,并设计了一种速率控制机制。
  • 贡献3:评估 PASE 包括macro-benchmark 和别的协议对比,以及micro-benchmark 内部如何优化。

Transport策略

单一策略的种类与对比:

  • 1.Self-Adjusting Endpoints
    比如传统的TCP用的就是这一类的,又比如DCTCP和D2TCP,收发端自己会决定传输多少数量级的数据基于网路的拥塞。

  • 2.Arbitration
    Explicit rate protocols 比如PDQ,这一类的方法需要交换机来做排序的决定。

  • 3.In-network Prioritization
    在传输的protocol中,使用in-network优先级,包裹会带着流的一些属性,比如ddl和size,然后交换机来决定packet的去留。比如pFabric。

Comparison

策略Unison的好处:

论文在这边讨论了三种策略两两结合的好处

  • 1.In-network Prioritization complementing arbitration
  • 2.Arbitration aiding In-network Prioritization
  • 3.Arbitration helping Self-Adjusting Endpoints

分别举了例子来说明如何获得好处~

PASE

PASE 是一个传输框架,综合了三种传输策略, Prioritization,Arbitration, 以及Self-adjusting Endpoints,结合方式如下:

  • Arbitrators 做inter-flow prioritization流的优化,粗粒度的时间尺度调整。
  • 端点需要测试是否链路上有空余
  • In-network 优化机制需要聚焦于每个包裹的Prioritization,细粒度的优化。

Arbitration Control Plane

1.基本的判断算法

2.从底至上的层级判断(早期剪枝)+(代表团)

End-host Transport

最后的Output就是决定Priority Queue和一个Sending Rate

2个方向 Rate Control 速率控制以及 Loss Recovery丢包恢复。

Rate Control 速率控制。

  • [1].对于一个top queue里面的流,他的cwnd速率控制窗口是Rref x RTT
  • [2].对于一个lower priority queue里面的流,好好学习DCTCP
  • [3].对于一个bottom priority queue的流,窗口cwnd = 1

Loss Recovery 丢包恢复。

  • [1].对于一个top queue里面的流,采用现有的丢失恢复机制,基于超时的重传.
  • [2].对于一个lower priority queue里面的流,采用probe packets,有ack重传,没有ack我就加时。
  • [3].当包裹重新排序的时候,从低优先级到高优先级,降低传输量。

Implementation应用

  • 小范围Linux testbed.
  • NS2-Simulator.

Evaluation评估

模拟的设置

Evaluation

宏观基准

  • 首先对比Friendly Deploy,和DDL无关: DCTCP
  • 然后对比和DDL有关:D2TCP
  • 最后对比最好的但是要改switch的:pFabric
  • 在Multi-Link Scenario 和 High Loads的情况下都是PASE更好

微观基准

PASE 对于rate control比较敏感,所以可以通过调整rate control达到更好的整体效果

  • [1].Arbitration optimization
  • [2].Benefit of end-to-end arbitration
  • [3].Impact of number of priority queues & Reference Rate & Impact of RTO and Probing.

这些小细节都可以通过微调达到更好的效果。

TestBed上的评估

验证了之前的想法,的确PASE能够达到更优的AFCTs.

相关工作

  • 第一类 Self-adjusting Endpoints: 许多DC transports 使用这种策略.
    • 比如DCTCP 使用自适应的拥塞控制ECN.
    • 比如D2TCP和L2DCT分别在DCTCP基础上增加了deadline awareness以及size awareness
    • MCP在D2TCP基础上委派了更多的精确的流控制通过ECN标志
  • 第二类 Arbitration:
    • PDQ 和 D3 都采用Network-wide arbitration 但招致较高的流切换负荷。
    • PASE bottom up 方法和 EyeQ很类似
  • 第三类 In network prioritization:
    • pFabric: 使用in-network优先,通过基于priority的流调度以及丢包控制。
    • Detail: 一个跨层网络堆栈: 专注于最小化尾部延迟,但不针对AFCT.