DCQCN:Congestion Control for Large-Scale RDMA Deployments

Microsoft--sigcomm'15

核心思想:避免RDMA网络中的丢包,替代PFC流控方案,建立流模型调节交换机缓存阈值(用于标记ECN)

简介:

高带宽(40Gbps+)、低时延(10us- per hop)的数据中心网络需求。TCP/IP协议栈的运行模式需要大量的CPU开销,时延也相当高。RDMA将网络协议栈实现在网卡(NIC)上,通过Bypass的方式降低CPU开销,直接与对端内存进行交互。关键问题是如何为RDMA网络营造一个无损环境,如何在网卡上设计和实现拥塞控制协议避免丢包。

最初RDMA是部署在IB网络中的,IB网络的L2链路层使用逐跳、基于身份令牌的流控机制避免由于缓存溢出引发的丢包。所以L4传输层设计就相对简单,效率很高。但IB网络与数据中心中已有的以太网络不兼容,DC中同时运行两种网络的管理成本太高,于是基于Ethernet的RoCE(为了可路由)和基于UDP的RoCEv2(为了ECMP)产生了。若要达到与IB高效的性能,需保证RoCEv2运行在无损网络中,即不丢包。RoCE采用PFC粗粒度的流控机制,通过暂停发包的指令避免缓存溢出。PFC是基于端口(每个端口有8条虚拟优先级链路)的,不能区分流,容易造成拥塞扩散的现象,降低吞吐量。

所以,拥塞控制机制必须满足这些条件:(1)运行在数据中心三层路由网络中,实现无损网络(2)在终端主机上的CPU开销足够低(3)在非拥塞环境下快启动。

目前已有方案:QCN不支持三层网络。DCTCP和iWarp是慢启动。DCTCP和TCP-Bolt是在软件中实现的,CPU开销很大。

DCQCN:只需要交换机支持RED和ECN即可。协议实现在网卡上。可以保证快速公平收敛,高带宽利用率,低延迟。

conventional:常规的,惯例的

设计DCQCN的必要性:TCP/IP协议栈不能提供超低时延和超低CPU开销;目前PFC方案的弊端;以及解决方案的弊端

(1)测量比较TCP与RDMA的吞吐量、时延和CPU利用率

方案:TCP:修改iperf,开启LSO,RSS,使用16条线程,零拷贝操作      RDMA:使用自定义的工具测试IB read操作传送数据,一条线程占满一条链路。

(2)PFC的限制和弊端

PFC:通过监控ingress queue以及向上一跳发送PAUSE帧的方式避免交换机缓冲区和NIC缓冲区出现缓存溢出,从而避免丢包。

问题:PFC是针对端口和优先级进行流控的,不能识别流,会造成HOL问题,对单条流性能造成影响。不公平性。级联性。

解决方案:添加8条优先级。但随着发送端数量的增多,网络规模的扩大,可扩展性不高。并且处于同一优先级的不同流仍会遭受HOL问题。

(3)PFC改进方案的不足之处

改进方案:使用流级拥塞控制机制。

QCN:二层流控机制。依据mac地址和流id确定某条流,根据排队长度依概率判定是否拥塞,向发送该拥塞报文的源端发送拥塞通知。源端在周期内若收到拥塞通知,则降低发送速率,否则增加发送速率。

问题:QCN是通过二层mac地址标识流的,在IP网络中不可行,mac地址会变,交换机不知道该向谁发送拥塞通知包。

解决方案:扩展QCN支持三层流控。需要做的是修改NIC和交换机以支持用五元组标识流。修改交换机需要修改ASIC芯片,周期长,可实现性低。

DCQCN算法

不改交换机,在NIC上实现,考虑CPU开销。在性能方面上,要求公平带宽分配的快速收敛,避免震荡,维持短队长,确保高链路利用率。

CP算法(Congestion Point):在交换机上。与DCTCP机制相同,利用RED功能依据队列长度按照概率分布给数据包打上ECN标签。本方案中改进了DCTCP的参数设置模型。

NP算法(Notification Point):在接收端。决定了在收到ECN包后什么时间和怎样构造CNP(congestion notification packet)的问题。在某一时间周期内,最多只发送一个CNP包。N=50us。

RP算法(Reaction Point):在发送端。当收到CNP包时,怎么调节速率。当收到CNP包后,依照equation 1 调节;在连续K时间内,未收到CNP包,根据当前计时器(每T个时间单元为1,保证快恢复)和计数器(每B个字节为1)的值,按照equation 2 快速增加速率。

RP算法的伪代码

缓存区设置:Tflight,Tpfc,Tecn

需求:PFC的触发要晚于ECN,早于缓存溢出,避免丢包和吞吐量下降

讨论的前提:交换机为共享缓存模式,有32个全双工的40Gbps端口,12MB的共享内存,支持PFC的8条优先级队列

Tflight:用于存储PAUSE包发送时和生效时到达的数据包的内存大小。根据BDP,每个端口,每个优先级所需要的内存空间为22.4KB。

Tpfc:可理解为触发PFC的ingress 队列中可以占用的最大内存区域。每个端口的每个优先级队列的Tpfc值要小于等于24.47KB。而触发PFC的条件一定要比它小。当队列内存占用降低到Tpfc减去两个MTU的值时,会自动发送RESUME信号,恢复发包。

Tecn:触发ECN标记的最小egress queue占用的内存空间。该值的设置一定要使ECN先于PFC触发。最坏情况下,所有的egress queue的包都来自于同一条ingress queue,为保证ecn先于pfc触发,则Tecn应小于0.85KB,小于一个MTU长度,不可行。这种想法过于静态,由于交换机内缓存资源是共享的,所以Tpfc的设置应取决于剩余的可用资源。如下公式:

S为所有egress队列占用的缓存资源,此公式为是交换机依赖的
在最坏情况下的Tecn经过放缩后的结果

DCQCN分析:建立流模型决定参数设置

建立了当前速率,目标速率,速率增长步长,速率调节参数α,等一系列参数。

实验结果:搭建实验床验证流模型和参数设置的有效性

DCQCN是基于速率调整的拥塞控制方案,DCTCP、iWarp和TCP-Bolt都是基于窗口的拥塞控制算法。

下一步研究方向:将机器学习应用到DCQCN算法中调节参数设置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容