在高性能、可扩展和无掉话的数据中心交换结构内的流控制的制作方法_5

文档序号:9238042阅读:来源:国知局
们传输)。然而,源HNA17AS不能递送速率2,因 为它被约束成速率1 (这里为了易于描述而代表用于源HNA17AS的向交换结构14中的最大 传输带宽或者注入速率I)。取而代之,源HNA17AS可以根据等式(4)在目的地17Ad-17Bd 之中成比例地分配它的传输带宽。这向目的地17Ad-17Bd中的每个目的地产生# = 继续 该例并且令1^为目的地17AD指示的速率而r 目的地17BD指示的速率,源HNA17As根据 等式(4)计算U :和计算h= 。这满足注入带宽约束< 1以及接收的注入约束 rdPrB,因为对于这些指示的速率中的每个速率而计算的实际传输带宽中的每个实际传输 带宽小于速率本身,因SrA+rB> 1。这些结果对于如下示例成立,在这些示例中,HNA17的 传输和接收带宽是与1不同的带宽。
[0108] 这一公式表示产生以下规则:
[0109] (1)目的地确定如何向源分配带宽。没有源可以超过它的由目的地向该源分配的 带宽(速率r-以字节/秒(B/s)为单位表达)。
[0110] (2)源可以由于向其它目的地的承诺而确定向给定的目的地发送少于它的分配的 带宽(速率r)。
[0111] 以下是这里使用的符号表示方案的概要。
[0112] (Dqyi在源S#的引向目的地Dj的虚拟输出队列(V0Q)中的字节数目。VOQ 可以是用于图8-10B中的队列集合212的另一术语。
[0113] ⑵^尸如目的地D」确定的、该源Si应当向目的地D」发送的字节数目/秒。
[0114] (3) 4尸在源Si归一化之后的、源Si将向目的地D」实际发送的字节数目/秒。等 式(4)是归一化的至少部分的示例。
[0115] 现在将进一步具体描述流控制信息的交换。源HNA经由交换结构14向目的地HNA 发送数据分组。首先,源HNA的流控制单元149可以在从源HNA向目的地HNA发送的每个 分组中嵌入用于与目的地HNA关联的队列集合212的队列的队列长度。第二,对于目的地 HNA从特定源HNA接收的每L字节,目的地HNA的流控制单元149返回确认,该确认包括为 该源HNA/目的地HNA对而计算的速率r。在一些示例中,L= 4KB。
[0116] 为了(1)潜在地减少用于源HNA斜升至全速的时间和(2)在丢失L字节或者确认 消息的情况下防止死锁,源HNA的流控制单元149向目的地HNA周期性地发送流控制信息, 而目的地HNA的流控制单元149向源HNA周期性地发送流控制信息。例如目的地可以配置 200Gbps交换结构之中的2Gbps信道(或者总带宽的1% )用于心跳分组、比如图6的心跳 分组190的周期性流控制交换。
[0117] 心跳分组190用作从源HNA到目的地HNA的保活/心跳并且例如在队列长度字段 196中包括从源到目的地的队列长度信息q。心跳分组190也例如在速率字段197中包括 从目的地到源的速率信息r从而记住每个目的地HNA也是源HNA并且反之亦然。因此,单 个心跳分组190可以包括从源到目的地的队列长度信息和从该目的地到该源的速率信息 二者。这具有摊销以太网和IP报头的心跳分组190开销的这样的有益效果。
[0118] 心跳分组190还包括时间戳。在一些情况下,心跳分组190可以在网络优先级被 转发,该网络优先级是最低延时/最高优先级。时间戳可以允许HNA同步它们的时钟达到 高精确程度。在以上表1中对于提供4个优先级信道的HNA描述用于心跳分组190的总大 小。用于表1的队列长度和允许的速率字段大小(以字节为单位)将对于更少/更多优先 级信道更小/更大。表1例如示出为队列长度而分配的8字节。如以下进一步具体描述的 那样,对于16位粒度(即n= 16),8字节为用于对应优先级值的4个不同队列长度提供空 间。对于允许的速率的分析相似。
[0119] 心跳分组190的总帧大小按照表1可以是64字节=512位。这样,在2Gbps(分 配的信道带宽),这分解为在相继心跳分组190之间的~4M帧/秒或者250ns。假设每个 HNA具有~100个HNA的"跨度"(即与这些HNA通信),那么在最坏情况下,队列长度和速 率信息可能陈旧250ns*100 = 25ys。然而如果与背负的流控制信息及时地传输充分数据 以满足以上安排的定时约束,则HNA无需发送心跳分组190。因此,流控制信息可以频繁地 超前25ys。进而另外,即使在交换结构14中丢弃包括流控制信息的消息,仍然可以在下一 分组中提供这样的流控制信息。
[0120] 图11是根据在本公开内容中描述的技术的主机网络加速器的用于执行流控制的 示例操作模式的流程图。出于示例目的而关于作为图7-10B的系统210的HNA17操作的 计算设备100的HNA11描述示例操作模式300。对于i,jGN,每个源Si向目的地L报告 队列长度(例如以字节为单位)。也就是说,作为源HNA1\操作的计算设备100的多 个实例的流控制单元149生成或者修改分组以包括用于队列151的队列长度而向作为目的 地HNA17D (这些可以是与源HNA17s相同的HNA)操作的计算设备100的多个实例传输对 应队列长度(302)。可以在图10A的队列长度消息214中包括或者由这些消息代表这些分 组。对于i,jeN,每个目的地h确定和向每个源S^艮告速率ri, ^ (例如以字节/秒为单 位)。也就是说,使用报告的队列长度,作为目的地HNA1'操作的计算设备100的流控制 单元149可以通过根据代表将从每个源HNA发送的数据量的队列长度成比例地分配接收带 宽来确定速率。流控制单元149生成或者修改分组以向作为源HNA17s操作的计算设备的 多个实例传输已确定的对应速率(304)。可以在速率消息216中包括或者由这些速率消息 代表这些分组。每个源SJ3-化速率以确定实际、归一化的速率以满足源Si的有限带宽约 束&。也就是说,作为源HNA1\操作的计算设备100的流控制单元149根据从各种目的 地接收的速率成比例地分配总传输带宽(306)。源Si确定从Sglj目的地D」的归一化的速 率A.i如下:
[0121] (5)
[0122] 简单明了示出Sf=1+t, =B。调度器148可以应用每个HNA111为各种目的地 HNA而确定的归一化的速率。以这一方式,执行操作模式300的计算设备100可以有助于高 效分配交换结构14的有限带宽和在源HNA17s/目的地HNA^。对之间的无掉话、可扩展的 端到端通信。
[0123] 现在描述图11的操作模式300的多个示例。下文使用以下紧密矩阵符号表示以 提供队列长度和速率的备选表示:
[0124]
[0125]
[0126]
[0127] 每个源Si也是目的地Di并且具有带宽Bit)在一些示例中,传达作为根据配置 的队列标度值、qW字节而缩放的n位值。换而言之,可以用qu1字节为单位测量qi,」,其中 qW可以是2的幂。在一些情况下,可以在隧道分组155的字段186中包括q在一些示 例中,传达I'm作为根据配置的速率标度值、rUibps而缩放的k位值。换而言之,可以用 rUi字节/秒为单位测量ru,其中rUi可以是2的幂。在一些情况下,可以在隧道分组155 的字段187中包括ry。作为缩放的范围的示例计算,对于qu= 64B和n= 16位,qmin是0 而QmM是 2 6*216= 2 22= >4MB。作为另一示例,对于ru= 16MB/s= 128Mbps和k= 16 位, rmin是 0 而:r隨是 128*2 16= >8Tbps。
[0128] 以这一方式缩放队列长度和速率值对于HNA17中的每个HNA可以有助于关于存 储器容量、HNA设备的速度等、根据HNA的能力而定的用于耦合到交换结构14的各种HNA的 这些值的范围的适当粒度水平。在一些示例中,对于所有ieN(对于耦合到交换结构14 的所有HNA17),图4的HNA111的配置数据134存储quprui。如以上描述的那样,配置数 据134可以由控制器22设置或者在一些情况下可以在HNA17之中被交换用于向配置数据 134存储,其中它可由用于HNA的流控制单元149访问
[0129] 对于这里描述的流控制操作的描述可以在一些示例中关于多个优先级出现。因 而,字段187可以包括用于优先级1-p中的每个优先级ri,j的值,其中p是耦合到交换结构 14的HNA17赋予的优先级数目。类似地,字段186可以包括用于优先级1-p中的每个优先 级qq的值。P的示例值包括2、4和8,但是其它值是可能的。
[0130] 图12A是图示根据这里描述的技术的示例系统的框图,在该系统中,主机网络加 速器应用流控制。来自源HNA402A-402B和目的地HNA402C-402F的每个HNA可以代表这 里描述的HNA17中的任何HNA的示例。源HNA402A-402B和目的地HNA402C-402F交换根 据这里描述的流控制技术确定的队列长度和速率值以便按照待发送的数据量和目的地HNA 402C-402F的用于接收这样的数据的能力成比例地分配带宽。源HNA402A有数据要向目 的地HNA402C、402D传输,并且这样的数据以满足或者超过源HNA402A的最大传输速率的 速率被入队列。换而言之,源HNA402A在最大传输容量。源HNA402B有数据要向目的地 HNA402D、402E和402F传输,并且这样的数据以满足或者超过源HNA402B的最大传输速率 的速率被入队列。换而言之,源HNA402B在最大传输容量。
[0131] 对于关于图12A的第一示例确定,为了简化而假设所有队列具有相同队列长度。 将所示队列长度设置成对干Q为单位1造成源HNA402A、402B计算:
[0132]
[0133] 其中i= 2行代表源HNA402A-402B而j= 4列代表目的地HNA402C-402F。由 于列总和为1,所以满足对于目的地402C-402F的目的地带宽约束。然而源HNA402A-402B 归一化行,因为行总和不为1 :
[0134]
[0135] 在图12A上图示这一结果。
[0136] 作为关于图12A的第二示例确定,设置队列长度为:
[0137]
[0138] 通过为每个元素计算等式(3),目的地HNA402C-402F确定R为:
[0139]
[0140] 并且向源HNA报告。通过为每个元素计算等式(4),源HNA402A-402B确定曼为:
[0141]
[0142] 图12B是图示根据这里描述的技术的另一示例系统的框图,在该示例系统中,主 机网络加速器应用流控制。图12B对于不同队列长度图示用于图12A的HNA的概念拓扑。 这里,源HNA402A有数据要向目的地HNA402E、402F传输;源HNA402B有数据要向HNA 402E传输;源HNA402C有数据要向目的地HNA402F传输;并且源HNA402D有数据要向目 的地HNA402F传输。在这一示例中,接收带宽满足或者超过目的地HNA402E、402F的最大 接收速率。
[0143] 这里,目的地HNA402E、402F计算R为:
[0144]
[0145] 并且向源HNA报告。通过为每个元素计算等式(4),源HNA402A-402D确定慶为:
[0146]
[0147] 在这一情况下H=兵,因为已经满足约束而事实上无需归一化。也就是说,当且 仅当R矩阵的行超过传输约束,则对于该行需要归一化。源HNA402A-402D可以在一些情 况下可以避免归一化,因此如果行在对于源HNA的传输约束内,则这与等式(4)相符。
[0148] 通过为在物理网络、例如交换结构14的边缘操作的HNA高效地和公平地分配接收 和传输带宽,数据中心10提供方可以向多个租户赋予高度可扩展的数据服务以有效使用 大量内部网络带宽。如以上描述的那样,耦合这些服务与HNA进一步提供的流控制可以有 助于向在下层物理网络的边缘操作的HNA的虚拟路由器128延伸的多点到多点、无掉话和 可扩展的物理网络。向虚
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1