分布式调度:对概念和应用的回顾

Distributed scheduling: a review of concepts and applications阅读笔记

分布式调度(DS)是一种方法,它使局部决策者能够在整体系统目标的边界内创建考虑局部目标和约束的调度。然后,通过协调和沟通机制将来自系统不同部分的地方决策整合起来。分布式调度吸引了许多不同学科的研究人员的兴趣,如计算机科学、经济学、制造业和服务运营管理。原因之一是,这一领域面临的问题包括从信息体系结构、协商机制到调度算法的设计等一系列问题。在这篇论文中,我们提供了一个关于分布式调度的文献综述和一个批判性的分析。虽然我们提出了一个全面的分类法,说明了与分布式调度有关的许多因素,但我们也分析了在调度方面进行严格讨论的研究主体。本文的重点是回顾分布式体系结构下的调度算法,而不是协议语言或数据库体系结构。这篇论文的贡献是双重的:在一个共同的术语下统一我们范围内的文献,并确定独特的分布式调度和与集中式调度相关的关键设计因素。

1. Introduction

大多数的调度问题都是NP-hard问题,调度环境的动态性和随机性使得在实践中几乎不可能获得最优调度。因此,各种近似方法(即建设性和迭代启发式)被提出来处理现实生活中的调度问题。

在生产系统中,调度被认为是一种短期活动并且与其他功能相衔接。

为了在当今快速变化的商业世界中保持竞争力,组织已经从集中化结构转变为更分散的结构,所以决策问题被下放到较低的组织层次中,并且由组织独立解决,这种分布式决策可以提高系统的响应能力。

在分散的系统中进行调度决策的需要产生了一个新的领域,即分布式调度。分布式调度是一种方法,在这种方法中,调度问题由较小部分的局部决策者决定(他们之间可能由冲突目标),他们通过某种通讯机制来协调子解决方案,来实现整个系统的目标。通过这种方式,可以使用最新的系统信息快速做出局部决策,而且总体日程安排对动态和不可预测的事件(如机器故障、新工作到来或订单取消)的响应更迅速。

本文在寻求以下几个问题的答案:

  • 分散调度系统与集中调度系统在理论和实施上有何不同?
  • 在分布式调度系统中,关键的设计决策是什么?
  • 在文献中提出的不同分布式调度系统之间的重要共性和不同点是什么?
  • 设计方面如何影响计算时间和解决方案质量

2. 基本定义和符号

在分布式调度中,将问题分成若干子问题,每个子问题分配给一个局部决策者。地方决策者被称为代理人(agent)。代理分为两类:局部代理(local agent a.k.a regular agent)和全局代理(global agent, manager agent, mediator agent)。

局部代理是在局部决策中发挥作用的智能实体。

全局代理能够访问系统中所有的信息源,根据系统的总目标,解决独立的局部调度决策之间的冲突,并且可以自由的创建和删除局部代理(所以有时局部代理又被称为临时代理)。

如下是一些符号表示:

在这里插入图片描述

  1. 局部代理
  2. 全局代理
  3. 局部代理临时执行全局代理的某些功能
  4. 协调器(协调器的作用更像是一个全球信息数据库。它有助于代理之间的信息交换,但对决策没有作用。)
  5. 控制器,它只是实现调度决策。

参与决策的只有代理这些智能实体。

3. 分类方案

以前,调度研究被分为静态与动态、确定性与随机性、在线与离线。随着信息技术在调度系统的实施中日益重要,需要新的分类方案。因此,本文提出了两个一般属性:信息流结构通信机制(决策者之间)。

本文的分类机制主要基于七种属性:信息流结构( information flow structure )、通信机制( communication mechanism )、局部代理类型( local agent types )、分配方法( assignment method)、调度生成(schedule generation)、目标(objective)和机器环境(machine environment)。

  • 信息流结构,主要分为两大类:集中式和分布式
  • 通信机制,主要定义了6中机制:投标( bidding)、迭代投标( iterative bidding)、协商( negotiation)、合作(cooperation)、支配(domination)和迭代优化( iterative refinement)。
  • 局部代理类型:在一些研究中,一些不参与决策的系统模块也被称作“代理”,这里并不指代这些代理。举个栗子,与资源或资源集合相关的代理就成为资源代理。
  • 分配方法:在分布式调度中,主要的调度问题被分解成多个子问题,由局部代理来解决,分配方法表示将子问题与局部代理关联的主要过程和工具。
  • 调度生成:描述了在完成分配后,局部代理如何解决子问题。如数学模型、禁忌搜索算法、模拟退火算法等。
  • 目标:描述了要优化的性能指标。
  • 机器环境:预期系统的工作环境,如作业车间、单机或是FMS(flexible
    manufacturing system)。

通信机制和信息流结构在本文提出,下文详细介绍:

通信机制

  • 投标(竞价):在投标系统中,一个新的作业会广播请求处理的投标,不能处理这个作业的代理就不会投标,能处理该工作的代理就会根据预先确定的标准来给出一个最佳报价(Contract-Net协议就是使用投标概念的先驱工作)。
  • 迭代投标:在某些情况下,代理可以根据上一轮的投标信息来修改其报价,这样反复迭代收集报价的过程称为迭代投标。
  • 协商:同一层次上的代理相互通信或交换信息,为子问题执行更好的调度。
  • 合作:各个代理之间相互协作以获得更好的系统性能。所以这种机制可能会选择次优策略为了共同目标。
  • 迭代优化:通过在不同类型的代理之间交换调度信息来操作,以消除冲突或修改现有的调度以获得更好的系统性能。
  • 支配:高级代理决定调度,低级代理实现这些调度。

信息流结构

  • 集中式调度系统:如果一个全局调度程序为整个系统开发了一个调度系统,那么这个调度系统就被称为集中式(或分级式)调度系统。如下图所示,图a是单层集中式系统,其中有一级本地控制器;图b是多层结构,有一个层次的控制器,其中较高层次的控制器将接收到的调度信息以较小的部分传递给较低层次。

在这里插入图片描述

  • 分布式调度系统:与集中式系统相比,分布式系统没有单一的决策者。我们可以进一步的对分布式系统进行纯分布式和准分布式的分类。

    • 纯分布式:对与纯分布式,没有命令层,各个代理通过协调代理或成对进行通信(分别对应如下图a和图b),这种系统的通信机制一般为迭代优化,产生一个可行的调度。

    在这里插入图片描述

    • 准分布式:局部调度程序根据自己的目标制定自己的调度。然而,这些本地调度随后由主代理根据整个系统目标进行评估。主代理在这些系统中的作用是解决潜在的冲突,选择投标,并最终确定调度决策。进一步的可以将准分布式系统分为单层准分布式系统(图a, 图b)和多层准分布式系统(图c)

    在这里插入图片描述


相较于其他的分类方案:

总之就是夸自己的方案好,感觉意义不大,没仔细看~

4. 现有的分布式调度方案

循序渐进,从简单的纯分布式系统开始,到单层准分布式系统,最后到多层准分布式系统。

4.1 纯分布式系统

从信息流的角度来看,纯分布式系统具有最简单的结构,代理之间直接通信,没有代理有权推翻其他代理的决定。Sycaraet al.(1991)和Liu and Sycara (1993)的研究就是这类栗子。这两项研究都与订单和资源有关,有两项约束,一个是优先级约束,需要位置一个顺序的活动之间的优先关系;另一个是容量显示,同一资源在同一时期不能安排超过一个活动给。代理之间相互交换信息,得到一个可行的调度。

  • Resource allocation in distributed factory scheduling - IEEE Expert (utoronto.ca)对于Sycaraet al.(1991)的研究,每个订单代理首先确定其对所需资源的需求(时间为横坐标),然后每个资源代理计算其资源的需求(时间为横坐标),于是就得到了资源需求关于时间的变化趋势,峰值就决定了该资源的临界时间间隔,在此时间间隔内调度的操作称为关键活动。从最关键的活动开始,每个资源代理将当前活动放入其现有计划中。对资源代理进行活动调度提出了不同的方法。其中一种方法基于活动的生存性度量:这表示启动时间不会导致当前活动的容量约束冲突的概率。在安排每个活动之后,订单代理在相关资源上更新它们的需求信息。资源代理和订单代理之间的信息流以迭代的方式继续,直到给出一个可行的调度方案。(如上文纯分布式的图b)
  • 对于Liu and Sycara (1993)的研究,除了订单和资源代理之外,还有一个协调者负责不同代理类型之间的信息交换和通信(如上文纯分布式的图a)。系统开始运行时,资源代理生成初始调度。每个资源代理只是使用EDD(最早到期日期)规则对其资源上要调度的所有操作进行排序。由于资源代理相互独立操作,这个调度可能违反优先级约束。关于每个作业的操作的信息将由协调器提取并发送到相关的订单代理。接下来,订单代理识别并消除优先级违反。这之后可能会由资源代理更新调度以满足容量限制。这个过程以迭代的方式继续,直到生成一个可行的调度方案。在后来的研究中,作者(Sycara和Liu, 1994, 1995)提出了回路预防机制,旨在最小化涉及相同操作的冲突。
  • 对于Lin and Solberg (1992)的研究,提出了另一种纯等级制。在该系统中,资源代理和订单代理之间通过迭代竞价来进行调度决策。每个部件都有一个订单代理,系统中每个资源(包括机器、工具和运输器)都有一个资源代理。资源代理对不同的时段有不同的收费价格,订单代理的目标是优化客户需求(如到期日或质量)的加权总和,同时最小化其支付的资源收费价格。当某一部件的当前操作接近完成,或有新部件进入系统时,相应的订单代理向符合条件的资源代理招标,进行后续操作。在收集一定期限内到达的投标后,订单代理将奖励出价最高的资源代理。然而,资源代理可以同时提交其他几个部分的投标。因此,当它被授予操作时,资源代理可能无法处理它,或者它可能选择执行另一个更好地满足其本地目标的任务。在这种情况下,它拒绝投标,并且订单代理重新启动投标过程。因此,订单代理之间存在着一种较强的协商方案,通过这种协商方案来进行资源的竞争。
  • 对于Dewan and Joshi (2000)的研究,提出了一个基于价格调整的类似系统,以最小化单台机器上的总提前和延迟罚款。然而,在这个系统中,资源代理向作为投标人的订单代理征求投标。利用整数规划公式的拉格朗日松弛法将原问题分解为子问题。当机器可用时,资源代理宣布拍卖,订单代理竞标机器上的时间。在迭代竞价机制的每一步,通过解决它们的子问题,订单代理可以更新他们愿意为他们想要的周期支付的钱,而资源代理可以调整插槽的价格。资源代理和订单代理进行协商,直到达到终止条件。在Dewan和Joshi(2000)的基础上,作者在后来的研究中提出了一个类似的系统,用于解决具有相同目标的作业车间调度问题(Dewan和Joshi 2002)。在这个系统中,资源代理和订单代理分别与机器和作业相关联。该系统在资源代理和订单代理之间采用了相似的分解方法和迭代竞价机制。Liuet al.(2007)用滚动时间范围程序扩展了这项研究,以尽量减少动态作业车间环境中的总加权延迟。
  • 对于Wang et al.(2009)的研究,将作业车间调度问题建模为Winner Determination problem (WDP)。在拍卖理论中,WDP被定义为为投标人找到一个物品分配,使拍卖商的收入最大化(rothkopfeet al. 1998)。Wanget al.(2009)提出的系统将作业视为投标人,即每个作业关联一个订单代理。订单代理可能对其作业的处理给出多个报价。每一份投标都包括最近的完成时间和订单代理在指定时间前完成工作的价格评估。WDP用于决定工作及其时间表的选择,其目标是使投标人的价格总和最大化。该问题通过一个代表所有资源的智能实体使用基于约束的分支和约束算法来解决。因此,我们假设存在一个与作业车间中所有资源相关联的资源代理。我们还注意到,这种问题设置与传统作业车间环境的不同之处在于,只有通过WDP选择的作业才被调度。
  • Lau et al.(2005a)提出的调度系统是一个带有协调器的纯分层结构。希望承包其工作操作的公司(项目代理)充当订单代理,而那些提供投标的公司(承包商代理)充当资源代理。这些供应链实体之间的协调通过对计划的迭代修订和信息的交换来增强,直到达成关于操作开始时间的协议。关于进度灵活性的信息包括三个度量:时间窗口、开始时间的下限和惩罚成本。时间窗口是操作的开始时间范围,在该范围内,移位不会影响较早的计划操作。如果开始时间不在时间窗口内,则不允许代理在下限之前安排操作,并支付罚款成本。作为订单代理和资源代理之间协商过程的一部分,该信息在代理解决其子问题后的每次传递中生成。订单代理同时收集作业所有操作的投标。订货代理的子问题是使提前、延迟成本和违反时间窗的惩罚成本之和最小。订单代理子问题的解决方案确定其所有操作的开始时间和资源代理的选择。考虑到违反时间窗的惩罚成本,资源代理的子问题是使操作的净收益最大化。Lau et al.(2005b)展示了这种迭代过程的收敛性,并报告了他们对所提出系统的广泛计算研究的结果。

有待进一步更新…😰

4.2 没有单独管理代理的单层准分布式系统

准分布式系统与纯分布式系统相似:它们都有一级本地决策者。但它们之间的一个主要区别是本地代理拥有的全球信息量。我们在这一节的分析集中于一组特定的准异地系统。它们没有单独的管理代理,但是本地代理拥有关于全局目标的足够信息,可以临时充当管理代理来解决系统中的冲突。

4.3 带有独立管理代理的单层准分布式系统

4.4 多层准分布式系统

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinScheduler ? DolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。 DolphinScheduler是非常强大的大数据调度工具,有以下一些特点:1、通过拖拽以DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态;2、支持丰富的任务类型;3、支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill 任务等操作;4、支持工作流全局参数及节点自定义参数设置;5、支持集群HA,通过 Zookeeper实现 Master 集群和 Worker 集群去中心化;6、支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计;7、支持补数,并行或串行回填数据。课程会带大家构建DolphinScheduler大数据调度平台,实战讲解多种任务调度配置,会基于案例讲解DolphinScheduler使用,让大家在实战中掌握DolphinScheduler。 DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值