Robust Validation Of Network Designs Under Uncertain Demands And Failures

摘要

    广域网架构师面临的一个关键挑战是验证他们的网络设计在面对可变的流量需求和故障时提供了可保证的性能。验证是很难的,因为必须考虑指数,可能不可枚举的集合场景。目前的理论工具为网络性能提供了过于保守的界限,因为它们仍然易于处理,但它们没有充分模拟网络在实践中采用的灵活路由策略以适应故障和改变流量需求。在本文中,我们开发了一种优化理论框架,通过对灵活路由适应策略进行建模,从而针对感兴趣的情景推导出最坏情况下的网络性能。我们提出了一种解决由此产生的棘手问题的方法,该方法可以实现比当前技术更严格的网络性能界限。虽然我们的框架是一般性的,但我们专注于限制最坏情况下的链路利用率,以及涉及拓扑设计的案例研究和MPLS隧道,并选择其实际重要性并说明我们框架的关键方面。对真实网络拓扑和交通数据的评估显示了这种方法的前景。

介绍

    在为ISP和云服务提供商设计广域网时,以可接受的成本确保可预测的性能至关重要。然而,实现这一目标是具有挑战性的,因为连接失败(都是由于计划维护,以及无法解决的问题,例如光纤和设备故障)[38,50,23],网络流量是可变的[9],并且不断发展[23]。
    验证一个网络能够应付一系列交通条件和故障情况是具有挑战性的,因为要考虑的情景的数量通常是成倍增加的,甚至可能是不可枚举的。例如,一个常见的要求是验证具有N个链路的网络可以服务于f个同时链路故障的所有组合的需求[50,48,37]。要考虑的故障情景的数量是每个需求的N f。而且,这组交通矩阵并不是不可估量的,考虑到所有交通矩阵和故障情况都是令人望而却步的。
    实践与现有理论工具之间存在巨大差距。遗漏路由[40,41,9,49],更一般地说,鲁棒优化[12,14]允许在多个感兴趣的场景中限制最坏情况的性能。然而,为了确保问题的可行性,这些技术做出了一个保守的假设,即网络无法通过重新选择业务流量来适应需求变化[40,41,9,49],或者接受有限形式的适应[50,15]。在实践中,随着需求转移或故障的发生,网络会根据重新路由流量进行调整,这种调整可以使网络操作更有效。此外,软件定义网络(SDN)的出现允许在整个网络范围内进行优化,并有助于部署灵活的重新路由策略[30,31]。
    鉴于理论与实践之间的巨大差距,今天验证网络设计的过程是特殊的,通常需要大量的模拟,这可能是高度耗时的,而且保证了网络性能的可行性。在本文中,我们迈出了第一步,通过提出一个正式框架来提供跨越一系列场景(需求,失败)的网络设计的性能界限。我们框架中的关键新颖之处在于,它可以适应现在实践中使用的自适应机制,用于在失败和需求变化时重新路由业务。
    当考虑灵活的路由策略时,提供强大的性能保证通常需要解决难以实现的非凸(以及常见的非线性)优化问题。我们通过利用非线性优化文献中的尖端技术来解决这些困难[44]。这些技术的一个有吸引力的方面是它们的普遍性,这使得它们成为可能
应用于广泛的网络验证问题。我们证明,这些技术导致在验证问题上比现有的稳健优化中的最先进方法更加紧密,这是一种应用程序超越网络的发现。进一步。在感兴趣的实际环境中,这种联系是紧密的 - 例如,当需求被表示为已知历史需求的凸面组合时[49]。最后,我们展示了如何通过分析个体问题结构来增强技术,从而大幅提高边界的质量。
    具体而言,我们关注链接利用率,这是一个广为接受的流量工程度量标准[9,49,50],它会影响应用程序延迟和吞吐量。我们将我们的框架应用于两个鲜明而实用的案例研究,以说明我们框架的关键方面。案例研究在不确定性(失败和要求)类型和适应类型方面有所不同。具体而言,我们考虑(i)提供最大灵活性和效率的多商品流(MCF)路由[21,9,50],以及(ii)MPLS路由[30,29],其具有更有限的路由灵活性。
    在路由中灵活性更有限。虽然我们专注于验证,但我们的框架可以在不确定的情况下实现具有性能保证的设计综合。我们通过展示我们的方法证明我们的方法如何帮助运营商确定最有效的方法来增强链路容量,同时确保故障时可接受的链路利用率。

    我们使用多个实际拓扑[6]和公共交通数据[1]来评估我们的方法。我们的框架在两个案例研究中都表现出比遗忘的公式更好的表现,而在所有失败案例研究的实验中令人惊讶地匹配最佳。此外,我们展示了我们的框架帮助:(i)识别不良故障场景; (ii)确定如何最大限度地增加链路处理故障的能力; (iii)评估设计启发式 - 例如,我们通过常见的隧道选择启发式显示潜力不佳。

3.形式化鲁棒性验证

3.1一般问题结构

    设X表示需求的不确定性集合(可能是连续的和不可枚举的),或者给定的网络设计必须经过验证的故障。该设计包括所有参数,这些参数在需求和故障(例如,网络拓扑,隧道选择,中间放置位置)的变化时必须保持不变。对于任何给定的情况x∈X,网络可能会根据§2.2中的描述,通过适当的路由流量进行调整。

     令y表示适应场景x时由网络确定的参数。这包括如何路由流量 - 例如,在隧道环境中,y包括捕获流量如何跨隧道分割的参数 - 虽然可能会有其他变量确定,如我们在§3.2中讨论的。形式上,网络验证问题可写为:


                                                                
    内部最小化捕获了对于任何给定情形x∈X,网络以一种从一组允许策略Y(x)中最小化目标函数F(x,y)的方式确定y。对于完全灵活的路由模型,Y(x)对应于标准MCF约束所允许的策略[21],而对于使用中间策略进行路由,则只允许遍历所需的中间框集的策略。假设网络以最好的方式适应每个x, 外部最大化强有力地捕获了整套情景X中的最坏情况表现。

    在本文中,我们关注如§2.2中讨论的使MLU最小化的目标函数F(x,y)。我们将(1)称为验证问题,因为它可以用来验证选定的设计是否符合期望的利用目标。例如,当应用于拓扑设计时,F *> 1表示网络没有足够的配置来处理所有感兴趣的故障和需求。对于任何给定的情形x,内部问题通常很容易解决(线性规划(LP)),因为网络必须在线计算y以适应任何故障或需求变化。然而验证问题是具有挑战性的,因为必须考虑指数级的许多(以及可能不可数的)情景x。

3.2具体的验证问题

    接下来我们将一般公式(1)与两个具体的案例研究联系起来,这些案例研究既有实际重要性,也说明了框架的关键思想。
          •第一个案例研究以最灵活的网络适应来验证拓扑设计与故障的关系。
          •第二个例子验证了跨变量需求的隧道选择,网络适应性限制在跨越预选隧道的隧道中。

    这些例子说明了我们框架在考虑失败和需求(离散和连续不确定性集)以及不同类型的适应性模型(灵活和更多约束)方面的一般性。但是,我们的框架适用于更广泛的应用,包括同时变化的需求和失败,其他适应模型(如中间件约束)以及其他适应模型和不确定性集合方式(§5)。我们使用符号,其中表示失败情况,表示特定需求,当上下文清楚时删除上标。同样,我们使用y =(r,U),其中r表示流量如何路由,U表示作为结果计算的利用率度量。由于我们关注的是最小化MLU,所以内部问题可以表示为,Y(x)中的约束条件表示要求每条链路的利用率最多为U.我们现在讨论如何约束 Y(x)使之对应我们的案例研究。

                                            

                                                图1:为方案x确定路线(r)以使MLU最小化的一般结构(U)。

                                            

                                                  图2:从图1导出的验证问题的一般结构作为单阶段表达式。

    在不确定的故障下完全灵活路由。 设是二元变量,如果链接<i,j>∈E(链接集)失败,则为1,否则为0。 由于在这个案例研究中我们没有考虑可变需求,我们让表示从源 i 到目的地 t 的已知需求。 令表示链接<i,j>的容量。 令c表示链接<i,j>的容量。 那么,Y(x)对应于标准的MCF约束[21],可以表示为:

                                    

第一个约束确保:(i)对于所有非故障链路,链路<i,j>的利用率最多为U; 和(ii)在失败的链路上不携带任何流量。 第二个约束捕捉流量平衡要求。 具体而言,从节点 i 到目的地 t 的净流出量是 i = t 时的总流量,否则就是d<sub>it</sub>。

隧道限制和不确定的要求。 给定一组预先选择的隧道,让成为一个二进制参数,表示链路<i,j>是否在从源 s 到目的地 t 的隧道 k 上。 设表示总s——t流量,并且表示隧道k上该流量的子集。 那么,Y(x)可以表示为:

                                    

第一个约束确保每条链路的利用率都受到U的约束。第二个约束条件表明每个"s——t对"的所有在 k 上的业务总和必须加到该"对"的总需求上

3.3非线性重构

 (1)中的验证问题已经以称为 两阶段公式 的形式表示(例如,[15])。 在两阶段问题中,最优的第二阶段变量(y)取决于第一阶段(x)。 我们通过将其重新表达为一个单阶段问题来简化这个问题,其中所有变量都是同时确定的。

   在包括我们的案例研究在内的许多网络验证问题中,内部问题是变量y =(r,U)和对应的固定场景下的 x 中的一个LP问题。 这是合理的,因为y的在线修改必须在计算上是有效的。 图1显示了LP的一般结构。注意系数依赖于情景x。 例如,在失效验证案例研究中,是常数,而是x的线性函数。 对于x的特定值,内部问题是LP。

  众所周知,涉及最小化目标的每一个LP(被称为原始形式)都可以转化为实现相同目标(假设双重可行)的等价最大化LP(称为双重形式)[19]。 验证问题可以通过以下方式表示为单阶段公式:
1.使用LP二元性将重写为等价的最大化问题。
2.将约束条件x∈X添加到双重形式以捕获所需的一组需求或感兴趣的失败情况。

图2将验证问题的一般结构显示为单阶段制定。 请注意,图1中的变量 r 和 U 已被双变量 λ 和 v 所取代。 此外,x 现在是一个变量,因为问题验证了所有不确定情况下的利用率。
   图3中的公式(F)和(V)分别针对涉及故障(2)和可变需求(3)的案例研究捕捉验证问题。 乍看起来,两种公式都呈现非线性 - (V)中的目标包含和u变量的乘积,而(F)的第二个约束包含变量的乘积。 在§4.2中,我们证明当X是同时包括 f 失败或者更少的链接的情况的集合时,(F)可以写成一个整数程序(IP)。 无论如何,(V)和(F)都是难题(非线性非凸和IP)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值