论文阅读-面向公平性的分布式系统负载均衡机制

摘要

当一组自利的用户在分布式系统中共享多个资源时,我们面临资源分配问题,即所谓的负载均衡问题。特别地,负载均衡被定义为将负载分配到分布式系统的服务器上,以便最小化作业响应时间并提高服务器的利用率。在本文中,研究了一个由有限数量的服务器和有限数量的用户组成的分布式系统中的负载均衡问题。这里考虑的负载均衡问题是一个双目标问题,具有两个高度可能冲突的目标:(i)最小化作业响应时间 (ii) 提供服务器的公平利用。为了同时满足这两个目标,两个目标以综合方式考虑。接下来,将负载均衡问题构建为一个非合作博弈;为了解决博弈(即,找到纳什均衡),提出了一个分布式负载均衡算法(DLBA)。进行了实验研究以确定所提出的DLBA的有效性。此外,我们将DBLA与三种现有的负载均衡方法进行比较,以评估其相对效果。实验结果验证了DLBA相对于现有方法的有效性。

索引词—负载均衡,分布式系统,公平利用,非合作博弈,纳什均衡

1 引言

随着云计算和互联网在线服务的增长,分布式系统在过去几十年中受到了极大的关注。一般而言,分布式系统被视为由一群独立用户共享的一组自治计算资源。分布式系统的性能取决于用户作业在计算资源之间的分配方式。有效管理资源利用的问题称为负载均衡。因此,为了有效利用这些系统,需要一个高效的负载均衡方案。

我们考虑一个分布式计算系统中的负载均衡问题,其中一组独立的用户共享一组计算资源,以下称为服务器。我们假设服务器在处理速度上是异构的,并且由个人拥有,以下称为服务提供商。每个用户都是自治的和自利的。自治意味着用户可以在没有控制权威的情况下自由做出决策,自利意味着用户关心的是最小化其作业的执行/响应时间。用户总会偏好速度更快的服务器。另一方面,从服务提供商的角度来看,应该在确保跨服务器平衡分配负载的同时最大化资源的利用。换句话说,服务提供商希望最小化服务器之间的负载不平衡,以便没有服务器被过载或利用不足

动机。几个现实世界的系统适用于上述负载均衡场景。特别是,我们的研究受到云计算系统的启发,在这些系统中,多个计算设备在多个用户之间共享。云计算中的负载均衡使用基础设施即服务(IaaS)。IaaS是一种服务模型,为客户提供一组机器(物理或虚拟)以执行他们的任务。在IaaS系统中,每台机器充当服务器,服务器的计算速度可能是同构的也可能是异构的。这样的云由个人拥有。这样的云的一个示例是Amazon EC2和HP Cloud。在这样的分布式云计算系统中,服务提供商有兴趣设计一个适当的负载均衡方案,考虑两个目标:(a)最小化用户的响应时间和(b)在避免某些资源过度利用而其他资源利用不足的情况下提高服务器的利用率,这些目标是冲突的。当服务提供商考虑第一个目标时,她会尽可能多地利用更快的服务器。结果,更快的服务器(较慢的服务器)变得过载(欠载)。另一方面,当服务提供商考虑第二个目标时,她会不考虑它们的处理速率公平地对待所有服务器,即每个服务器上的负载都被公平分配。因此,每个用户的响应时间增加。

讨论了上述示例场景后,很明显,分布式系统中的负载分配引起了一个必须小心处理的微妙问题。然而,存在大量的工作,cf. e.g., [4], [5], [6], [7], [8](更多细节可以在第2节中找到),试图解决各种类型的分布式计算环境中的负载均衡问题。在这些工作中,问题被建模为一个非合作博弈,其中玩家的收益是作业执行时间。因此,上述所有研究都考虑了用户端的性能。

贡献。我们首先为用户定义了一个新的度量标准,称为公平性变化。这个度量标准量化了用户造成的负载不平衡。接下来,我们使用加权和方法将公平性变化度量与预期响应时间结合起来。我们将这个组合度量作为一个新的目标函数。我们将问题构建为一个非合作博弈,称为非合作负载均衡博弈。这个博弈的解是玩家达到的一个平衡点,称为纳什均衡(NE)。在NE处,没有玩家可以通过单边偏差进一步最小化其目标值;因此,找到博弈的纳什均衡等同于找到底层负载均衡问题的解决方案。为了计算博弈的NE,我们提出了一个分布式负载均衡算法(DLBA)。为了测试DLBA的性能,我们在不同的系统配置下进行了实证研究。此外,我们将其与其他三种负载均衡方案,即GOS、NCS和QNCS进行比较。实证结果表明,DLBA提供了高效的服务器利用率,并与这三种方案相比,提供了更好的系统范围内的性能。

总之,本文的主要贡献是:(i)我们将负载均衡问题建模为一个双目标优化问题,(ii)使用博弈论框架,我们将优化问题构建为一个非合作博弈,称为非合作负载均衡博弈,(iii)为了计算博弈的NE,我们提出了一个分布式负载均衡算法(DLBA),(iv)我们提出了实验研究以验证DLBA的有效性。

本文的组织结构如下。第2节介绍相关工作。第3节给出数学建模和问题陈述。第4节给出问题的博弈论构建。第5节描述了所提出的算法及其伪代码。第6节提供了实验结果及其讨论。最后,第7节总结了本文。

2 相关工作

分布式计算中的负载均衡问题已经通过使用队列模型和博弈论进行了研究,使用各种性能指标,如预期响应时间、负载不平衡百分比、用户承担的成本[1],[2]。在这一研究线中,最初一些研究者[9],[10],[11]提出了资源分配问题的集中式解决方案。实际上,由于可扩展性和复杂性原因,分布式环境中负载均衡问题的集中式解决方案是不可行的。

分布式计算系统中资源分配问题的博弈论解决方案在[4],[5],[6],[7],[8],[12],[13],[14],[15],[16],[17],[18],[19],[20]中提出。Grosu和Chronopoulos[4]将分配问题建模为一个非合作博弈。在这个博弈中,每个玩家的收益是执行其作业的预期响应时间。为了找到博弈的NE,作者提出了一个分布式算法。在[5]中,Kameda和Altman考虑了通信网络中的最优流量控制问题,并证明了在存在自利用户的情况下,分配流量的问题类似于公地悲剧问题,并且获得的NE是低效的。Subrata等[6]提出了一个基于非合作博弈的框架来解决计算网格中的分配问题。Song等[7]考虑了未来互联网的暂定架构,并使用博弈论方法解决了互联网中的负载均衡问题。在[8]中,考虑了一个与[4]中类似的负载均衡问题,但是在分布式数据中心的背景下。然而,在所有这些工作中,只考虑了玩家的作业执行时间,完全忽略了服务器利用率的影响

Li等[26]考虑了在并行机器上分配线性恶化作业的分配问题,并提出了基于博弈论的近似算法来解决分配问题。Xiao等[13]考虑了互连系统,并使用Q-learning提出了一个公平感知的资源分配方案。Ghosh等[14],Yu等在[15]中,以及Penmatsa和Chronopoulos[27]使用了一个双方博弈模型来捕捉用户和服务提供商之间的互动。在这个模型中,服务提供商与所有用户互动,以决定成本和负载分配。在这些工作中,只考虑了用户的成本最小化目标

然而,在[25],[28]中考虑了具有两个目标的资源分配问题。Zheng和Veeravalli在[28]中提出了一种聚合方法,将分配问题与定价模型结合起来。他们提出了一种提供系统范围内最优的算法。因此,他们的方法在某种程度上是集中的。Jalaparti等在[25]中提出了一种基于市场的方法来优化提供商之间以及用户和提供商之间的效用。他们研究了玩家之间的竞争如何影响他们的成本。总之,他们考虑了成本最小化作为一个目标,并提供了基于斯塔克尔伯格博弈的集中式解决方案。

Zhang等[23]提出了一种进化的多目标优化算法来解决一个包括最小化响应时间和有效利用资源的双目标工作流调度问题。在[https://img-home.csdnimg.cn/images/202307https%3A%2F%2Fimg-home.csdnimg.cn%2Fimages%2F20230724024159.png%3Forigin_url%3D24%26pos_id%3DRh0xSnZq0https%3A%2F%2Fimg-home.csdnimg.cn%2Fimages%2F20230724024159.png%3Forigin_url%3D24%26pos_id%3DRh0xSnZq159.png?origin_url=https%3A%2F%2Fimg-home.csdnimg.cn%2Fimages%2F20230724024159.png%3Forigin_url%3D24%26pos_id%3DRh0xSnZq&pos_id=Rh0xSnZq]中提出了一种基于极值优化的多目标优化方法来解决一个三目标负载均衡问题。这项工作的目标是:最小化负载不平衡、最小化进程间通信和任务迁移指标。Talukder等[29]提出了一个多目标差分进化算法来同时优化两个冲突的目标,即成本和时间。

最近,一些研究人员提供了多目标负载均衡问题的非合作解决方案。Liu等人[30]考虑了负载平衡问题,通过利用空闲的计算资源来最大化提供商的利润,并优化临时云模型的性能。在[30]中,多个提供商之间的竞争被视为一个非合作博弈;为了计算博弈的解决方案,提出了一个迭代近似算法。在[31]中提出了一种服务机制,用于在多个云提供商和多个云客户之间优化利润。在这项工作中,云用户之间的互动被建模为一个进化博弈,而提供商之间的互动被建模为一个非合作博弈。为了实现云提供商和用户之间的满意度,即双赢情况,模拟了提供商和用户的讨价还价过程。为了计算平衡,提出了一个分布式迭代算法。Zhang等[32]解决了一个包括两个冲突目标的双目标问题:在遵守先行和调度长度约束的前提下,最小化能源消耗和最大化系统可靠性。他们提出了一种称为双目标遗传算法(BOGA)的多目标优化算法,以同时优化这两个目标。尽管这些工作考虑了多目标负载均衡问题,但这些工作中没有考虑两个冲突目标,即最小化响应时间和利用不平衡。表1显示了我们提出的方法DLBA和其他最先进的负载均衡算法的比较。

3 系统模型与问题形式化

3.1 系统模型

我们考虑一个由 m 个用户和 n 个异构服务器组成的分布式系统,这些服务器独立并行工作。服务器是异构的,意味着它们具有不同的处理能力。我们用 N={1, 2, ..., n} 表示服务器集合,用 M={1, 2, ..., m} 表示用户集合,使得 m>>n。我们假设服务器 j ∈ N 的处理速率为 mj,用户 i ∈ M 的作业生成速率为 λi。与文献[4]类似,我们将每个服务器建模为一个 M/M/1-FCFS 队列,具体如下。

在每个服务器上,作业的到达遵循泊松过程。作业的执行时间呈指数分布,并且根据先到先服务(FCFS)原则执行作业。由于所有服务器都建模为 M/M/1 队列,为了稳定性,服务器的容量约束为:

本文考虑的分布式系统模型的架构如图 1 所示。每个用户 i 假定以平均速率 λi 生成作业,根据泊松过程并且与其他用户独立。此外,类似于文献[33],我们假设每个用户都关联有一个单独的调度器,负责将用户的作业分配给服务器。因此,用户集合与调度器集合相同。为了保持符号一致,我们假设调度器集合表示为 M={1, 2, ..., m}。本文使用的所有符号都在表 2 中给出。

3.2 响应时间最小化模型

我们给定了一组独立工作的调度器和服务器集合。我们假设调度器行为自私,不在利用服务器时进行合作。每个调度器 i 有一个大小为 λi 的作业,并希望通过分割其作业到服务器来分配其作业。调度器可以决定其作业在服务器之间的分割方式,即调度器 i 决定将 λi 的哪一部分分配给每个服务器。我们用 xij 表示分配给服务器 j 的调度器 i 工作负载的比例。因此,调度器 i 可以选择 xij 的任何值,只要 0 ≤ xij ≤ 1 并且。在决定了 xij 的值后,调度器 i 以 xijλi 的速率将工作负载分配给服务器 j。

调度

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值