面向多集群的计算资源共享型调度方法和装置与流程
本技术涉及跨集群资源调度,具体涉及一种面向多集群的计算资源共享型调度方法和装置。
背景技术:
1、现有的高性能计算资源调度系统通常以单一集群作为基本管理单元,在每个集群内部署独立的作业调度器对本集群内的计算节点进行统一的排队管理与资源分配。用户向某一集群提交计算作业后,该集群的作业调度器根据作业所申请的资源量与集群内部预先配置的静态资源配额,按照先进先出、回填调度或简单优先级队列等调度策略完成作业与计算资源之间的匹配,进而将作业分派至相应的计算节点上执行。然而在现有的单集群调度架构下,处于资源紧张集群中排队等待的作业无法被自动识别并跨集群迁移至资源空闲的集群上执行,资源富余集群中的闲置计算能力也无法被动态共享给资源紧缺集群中的等待作业,最终导致多集群环境下全局计算资源利用率低下、资源浪费与资源短缺并存的矛盾局面。
技术实现思路
1、针对现有技术中的问题,本技术提供一种面向多集群的计算资源共享型调度方法和装置,能够有效提高多集群全局资源利用率。
2、为了解决上述问题中的至少一个,本技术提供以下技术方案:
3、第一方面,本技术提供一种面向多集群的计算资源共享型调度方法,包括:若基于待执行任务的任务位置确定的默认集群,在预估时长内无法完成所述待执行任务时,基于所述待执行任务的任务需求信息、任务运行方式,以及用户访问权限从所述多集群中确定出至少一个候选集群;针对各所述候选集群,基于所述待执行任务的迁移数据增量、所述默认集群与所述候选集群的可用网络带宽、数据打包时长,以及所述候选集群的排队等待时长确定出所述待执行任务的迁移代价,并基于所述默认集群的等候代价和各所述迁移代价确定将所述待执行任务迁移至目标集群;在所述待执行任务的执行过程中,基于周期性监测的所述目标集群的节点级资源指标、所述待执行任务的作业级指标,以及预设时长内所述待执行任务的任务迁移率确定出所述待执行任务的任务执行状态和待回收资源,将所述待回收资源回收为所述多集群的共享资源,并基于所述任务执行状态为所述待执行任务确定出新目标集群,以将所述新目标集群的计算资源共享调度给所述待执行任务。
4、在一些实施例中,所述基于所述待执行任务的任务需求信息、任务运行方式,以及用户访问权限从所述多集群中确定出至少一个候选集群,包括:从所述多集群中筛选出能够满足所述待执行任务的任务需求信息,且与用户访问权限匹配的至少一个初始候选集群,所述任务需求信息包括任务资源需求和任务执行时长;若所述待执行任务的任务运行方式为容器化运行,则从各所述初始候选集群中选出,具有支持所述待执行任务运行的容器运行时的至少一个候选集群;若所述待执行任务的任务运行方式为原生运行,则从各所述初始候选集群中选出,具有所述待执行任务所需的消息传递接口和科学计算软件的至少一个候选集群。
5、在一些实施例中,所述基于所述待执行任务的迁移数据增量、所述默认集群与所述候选集群的可用网络带宽、数据打包时长,以及所述候选集群的排队等待时长确定出所述待执行任务的迁移代价,包括:将所述候选集群中存在的与所述待执行任务相关的数据作为非迁移数据,将所述待执行任务相关的总数据与所述非迁移数据的数据差作为迁移数据增量,通过网络监控接口获取所述默认集群与所述候选集群之间对应传输链路的实时带宽利用率,并根据所述实时带宽利用率确定所述默认集群与所述候选集群之间的可用网络带宽;将所述迁移数据增量与所述可用网络带宽的比值作为初始数据传输时长,将初始数据传输时长与迁移时长偏差权重的乘积作为数据传输时长,并根据数据量分区评估策略预测所述迁移数据增量的数据打包时长,将所述数据传输时长与所述数据打包时长之和确定为所述待执行任务从所述默认集群迁移至所述候选集群的迁移时长;基于所述候选集群当前的作业队列状态和资源释放预期信息,采用回填调度评估策略确定所述待执行任务在所述候选集群的排队等待时长,并将所述迁移时长与所述排队等待时长之和确定为所述待执行任务向所述候选集群的迁移代价。
6、在一些实施例中,所述基于所述默认集群的等候代价和各所述迁移代价确定将所述待执行任务迁移至目标集群,包括:基于所述默认集群当前的作业队列状态和资源释放预期信息,预估所述待执行任务在所述默认集群上执行所需等待的等候代价,从各所述候选集群中选择所述迁移代价小于所述等候代价的中间集群;若所述中间集群为多个,则针对各所述中间集群,基于所述中间集群的历史资源使用信息确定出用户使用所述中间集群资源的集群公平使用占比,基于所述待执行任务的队列等待时长确定出等待因子,并基于所述中间集群的可使用资源与所述待执行任务的任务类型确定出资源匹配因子;基于所述资源匹配因子、所述等待因子、所述集群公平使用占比以及任务优先级确定出所述中间集群的调度匹配值,将所述调度匹配值最大的所述中间集群作为所述目标集群,若所述中间集群为一个,则将所述中间集群作为目标集群。
7、在一些实施例中,所述基于周期性监测的所述目标集群的节点级资源指标、所述待执行任务的作业级指标,以及预设时长内所述待执行任务的任务迁移率确定出所述待执行任务的任务执行状态和待回收资源,包括:通过部署于所述目标集群各计算节点的监测代理,以可配置的固定采集周期采集所述计算节点执行所述待执行任务时的节点级资源指标,所述节点级资源指标包括cpu利用率、gpu利用率、显存占用率、内存实际占用率、磁盘输入输出吞吐量和网络收发带宽占用率;同步采集所述待执行任务的作业级指标,所述作业级指标包括所述待执行任务的进程存活状态、所述待执行任务的实际资源占用量与申请资源量的资源指标比值,确定出所述待执行任务在预设时长内的任务迁移次数,将所述任务迁移次数与所述预设时长的比值作为所述待执行任务的任务迁移率;将存在持续低于预设指标阈值的所述节点级资源指标作为第一待回收资源指标、以及将对应的所述计算节点作为待回收节点,将低于1的资源指标比值的资源指标作为第二待回收资源指标,当进程存活状态为不存活时,将所述待执行任务的占用资源作为待回收资源;将所述待执行任务在所述待回收节点,对应的所述第一待回收资源指标的节点资源作为所述待回收资源,将所述第二待回收资源指标的资源指标比值与1的差值绝对值作为回收比值,按照所述回收比值确定各所述计算节点中需要回收的所述第二待回收资源指标的待回收节点资源,将各所述待回收节点资源作为所述待回收资源;基于所述待回收资源的资源总量与所述目标集群的可用资源的比值,并基于所述比值、所述任务迁移率和三级任务执行策略确定出所述待执行任务的任务执行状态,所述任务执行状态包括回收-执行并行、基于检查点的任务中断以及无检查点的任务中断。
8、在一些实施例中,所述基于所述任务执行状态为所述待执行任务确定出新目标集群,以将所述新目标集群的计算资源共享调度给所述待执行任务,包括:若任务执行状态为回收-执行并行,则所述待执行任务当前所处的所述目标集群为新目标集群,所述待执行任务在所述新目标集群持续执行,且在执行过程中将回收的待回收资源和其他可用资源共享调度给其他待执行任务;若所述任务执行状态为基于检查点的任务中断,则所述待执行任务当前所处的所述目标集群为新目标集群,保存所述待执行任务的当前计算状态作为检查点,并暂停在所述新目标集群执行所述待执行任务,回收所述待执行任务在所述新目标集群的任务占用资源,以将所述任务占用资源共享调度给其他待执行任务,在等待时长期满之后,重新按照所述检查点将所述新目标集群的计算资源共享调度给所述待执行任务;若所述任务执行状态为无检查点的任务中断,则重新从多集群中为所述待执行任务确定出新目标集群,将所述待执行任务加入所述新目标集群的任务队列,以等待所述新目标集群为所述待执行任务调度资源,执行所述待执行任务,所述新目标集群为非所述目标集群,回收所述待执行任务在所述目标集群的任务占用资源。
9、在一些实施例中,所述方法还包括:在确定将所述待执行任务迁移至所述目标集群后,查询所述目标集群是否存在与所述待执行任务关联的用户历史数据副本,若不存在所述用户历史数据副本,则对所述待执行任务所需的全部迁移数据执行全量迁移,若存在所述用户历史数据副本,则将所述全部迁移数据与所述用户历史数据副本进行差异比对,仅对发生变化或缺失的增量数据执行增量迁移;在执行迁移前,向用户提供临时数据清理策略配置选项,所述清理策略配置选项包括迁移完成后是否自动清理所述默认集群上的临时打包文件以及是否清理所述目标集群上的临时数据副本,并按照所述用户选择的清理策略在迁移完成后执行相应清理操作;在所述待执行任务的数据迁移过程中,实时监测实际传输带宽和实际迁移耗时,并将所述实际迁移耗时与基于所述可用网络带宽预估的数据传输时长进行比对,若所述实际迁移耗时与所述数据传输时长之间的偏差超过预设偏差阈值,则记录偏差事件并据此调整迁移代价估算中对所述默认集群与所述目标集群之间传输链路的所述迁移时长偏差权重。
10、第二方面,本技术提供一种面向多集群的计算资源共享型调度装置,包括:确定单元,用于若基于待执行任务的任务位置确定的默认集群,在预估时长内无法完成所述待执行任务时,基于所述待执行任务的任务需求信息、任务运行方式,以及用户访问权限从所述多集群中确定出至少一个候选集群;所述确定单元,用于针对各所述候选集群,基于所述待执行任务的迁移数据增量、所述默认集群与所述候选集群的可用网络带宽、数据打包时长,以及所述候选集群的排队等待时长确定出所述待执行任务的迁移代价,并基于所述默认集群的等候代价和各所述迁移代价确定将所述待执行任务迁移至目标集群;调度单元,用于在所述待执行任务的执行过程中,基于周期性监测的所述目标集群的节点级资源指标、所述待执行任务的作业级指标,以及预设时长内所述待执行任务的任务迁移率确定出所述待执行任务的任务执行状态和待回收资源,将所述待回收资源回收为所述多集群的共享资源,并基于所述任务执行状态为所述待执行任务确定出新目标集群,以将所述新目标集群的计算资源共享调度给所述待执行任务。
11、第三方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的面向多集群的计算资源共享型调度方法的步骤。
12、第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的面向多集群的计算资源共享型调度方法的步骤。
13、第五方面,本技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述的面向多集群的计算资源共享型调度方法的步骤。
14、由上述技术方案可知,本技术提供一种面向多集群的计算资源共享型调度方法和装置,通过在默认集群无法在预估时长内完成待执行任务时基于任务需求信息、任务运行方式以及用户访问权限从多集群中筛选出满足多维约束条件的候选集群,避免了将任务调度至不符合任务运行要求或用户无权访问的集群而导致调度失败的问题,确保了候选集群筛选结果的有效性与合规性。在确定目标集群时,本方法综合考量了待执行任务的迁移数据增量、默认集群与候选集群之间的可用网络带宽、数据打包时长以及候选集群的排队等待时长等多维度代价因素来计算迁移代价,并将迁移代价与默认集群的等候代价进行比较以决策是否执行迁移及选择目标集群,使得调度决策能够充分权衡任务迁移所带来的数据传输开销与目标集群排队等待时间之间的综合代价,避免了因忽视迁移代价而导致任务迁移后总体完成时间反而延长的问题,实现了多集群间任务调度的全局最优化。此外,本方法在待执行任务的执行过程中通过周期性监测目标集群的节点级资源指标和待执行任务的作业级指标并结合预设时长内的任务迁移率来动态判定任务执行状态并识别待回收资源,一方面将识别出的待回收资源及时回收为多集群的共享资源从而实现了闲置资源的跨集群动态再分配,有效提升了多集群环境下计算资源的整体利用率,减少了资源碎片化和浪费现象;另一方面基于动态判定的任务执行状态为待执行任务确定新目标集群并将新目标集群的计算资源共享调度给该任务,实现了任务执行过程中的持续优化与自适应调整,确保了任务能够始终在最优资源条件下运行,显著提升了多集群计算基础设施的资源共享效率与任务调度灵活性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com