在电信产品中进行负载均衡的方法和设备技术

技术编号:12392990 阅读:80 留言:0更新日期:2015-11-26 00:48
本发明专利技术包括提供了一种在包括多个刀片服务器和负载分配器的电信设备中执行负载均衡的方法和相应的电信设备。该方法包括:当所述多个刀片服务器中的一个或更多刀片服务器接收到严重耗费资源的业务请求时,向所述负载分配器发送资源预留请求;在接收到对所述负载分配器对资源预留请求的确认时,所述一个或更多刀片服务器开始处理所述严重耗费资源的业务请求;以及,所述负载分配器将超出所述一个或更多刀片服务器的处理能力的新输入业务量重定向至多个刀片服务器中的其他刀片服务器,直至从所述一个或更多刀片服务器接收到资源释放消息。

【技术实现步骤摘要】

本专利技术涉及通信领域,并且更具体地涉及电信产品中的负载均衡机制。
技术介绍
ATCA(先进电信计算架构)是许多电信产品的重要硬件架构,具有成本低和灵活 性高的特点。通常,一个ATCA基座托管了数十个刀片,多个相同的或者不同的应用可以运 行在这些刀片上。所有基于ATCA架构的产品都必须考虑负载均衡和准入控制机制以实现 所有这些刀片的处理器性能的有效使用。越来越多的应用部署在ATCA基座上,如何实现 ATCA性能的最佳使用以及如何调度和均衡来自不同应用的请求时使得产品具有竞争力的 关键点。 图1给出了典型的ATCA基座结构,该基座由两个管理所有其他刀片的控制刀片 仏、8)、十个处理呼叫流量或主机数据的实时刀片((:3、6、1、1(、0、?、^和1^以及将所有 这些刀片连接到一起与外部通信的交换刀片(S)组成。多个应用运行在相同的刀片上,并 且对于每一个输入消息,需要确定哪一个服务器/刀片被分配用于处理该消息。来自不同 应用和网络单元的请求具有完全不同的特征,因此它们对于这些刀片上资源的请求是不同 的。我们要解决的问题是如何调度和均衡来自基于ATCA的基座上的多个应用的请求,以使 得整个产品具有最佳鲁棒性和性能。 如上所述,单个输入消息可能会耗尽ATCA产品的刀片的所有资源。另外,ATCA产 品的单个刀片的负载可能会使得整个产品的服务质量降低到与过载的刀片相同。也就是 说,如果有一个刀片具有服务质量1E-2,也就是说,100个呼叫里有一个呼叫失败,那么,无 论当前应用了什么样的负载均衡算法(CHJ负载算法、RR等)以及无论其他刀片具有多么 好的性能。整个产品将具有服务质量1E-2。本专利技术提出基于资源预留的流量分配算法来解 决这个问题并且即使输入消息的成本变化很大,也要确保产品的服务质量并优化性能利用 率。 较好的负载均衡系统具有较高的流量性能和鲁棒性。最常用的流量分配算法的目 的就在于使得服务器的负载均衡。这些常用的算法主要包括轮询调度算法、加权的轮询调 度算法以及CPU负载感知算法。所有这些算法都基于一个隐含的假设进行工作,即所有输 入消息具有类似的处理时间以及每个消息都需要小的和类似的CPU成本。如果有某种类型 的输入消息需要大的CPU使用率在几分钟内进行处理,则所有上述算法将导致系统过载。 举一个例子,典型的Diameter消息通常需要数十毫秒、小于0. 1%的CPU使用率在頂S网 络单元内进行处理。网络单元通常被设计在低于CPU使用率的工作70%时处理忙时流量。 但是頂S网络中来自接入网关控制功能(AGCF)到归属用户服务器(HSS)的注册请求可以 代表成千上万的端点进行注册。当HSS收到这个注册消息时,它需要向AGCF推送与这些成 千上万的用户相关的数据并且即使采用高于30% CPU的使用率也不能保证在数分钟内完 成这些数据的下载。在这种情况下,如果还有其他类型的请求在繁忙时段运行,注册消息的 输入将会导致过载状态下的刀片托管HSS应用程序处于过载状态。为了避免这种过载状 态,运营商通常过度设计他们的系统,使得整个系统在繁忙时段以40%的CPU使用率运行, 并且当来自AGCF的一个注册消息到达时,它可以用70%的CPU使用率进行处理。但是,这 意味着如果网络中只有一个AGCF在几个月内请求一次注册,30%的资源必须留给它。显然 的,这是一种资源的浪费。 这个问题不止是在部署PSTN仿真服务时存在。对于呈现业务来说,也需要面对这 个问题。当呈现方的状态改变时,它使用PUBLISH方法来告知呈现服务器这一改变。结果, 呈现服务器将把呈现方的状态改变通知给所有订购的观察方。呈现服务能产生大量的信令 流量,因为一个呈现方的状态改变将导致发往观察方的多个通知消息。ATCA基座中这类猝 发的资源使用由于其事务特性必须共同位于相同的刀片上,并且当前的调度算法不能确保 以较好的质量服务这些请求,也不能确保整个基座下性能的最佳使用。 下面将举例说明当前的几种常用算法。 1)轮询调度算法 轮询调度(RR)算法是一种静态负载均衡算法,并没有特别考虑到分配新流的各 刀片的当前剩余性能,而是一味地试图做到在如何分配工作量上不偏不倚。这是一种循环 的策略,其中刀片按顺序被循环选择。 考虑配置多个应用程序共同位于ATCA的一个刀片上。每个刀片支持的应用程序 是不一样的。他们是不对称配置的刀片。 轮询调度算法在具有相同配置和相同运行环境的系统中工作良好并且容易控制。 但是对于ATCA产品,每个刀片是一个自治系统,每个刀片上运行的应用可以是不同的。一 些刀片比别的刀片运行更多的应用,而一些刀片比其他刀片运行了更多的应用程序模块, 简单的轮循不能满足此条件下的负载均衡请求。 图2是使用轮询调度算法为多个应用共同位于一个刀片但每个RT是不对称配置 的情况分配每个应用。图中,HSS运行在刀片E和F,LTE运行在刀片K和L。HLR和MNP运 打在所有刀片上。 然而,这里使用RR的缺点是,每个刀片服务器的资源使用情况是不平衡的。对于 运行更多的应用程序的刀片,CPU使用率必须比其他刀片高。这是很容易造成拥堵和系统 的不稳定。此外,整个系统的利用率是低的。 2)加权轮循算法 加权轮循算法是轮循算法的扩展。它为每个刀片服务器赋予一定的权重。权重表 示服务器的处理能力。如果偶尔可以评估各个服务器的能力和他们的负荷的话,这种分配 算法也可能是动态的。该算法将考虑要输入的消息/流量。 权重可以被预先配置或动态地改变。wij是刀片i中的应用程序j的权重。对于 每个周期,负载平衡功能可以基于权重分配流量: 如果控制目标是每个刀片中的流量是平均的 基于加权轮循的管理配置效率和成本效益不高,因为很难在产品处理流量之前来 决定每个刀片的加权。例如,如果控制目标是CPU的平衡,该方案需要经验来将CPU使用率 与应用程序的流量进行映射。并且该方案是不灵活的,因为应用程序的不同流量组合可能 会消耗不同的CPU负载。理想的方式是提供一种动态机制,能自动了解每个刀片的差异并 且最佳地使用使每个刀片的性能。 3)基于CPU的流量分配算法 对动态系统状态的不了解导致低复杂性,但在这是以潜在的性能和服务可靠性的 降低为代价的。在某些情况下使用动态(自适应)的流量分配算法,该算法要基于CPU使 用率的改变作出决定。该算法的目的是使所有刀片工作站支持相同的CPU使用率,并根据 变化的总CPU使用率做决定。图3给出了针对具有不同配置的刀片的该算法效果的示意。 基于CPU的分配机制是有吸引力的,所有的刀片都具有均衡的CPU使用率,并且可 能比具有不均匀的CPU使用率的任何其他方法具有更高的系统容量。但问题是系统的CPU 使用率是由多个任务共享,这些任务可以通过或可以不被与客户签约的申请配置控制。产 品的性能和吞吐量不仅是由CPU能力决定的,也与磁盘IO速率、通信带宽等有关系。刀片 服务器上应用程序的CPU使用率是通过操作系统的内置调度算法来决定的,这些调度算法 不仅考虑决定考虑到在其上运行的应用,也要考虑许多系统相关的管理和监视任务,使得 分配给特定的应用程序的CPU使用率受到预先定义的优先级、动态的运行环境,以及一些 不可预知的中断影响,因此,在不同本文档来自技高网...

【技术保护点】
一种在包括多个刀片服务器和负载分配器的电信设备中执行负载均衡的方法,该方法包括:当所述多个刀片服务器中的一个或更多刀片服务器接收到严重耗费资源的业务请求时,向所述负载分配器发送资源预留请求;在接收到对所述负载分配器对资源预留请求的确认时,所述一个或更多刀片服务器开始处理所述严重耗费资源的业务请求;以及所述负载分配器将超出所述一个或更多刀片服务器的处理能力的新输入业务量重定向至多个刀片服务器中的其他刀片服务器,直至从所述一个或更多刀片服务器接收到资源释放消息。

【技术特征摘要】

【专利技术属性】
技术研发人员:迟彩霞王秀环梁清李涛陈普坤
申请(专利权)人:阿尔卡特朗讯公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1