一种基于单维最小化分组的不确定incast流量聚合方法

文档序号:10690963阅读:296来源:国知局
一种基于单维最小化分组的不确定incast流量聚合方法
【专利摘要】本发明公开了一种基于单维最小化分组的不确定incast流量聚合方法,包括对不确定incast传输的发送端进行划分,将被选中的发送端组成相互之间不相交的组,所述组内的发送端服务器相互之间只有一跳距离;对所述组进行清洗,使同一条数据流的所有候选发送端只有一个出现在最终的所述组中;在所述组中的发送端和incast传输的接收端之间构建最小代价的incast传输聚合树,并在所述incast传输聚合树上进行流量传输。从而实现在最优incast树上进行调度,并且通过在传输过程中进行缓存和流量聚合,进而实现网内聚合的增益。
【专利说明】
-种基于单维最小化分组的不确定i ncast流量聚合方法
技术领域
[0001] 本发明设及数据中屯、内数据密集型应用的网络传输领域,特别是指一种基于单维 最小化分组的不确定incast流量聚合方法。
【背景技术】
[0002] 在MapReduce、Spark、Gra地X等数据密集型应用中,网络都起到着关键作用。尽管 运些应用各不相同,但它们都普遍遵从流计算模式,即在相邻处理阶段需要传递大量的中 间计算结果。在很多时候,运些流量是高度相关的。多对多的shuffle传输和多对一的 incast传输贡献了数据中屯、的大部分流量,对应用的性能和数据中屯、的运营产生了严重影 响。
[0003] 为了解决运些流量传输问题,提高未来数据中屯、的网络容量,人们提出了许多网 络结构来改善运一问题,例如化t-化ee,VL2,BCube和BCN。除了从网络拓扑结构上研究外, 更重要的是充分利用数据中屯、内的网络带宽。很容易想到的是,通过流量调度来使数据中 屯、内的网络得到最优化使用。然而,即使采用运些按需设计的优化方法,随着数据中屯、内应 用的增加,网络资源终将会耗尽,数据密集型的应用仍会遇到网络传输的问题。
[0004] 如果从应用和网络的角度来进行组合优化,即从流量传输模式来考虑的话,可能 会对问题的解决有所帮助。运种思路基本的出发点是在相邻处理阶段减少中间结果的传 输。运种方法不同于W往的提高网络容量和流量调度,也因此可将它们结合起来进一步优 化数据中屯、内的流量。由于shuffle传输可W分解为一组彼此独立的incast传输,因此只需 要重点研究incast传输的网内数据聚合。
[0005] 在数据中屯、内针对incast流量进行网内聚合,可W解决之前提出的问题。。网内聚 合是指在终端或者相邻阶段的设备上进行流量聚合运算。在传统的方法中,流量传输的发 送端是固定的,我们称运种方式为确定incast传输。在确定incast传输中,所有的流量可W 在最优incast树上进行调度,并且通过在传输过程中进行缓存和流量聚合可W实现网内聚 合的增益。
[0006] 然而,在很多时候,incast传输的发送端并不能预先知道。对于很多incast传输而 言,发送端的选择并不需要设置在特别的地方,而应该是那些满足一定约束条件的服务器 就可W。对于运种发送端和接收端都不能确定的incast传输,我们将其定义为不确定 incast 传输。
[0007] 事实上,对不确定incast传输的发送端和接收端进行初始化W后,不确定incast 传输可W看作不同情况下确定incast传输的一种,而在运一系列可能的确定incast传输 中,其网内聚合的增益是不同的。由此,可W用确定incast传输的方法来对流量进行聚合, 并从中选出情况最好的一种。但是,在确定incast传输中,最小聚合树的构建是NP问题,如 果采用从诸多确定incast传输的聚合树中选出最佳的聚合树,其复杂度相当于解决一系列 NP问题。因此采用确定incast传输聚合树的方法来解决不确定incast传输问题将是无法可 行的。

【发明内容】

[0008] 有鉴于此,本发明的目的在于提出一种解决在数据中屯、中不确定incast传输问题 的方法。
[0009] 基于上述目的本发明提供的一种基于单维最小化分组的不确定incast流量聚合 方法,包括:
[0010] 对不确定incast传输的发送端进行划分,将被选中的发送端组成相互之间不相交 的分组,所述分组内的发送端服务器相互之间只有一跳距离;
[0011] 对所述分组进行清洗,使同一条数据流的所有候选发送端只有一个出现在最终的 所述分组中;
[0012] 在所述分组中的发送端和incast传输的接收端之间构建最小代价的incast传输 聚合树,并在所述incast传输聚合树上进行流量传输。
[0013]进一步的,所述对不确定incast传输的发送端进行划分的过程包括:
[0014] 使用k+1个路由标识符中的每一个路由标识符对所有数据流的候选服务器集Si(l 《i《m)的并进行分组,并比对所有路由标识符进行分组的结果,得到使分组数最少的路由 标识符。
[0015] 进一步的,所述对所述分组进行清洗的过程包括:
[0016] 将分组按照所含元素多少进行降序排列,对排在第一的分组,考察其元素 nodeO, 如果中包含该元素,则将Si中除nodeOW外的其余元素删除,同时在发送端分 组中将所述被删除的元素删除;
[0017] 如果在Si (1《i《m)中不包含nodeO,则将nodeO从发送端分组中删除;
[0018] 对排在后面的分组,也执行上述操作;
[0019] 其中,Si为候选发送端集,m为数据流的条数,nodeO为Si中的发送端服务器。
[0020] 进一步的,所述在所述分组中的发送端和incast传输的接收端之间构建最小代价 的incast传输聚合树的过程包括:
[0021] 将发送端和接收端扩展为一个k+2层的多级有向图,其中,所述接收端位于第0阶 段,所述接收端的j跳邻居为位于阶段j的服务器,在每阶段选出额外的服务器。
[0022] 进一步的,所述在每阶段选出额外的服务器的过程包括:
[0023] 在任一阶段,对于包含服务器个数大于1的分组,组内的服务器标识符仅在一个维 度上不同,来自阶段k+1的同一分组的数据流被转发至位于阶段k的1跳共同邻居服务器进 行聚合,若所述共同邻居服务器是组Gi中的服务器,则将所述共同邻居服务器映射到阶段 k,否则,在阶段k新加一台服务器来作为阶段k+1的邻居服务器。
[0024] 进一步的,所述在每阶段选出额外的服务器的过程包括:
[0025] 在任一阶段,对于包含服务器个数等于1的分组,发送端在选择下一阶段的邻居服 务器时,优先考虑那些作为发送端的服务器。对于一台发送端服务器nodeO,若在路由标识 符ej下,存在在某个维度上有一台邻居服务器,所述邻居服务器出现在其它分组中,贝U nodeO把数据流转发至同阶段内的邻居服务器上。
[0026] 从上面所述可W看出,本发明提供的一种基于单维最小化分组的不确定incast流 量聚合方法,包括对不确定incast传输的发送端进行划分,将被选中的发送端组成相互之 间不相交的组,所述组内的发送端服务器相互之间只有一跳距离;对所述组进行清洗,使同 一条数据流的所有候选发送端只有一个出现在最终的所述组中;在所述组中的发送端和 incast传输的接收端之间构建最小代价的incast传输聚合树,并在所述incast传输聚合树 上进行流量传输。从而实现在最优incast树上进行调度,并且通过在传输过程中进行缓存 和流量聚合,进而实现网内聚合的增益。
【附图说明】
[0027] 图1为本发明基于单维最小化分组的不确定incast流量聚合方法一个实施例的示 意图。
【具体实施方式】
[0028] 为使本发明的目的、技术方案和优点更加清楚明白,W下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0029] 如图1所示,为本发明基于单维最小化分组的不确定incast流量聚合方法一个实 施例的示意图,在本实施例中,所示基于单维最小化分组的不确定incast流量聚合方法包 括W下步骤:
[0030] 步骤101:对不确定i ncas t传输的发送端进行划分,将被选中的发送端组成相互之 间不相交的组,所述组内的发送端服务器相互之间只有一跳距离。
[0031] 步骤102:对所述组进行清洗,使同一条数据流的所有候选发送端只有一个出现在 最终的所述组中。
[0032] 步骤103:在所述组中的发送端和incast传输的接收端之间构建最小代价的 incast传输聚合树。
[0033] 步骤104:在所述incast传输聚合树上进行流量传输。
[0034] 其中,步骤101和步骤102为在不确定incast传输中直接减少网络流量的第一阶 段,即对不确定incast传输的发送端进行初始化选择,解决的是最小化发送端分组问题 (MSG,mininal sender group),运些被选中的发送端组成相互之间不相交的组,使得组内 的发送端服务器相互之间只有一跳距离。运样,来自同一分组的流量可W在1跳邻居服务器 上进行聚合。通过运种办法,可W在最早时间内减少流量。
[0035] 步骤103和步骤104为在不确定incast传输中直接减少网络流量的第二阶段,在给 出第一阶段选出的发送端和随机的接收端后,将考虑在发送端和接收端之间构建出最小代 价的incast传输聚合树,并提出两种算法,分别是interstage-bassed和intras1:age-based 算法。运两种算法都能够充分利用第一阶段产生的发送端分组。
[0036] 本发明基于单维最小化分组的不确定incast流量聚合方法,在关联性流量的网内 传输阶段而不是仅在流量的接收端进行流间数据聚合,可W减少网络流量,并且能够更有 效地使用网络带宽。首先提出了发送端服务器的初始化选择算法,该算法能够产生最少的 发送端分组,使得同一分组的流量可W进行聚合。为了充分利用运些分组所能带来的增益, 又提出了两种incast树的构建算法。实验表明所提算法在incast流量网内聚合研究中很好 的发挥了不确定incast传输的好处。从减少网络流量和节省网络资源的角度来看,不确定 incast流量传输要优于确定incast流量传输。
[0037] 许多类似于MapReduce的应用,例如化yad、Pregel和Spark等应用,都遵循着流计 算模式,即在相邻处理阶段间需要传递大量的中间计算结果WMapReduce为例来分析确定 incast传输问题。一次MapReduce的作业是由两个连续处理阶段组成。
[0038] 在Map阶段,mapper任务对输入的数据执行map操作,产生一个键值对的序列。在 Reducer阶段,reducer任务对输入的数据执行用户定义的reduce操作,通常是聚合操作。每 个reducer任务被分配一个map输入的值域区间的一个唯一划分,在shuffle阶段从每个 mapper的输出中提取出分配给它的键值对。
[0039] -般来说,shuffle传输包含m个发送端和η个接收端,任意一对发送端和接收端之 间形成一条数据流。incast传输则是由m个发送端和其中一个接收端形成,每个发送端都向 同一接收端发送数据流。
[0040] 未来数据中屯、的网络互联结构大致可W分为W下两类:
[0041] 第一类是W交换机为核屯、的网络结构。该结构将交换机组织成树形之外的其他特 定结构,并将网络互联和路由功能放到交换机上。典型代表包括化t-化ee、VL2、PortLand。 一些网络设备厂家近来致力于给交换机增加网内包缓存和数据处理的功能,Cisco和 Juniper都开发出了可编程的ASICs忍片来支持运一功能。另外,常用的交换机也可W通过 专用设备来进行运些功能的扩展。运些基于ASIC忍片、FPGA忍片和软件的交换机都有可编 程的数据平面来支持incast传输的网内聚合。
[0042] 第二类是W服务器为核屯、的网络结构,其中主要的互联和路由功能由服务器承 担。Bcube、BCN、CamCube都属于运类结构。实际应用中,服务器通过千兆可编程交换板卡 561^6巧¥;[1:地和0]1615¥;[1:地来定制报文转发功能。如先前的研究工作中所介绍的,配备 ServerSwitch的服务器能支持新型网络设备,如网内包缓存。因此,W服务器为核屯、的数据 中屯、网络结构为实现流间数据聚合带来了可能。如果有多个数据流在服务器汇合,先到的 数据流会在服务器缓存。当所有得数据流都到达W后,服务器会对运些数据流进行聚合操 作,形成新数据流,并转发给接收端。
[0043] 将数据中屯、的拓扑结构用一张图来表示,即图G=(V,E)。其中V是点的集合,每个 点都代表交换机或者服务器。E是边的集合,若边(u,v)存在,则说明u、v对应的交换机和服 务器之间存在链路连接。
[0044] 许多数据密集型的应用都会设及多阶段处理问题,产生incast传输问题。运些 incast传输问题一般会消耗大量的网络资源,已经有一些方法被提出来解决incast传输问 题。但是,运些方法都是针对确定incast传输问题,即需要事先知道数据流的发送端和接收 端的位置。
[0045] 在许多incast传输中,数据流的发送端并不是固定在某一位置的,只要其满足约 束条件即可。例如,map阶段mapper可W从Ξ个主机上选择一个主机进行数据映射,运就使 得incast传输中发送端的选择变得灵活起来。为了更好表示运一个问题,我们假设每条数 据流都有Ξ个发送端服务器可W选择,如果有m个数据流,则可能出现的组合为3m个。另外, 在reduce阶段,reducer也会从整个数据中屯、内进行调度选择,运又会使incast传输中的接 收端的选择更为灵活。基于W上分析,我们可W得出,incast传输的发送端和接收端都是不 确定的,下面我们给出不确定incast传输的定义。
[0046] 对incast传输而言,最小聚合树问题就是从图G=(V,E)中找到一个连通子图,运 个子图覆盖所有的incast节点,并且花费代价最小。在密连接的数据中屯、中,如BCube,为 incast传输寻找一个最小聚合树已经被证明是个NP难问题。同样地,在不确定incast传输 中寻找最小聚合树也是NP难问题。
[0047]不失一般性地,我们用BCube结构来说明不确定incast传输的聚合问题。B化be (η, k)可被抽象为k+1维n-a巧的广义超级立方体。在BCube(n,k)中,如果两个分别被标识为 和ykyk-1…ylyO的服务器只在j维上标识不同,则运两个服务器互为1跳邻 居。运样的两个服务器在B化be(n,k)结构中是由被标识为yk…7^'+17^'-^^17〇的交换机互 联。因此,可W知道,一个服务器在每一个维度上的1跳邻居服务器均有n-1个,且它们之间 通过交换机相连。另外,两个服务器如果在j个维度上不同,则运两个服务器的距离为j跳。 [004引为了实现不确定incast传输的网内聚合,设计了一套近似算法来解决该问题,算 法充分利用了数据中屯、的拓扑结构。算法分为两个连续的处理阶段,第一阶段,在不确定 incast传输中选出最优的发送端,如果有m个数据流,每个数据流都可W有3个发送端时,贝U 需要从3m种情况中选出最优的一种情况;第二阶段,在选出发送端服务器W后,需要构建出 incast聚合树W实现最大化增益。
[0049] 尽管是在BCube结构的数据中屯、中研究不确定incast传输问题,但是本发明所提 出的算法同样适用于其它结构的W服务器为核屯、的数据中屯、。incast树的构建算法需要利 用数据中屯、不同结构的拓扑特征。在W交换机为核屯、的数据中屯、中,如果其结构为FB化Y和 Hype巧,且都使用了可编程数据平面的新型交换机,则可W同样使用本章提出的算法用于 构建incast树,因为它们的结构和B化be-样,都属于广义超级立方体。
[0050] 在实际中,不确定incast传输往往是从3m个服务器中选出发送端,并指派一个接 收端。从诸多作为候选发送端的服务器中选出发送端来构造 incast树时,其代价也是因为 发送端的选择不同而不一样。
[0051] 发送端分组数越少,网络流量也就越少。为了最小化网络流量,我们将倾向于寻找 一种可W使得发送端分组数尽可能少的发送端服务器组合。而且在运种发送端的情况下, 数据流可W在传输阶段尽可能早地进行网内聚合,从而达到节省网络资源的目的。但是,对 于不确定incast传输而言,找到一组能够使incast传输聚合增益最大的发送端是不容易 的。运也促使我们研究不确定incast传输问题中的最小发送分组问题。
[0052] 对于有m个数据流的不确定incast传输,最小化发送端分组问题(MSG)就是指对每 条数据流从候选服务器中选出一个确定的发送端服务器。所有数据流的发送端能够组成最 小分组数的发送端分组。发送端的分组依赖于从候选服务器中所选出的服务器。为了能够 实现网内聚合的效果,从同一分组发出的数据流在经过1跳传输之后应该能够在共同聚合 点进行聚合,从而实现网络流量的减少。
[0053] 作为本发明的一个实施例,所述对不确定incast传输的发送端进行划分的过程包 括:
[0054] 使用k+1个路由标识符中的每一个路由标识符对所有数据流的候选服务器集Si(l 《i《m)的并进行分组,并比对所有路由标识符进行分组的结果,得到使分组数最少的路由 标识符。
[0055] 作为本发明的另一个实施例,所述对所述组进行清洗的过程包括:
[0056] 将分组按照所含元素多少进行降序排列,对排在第一的分组,考察其元素 nodeO, 如果中包含该元素,则将Si中除nodeOW外的其余元素删除,同时在发送端分 组中将所述被删除的元素删除;
[0化7] 如果在Si (1《i《m)中不包含nodeO,则将nodeO从发送端分组中删除;
[005引对排在后面的分组,也执行上述操作;
[0059] 其中,Si为候选发送端集,m为数据流的条数,nodeO为Si中的发送端服务器。
[0060] 作为本发明的再一个实施例,所述在所述组中的发送端和incast传输的接收端之 间构建最小代价的incast传输聚合树的过程包括:
[0061] 将发送端和接收端扩展为一个k+2层的多级有向图,其中,所述接收端位于第0阶 段,所述接收端的j跳邻居为位于阶段j的服务器,在每阶段选出额外的服务器。
[0062] 作为本发明的又一个实施例,,所述在每阶段选出额外的服务器的过程包括:
[0063] 在任一阶段,对于包含服务器个数大于1的分组,组内的服务器标识符仅在一个维 度上不同,来自阶段k+1的同一分组的数据流被转发至位于阶段k的1跳共同邻居服务器进 行聚合,若所述共同邻居服务器是组Gi中的服务器,则将所述共同邻居服务器映射到阶段 k,否则,在阶段k新加一台服务器来作为阶段k+1的邻居服务器。
[0064] 在本发明的其他一些实施例中,所述在每阶段选出额外的服务器的过程包括:
[0065] 在任一阶段,对于包含服务器个数等于1的分组,发送端在选择下一阶段的邻居服 务器时,优先考虑那些作为发送端的服务器。对于一台发送端服务器nodeO,若在路由标识 符ej下,存在在某个维度上有一台邻居服务器,所述邻居服务器出现在其它分组中,贝U nodeO把数据流转发至同阶段内的邻居服务器上。
[0066] 对于不确定incast传输而言,最基本的想法就是使用k+1个路由标识符中的每一 个路由标识符对所有数据流的候选服务器集的并进行分组。通过比对所有路 由标识符进行分组的结果,进而能够得到使分组数最少的路由标识符。不失一般性地,我们 假定最佳路由标识符为eO。由路由标识符eO导出的分组并不能直接用于解决最小化发送端 分组问题。究其原因,就在于运些分组把每条数据流的所有候选服务器都包括了。因此,我 们在分组之后又进行了清洗操作,如算法伪代码中的函数CleanupO所示,其结果是使得一 条数据流的所有候选服务器只会有一个服务器出现在最终的最小化发送端分组中。
[0067] 先将分组按照所含元素多少进行降序排列,然后进行相关处理。对于排在第一的 分组,考察其元素 nodeO,如果中包含该元素,则将Si中除nodeOW外的其余元 素删除。运种方法可W使Si中的不确定发送端问题变为确定问题。另外,那些被删除的元素 应该在发送端分组中也被删除。如果在Si (1《i《m)中不包含nodeO,则将nodeO也从发送端 分组中删除。对排在后面的分组,也执行运样的操作。最终结果将产生一个满足定义2的发 送端分组,也就是,每条数据流只有1个服务器作为发送端。
[006引针对上述过程,本发明提出了基于单维的MSG贪婪算法(SD-based MSG),如下: 「00691
[0071] 基于单维的MSG贪婪算法的时间复杂度为0(m2+mXk)。
[0072] 证明:算法1由两阶段组成,包括划分阶段和清洗阶段。在划分阶段,Partition(S, ei)的时间复杂度为0(m),它至多处理3Xm个服务器。而从k+1个路由标识符中寻找到最佳 路由标识符的时间复杂度为O(mXk)。在清洗阶段,对分组进行排序的复杂度为0(m2),因为 分组数最多为3Xm个。对分组执行清洗函数时,需要对任意一对分组进行比对,因此其时间 复杂度为0(m2)。因此,整个算法的时间复杂度为0(m2+mXk)。
[0073] 通过发送端服务器的初始化选择,使得对于每条数据流,都只有1个服务器可W作 为发送端。另外,运些被选出作为发送端的服务器可W被分组为61,62,一(^3。运就使得不确 定incast传输问题退化为发送端确定,接收端不确定的incast传输问题。
[0074] 为了充分研究网内聚合的增益,进一步考虑有任意一个接收端的incast传输问 题。运样的incast传输有一个接收端R,有一个发送端集合S = {S1,s2,· · · sa}。根据定义3,将 发送端进行分组,分组结果为61,62,-'(^3。需要注意的是,发送端服务器集合的个数〇要小 于数据流的个数m,运是因为,有些服务器可W作为多个数据流的发送端。因此,在所有数据 流的发送端候选服务器集合S1,…,Sm中,将服务器si出现的次数记为ci。
[0075] 要解决上面所提的incast传输问题,目标就是在图G=(V,E)中构造出一个覆盖所 有参与incast传输的发送端和接收端的incast聚合最小代价树,使得每台发送端服务器发 出的数据流都能沿着树进行传输,被接收端则欠到。
[0076] 在incast传输中,所有的发送端和接收端可W被扩展为一个k+2层的多级有向图。 其中,只有接收端位于第0阶段,而位于阶段j的服务器必须是接收端的j跳邻居。考虑发送 端服务器的分组Gl,G2,-'Gi3,对于任意一个分组它与接收端r的距离有如下性 质。
[0077] 如果|Gi 1=1,且该分组中唯一的服务器是发送端的j跳邻居,则其位于阶段j。
[0078] 如果|Gi|>l,则该分组中的服务器在给定维度上相互之间都是1跳邻居。因此运 些服务器都是接收端的j-1跳邻居或者是j跳邻居。它们要么是位于阶段j-1要么是位于阶 段j。
[0079] 只是将运些服务器映射到多级有向图中,是不能构成incast聚合树的。问题在于 如何在每阶段确定最小数目的服务器,W及如何在连续阶段内确定交换机。在前面中提到, 交换机的标识可W由它相关联的服务器的标识所确定。因此,构建incast树的重点就在于 在每阶段选出额外的服务器。
[0080] 在每一阶段,服务器的个数越少,其向下一阶段输出的数据流个数越少,因为来自 上一阶段的数据流会在本阶段进行聚合,并且聚合结果是输出1条数据流。我们所提的算法 初衷就是在阶段j-1找出一台服务器,使得阶段j尽可能多的服务器都与它是邻居。运样,阶 段j-1的服务器个数就会减少。
[0081] 从阶段k+1递归地找出阶段k的服务器,直到阶段1。从阶段k+1开始,阶段k+1只包 括距离接收端k+1跳的服务器。运些服务器均是来自于分组G1,G2,…地中的k+1跳服务器。 运些分组是按照分组中的元素个数进行排序,并且按照该序依次处理。
[0082] 对于包含服务器个数大于1的分组,即I Gi I > 1,组内的服务器标识符仅在一个维 度上不同,例如ei。我们的想法是,来自阶段k+1的同一分组的数据流被转发至位于阶段k的 1跳共同邻居服务器进行聚合,我们称运种方法是阶段间的聚合。共同邻居服务器可W通过 路由标识符ei确定,它与分组Gi中的服务器只在ei维标识不同,它在ei维的标识与接收端 的ei维标识相同。共同邻居服务器可W是分组Gi中的服务器,也可W不属于该分组。如果是 分组Gi中的服务器,则将其映射到阶段k,否则,在阶段k新加一台服务器来作为阶段k+1的 邻居服务器。
[0083] 对于包含服务器个数等于1的分组,即|Gi I =1。组内唯一的一台服务器在阶段k上 在k个维度上均有1跳邻居服务器。如果发送端服务器在阶段k随机选择一个1跳邻居服务 器,其产生的incast树可能不是最优的。一种合理的办法就是发送端在选择下一阶段的邻 居服务器时,优先考虑那些作为发送端的服务器。运样,来自分组Gi和本阶段的数据流可W 实现阶段间(inter-stage)的聚合。在特殊情况下,例如对于1个分组,它的1跳邻居服务器 全都不是发送端,则运种阶段间的聚合就无法实现。
[0084] 针对运种情况设计出一种阶段内算法,在本阶段内实现流量聚合。考虑运样一台 发送端服务器nodeO,它是某个分组中的唯一成员。它在路由标识符ej下,会在某个维度上 有一台邻居服务器,该邻居服务器出现在其它分组中。在运种情况下,nodeO不再需要把数 据流转发至下一阶段,而是只需要转发至同阶段内(intra-s化ge)的邻居服务器上。被选中 的邻居服务器最终把转发给它的数据流和它自己产生的数据流在阶段k+1进行聚合。将上 述方法在阶段k,k-l,…,1依次使用,运样,就成功构造了不确定incast传输的聚合树。
[0085] 所属领域的普通技术人员应当理解上任何实施例的讨论仅为示例性的,并非 旨在暗示本公开的范围(包括权利要求)被限于运些例子;在本发明的思路下,W上实施例 或者不同实施例中的技术特征之间也可W进行组合,步骤可任意顺序实现,并存在如 上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0086] 另外,为简化说明和讨论,并且为了不会使本发明难W理解,在所提供的附图中可 W示出或可W不示出与集成电路(1C)忍片和其它部件的公知的电源/接地连接。此外,可W W框图的形式示出装置,W便避免使本发明难W理解,并且运也考虑了 W下事实,即关于运 些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,运些细节应当 完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路描述本发明的 示例性实施例的情况下,对本领域技术人员来说显而易见的是,可W在没有运些具体细节 的情况下或者运些具体细节有变化的情况下实施本发明。因此,运些描述应被认为是说明 性的而不是限制性的。
[0087] 尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描 述,运些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例 如,其它存储器架构(例如,动态RAM(DRAM))可W使用所讨论的实施例。
[0088] 本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有运样的替换、 修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进 等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于单维最小化分组的不确定incast流量聚合方法,其特征在于,包括: 对不确定incast传输的发送端进行划分,将被选中的发送端组成相互之间不相交的分 组,所述分组内的发送端服务器相互之间只有一跳距离; 对所述分组进行清洗,使同一条数据流的所有候选发送端只有一个出现在最终的所述 分组中; 在所述分组中的发送端和incast传输的接收端之间构建最小代价的incast传输聚合 树,并在所述incast传输聚合树上进行流量传输。2. 根据权利要求1所述的基于单维最小化分组的不确定incast流量聚合方法,其特征 在于,所述对不确定incas t传输的发送端进行划分的过程包括: 使用k+Ι个路由标识符中的每一个路由标识符对所有数据流的候选服务器集Si(l<i <m)的并进行分组,并比对所有路由标识符进行分组的结果,得到使分组数最少的路由标 识符。3. 根据权利要求1所述的基于单维最小化分组的不确定incast流量聚合方法,其特征 在于,所述对所述分组进行清洗的过程包括: 将分组按照所含元素多少进行降序排列,对排在第一的分组,考察其元素 nodeO,如果 Si(l<i<m)中包含该元素,则将Si中除nodeO以外的其余元素删除,同时在发送端分组中 将所述被删除的元素删除; 如果在Si (1 <m)中不包含nodeO,则将nodeO从发送端分组中删除; 对排在后面的分组,也执行上述操作; 其中,Si为候选发送端集,m为数据流的条数,nodeO为Si中的发送端服务器。4. 根据权利要求1所述的基于单维最小化分组的不确定incast流量聚合方法,其特征 在于,所述在所述组中的发送端和incast传输的接收端之间构建最小代价的incast传输聚 合树的过程包括: 将发送端和接收端扩展为一个k+2层的多级有向图,其中,所述接收端位于第0阶段,所 述接收端的j跳邻居为位于阶段j的服务器,在每阶段选出额外的服务器。5. 根据权利要求4所述的基于单维最小化分组的不确定incast流量聚合方法,其特征 在于,所述在每阶段选出额外的服务器的过程包括: 在任一阶段,对于包含服务器个数大于1的分组,组内的服务器标识符仅在一个维度上 不同,来自阶段k+Ι的同一分组的数据流被转发至位于阶段k的1跳共同邻居服务器进行聚 合,若所述共同邻居服务器是组Gi中的服务器,则将所述共同邻居服务器映射到阶段k,否 贝1J,在阶段k新加一台服务器来作为阶段k+Ι的邻居服务器。6. 根据权利要求4所述的基于单维最小化分组的不确定incast流量聚合方法,其特征 在于,所述在每阶段选出额外的服务器的过程包括: 在任一阶段,对于包含服务器个数等于1的分组,发送端在选择下一阶段的邻居服务器 时,优先考虑那些作为发送端的服务器;对于一台发送端服务器nodeO,若在路由标识符ej 下,存在在某个维度上有一台邻居服务器,所述邻居服务器出现在其它分组中,则nodeO把 数据流转发至同阶段内的邻居服务器上。
【文档编号】H04L12/891GK106059914SQ201610301022
【公开日】2016年10月26日
【申请日】2016年5月9日
【发明人】郭得科, 陈涛
【申请人】中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1