CN114936086B - 一种多计算中心场景下的任务调度器、调度方法及装置 - Google Patents

一种多计算中心场景下的任务调度器、调度方法及装置 Download PDF

Info

Publication number
CN114936086B
CN114936086B CN202210881811.1A CN202210881811A CN114936086B CN 114936086 B CN114936086 B CN 114936086B CN 202210881811 A CN202210881811 A CN 202210881811A CN 114936086 B CN114936086 B CN 114936086B
Authority
CN
China
Prior art keywords
computing
task
center
meeting
computing center
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210881811.1A
Other languages
English (en)
Other versions
CN114936086A (zh
Inventor
王晓江
秦亦
方启明
余冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202210881811.1A priority Critical patent/CN114936086B/zh
Publication of CN114936086A publication Critical patent/CN114936086A/zh
Application granted granted Critical
Publication of CN114936086B publication Critical patent/CN114936086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种多计算中心场景下的任务调度器、调度方法及装置,通过感知计算中心当前和未来的资源使用情况,可以根据计算中心当前与未来一定时间内的资源占用情况,为提交到调度器的带截止日期的任务分配合适的计算中心,提前将用户计算任务下发到计算中心内;并在计算中心启动用户计算任务前,利用计算中心内专用硬件设备提前进行数据传输,将用户计算任务所依赖的数据提前下载至本计算中心内部的存储设备中,用户任务数据准备阶段无需依赖于计算中心宝贵的算力资源,从而实现计算资源和网络资源的灵活分配。本发明充分利用计算中心有限资源,实现方法简便,计算中心资源的使用率可以得到进一步的提升,且与具体计算任务无关。

Description

一种多计算中心场景下的任务调度器、调度方法及装置
技术领域
本发明涉及计算机技术领域,尤其是涉及一种多计算中心场景下的任务调度器、调度方法及装置。
背景技术
随着互联网的不断发展,用户可以通过使用远程算力的方式,完成自己的计算任务。这样,用户只需要在本地拥有一个计算能力较弱的计算机,即可使用不断更新换代的新硬件,快速完成自身的任务。对计算资源的提供方而言,随着用户任务的不断增加,其可靠性变得至关重要,故当前提供方通常采用多中心架构,避免因单点失效导致系统不可用,从而影响到用户任务的完成。因此,计算资源的提供方在接收到用户计算任务之后,若用户未指定使用哪个计算中心的情况下,会根据实际情况,在多个中心内找到一个适合的计算中心,来满足用户计算任务的需求。
虽然供应商的调度算法能够根据用户计算任务的需求和当前计算中心的状态,找到一个合适的计算中心为用户提供服务,但当计算中心较为繁忙时,计算任务一般会等待较长的时间才能被执行。在此之前,用户无法确定计算任务是否能够被计算中心成功完成。
如图4所示,现行的多计算中心计算任务执行方案中,计算任务提交后会依次进入等待计算资源空闲的a 0阶段、调度器分配计算中心的a 1阶段、计算中心接收处理计算任务分配请求的a 2阶段、计算中心进行数据准备的a 3阶段、计算任务执行的a 4阶段。
多计算中心的任务调度方法,仅基于计算中心当前的资源使用情况进行调度,调度器必须感知到计算中心当前的资源能够满足用户任务的执行,才会调度用户任务,这样会导致一定程度的资源浪费。从用户计算任务的提交时刻,到用户计算任务的执行时刻之间,会存在两部分计算资源时间片的浪费:
一、调度器感知到计算资源满足用户任务的执行之前的时间片,即图4中a 0阶段;
二、用户任务正式启动前,数据准备阶段的计算资源时间片的浪费,即图4中a 3阶段。
发明内容
为解决现有技术的不足,实现计算资源和网络资源的灵活分配,提高计算中心资源使用率的目的,本发明采用如下的技术方案:
一种多计算中心场景下的任务调度器,包括状态信息维护模块、计算中心匹配模块、计算任务分配模块、结果反馈模块;
所述状态信息维护模块,用于接收和维护各计算中心上报的状态信息;
所述计算中心匹配模块,包括计算任务匹配模块和传输条件匹配模块,计算任务匹配模块用于获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;传输条件匹配模块根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;
所述计算任务分配模块,用于向满足调度需求的计算中心分配用户的计算任务请求,以使满足调度需求的计算中心接收计算任务请求,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;
所述结果反馈模块,用于向用户反馈调度结果。
进一步地,所述状态信息包括计算中心各类资源的规格、当前资源使用情况及未来使用情况,所述计算任务请求包括计算任务、计算任务完成的截止日期,所述计算任务匹配模块包括计算资源和时间生成单元、计算中心筛选单元;
所述计算资源和时间生成单元,根据计算任务、通过状态信息得到的计算中心的算力和历史数据,估算计算任务在计算中心所占用的计算资源和计算时间;
所述计算中心筛选单元,根据所述状态信息、计算资源、计算时间、计算任务完成的截止日期,对满足计算任务的计算中心进行筛选。
进一步地,所述状态信息还包括已存储的数据文件列表、计算任务完成的截止日期,所述计算任务请求还包括数据文件的获取方式,所述传输条件匹配模块包括迁移时间确定单元、传输条件过滤单元;
所述迁移时间确定单元,根据用户计算任务所需的数据文件列表、数据文件到各计算中心的历史平均带宽、数据文件的获取方式,确定迁移时间;
所述传输条件过滤单元,将当前时间与迁移时间之和小于等于最晚启动时间的计算中心,作为满足传输条件的计算中心,所述最晚启动时间为计算任务完成的截止日期与计算时间之差,最晚启动时间大于等于最早启动时间的计算中心,所述最早启动时间是计算资源准备好的时间。
进一步地,所述迁移时间的计算如下:
Figure DEST_PATH_IMAGE002AAA
其中,
Figure 54455DEST_PATH_IMAGE004
表示满足计算任务的计算中心,
Figure 316809DEST_PATH_IMAGE006
表示数据文件的大小,
Figure 779015DEST_PATH_IMAGE008
表示从数据 文件
Figure 143131DEST_PATH_IMAGE006
所在位置传输到计算中心
Figure 348984DEST_PATH_IMAGE004
的历史平均带宽(BW:bandwidth),若数据文件在本中 心,则迁移代价为0,用户计算任务全部数据文件传输完毕所需要的时间表示为:
Figure DEST_PATH_IMAGE010AAA
n表示数据文件的数量。
进一步地,所述计算任务请求还包括用户对计算任务的调度倾向,根据用户对计算任务的调度倾向,从满足调度需求的计算中心中,选取最符合调度倾向的计算中心。
进一步地,所述用户对计算任务的调度倾向包括效率优先和/或费用最低;
所述效率优先,是选取能够最早完成用户任务的计算中心,最早完成的时间点
Figure 482157DEST_PATH_IMAGE012
,其中
Figure 505476DEST_PATH_IMAGE014
表示满足传输条件的计 算中心;
所述费用最低,是选取费用最少的计算中心。
一种计算中心系统,包括状态信息上报模块、计算任务匹配模块、计算任务获取模块、结果反馈模块;
所述状态信息上报模块,用于上报本计算中心的状态信息,以使调度器接收和维护各计算中心上报的状态信息;
所述计算任务匹配模块,通过调度器与计算任务进行匹配,以使调度器获取用户的计算任务请求后,根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;再根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到与计算任务匹配的计算中心;
所述计算任务获取模块,获取匹配的计算任务,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;
所述结果反馈模块,用于向调度器反馈执行结果。
进一步地,所述数据准备是通过专用硬件设备进行异步数据准备,专用硬件能够直接使用计算中心的网络资源,并读写计算中心的存储资源,因此可以在没有计算资源参与的情况下,完成数据的传输和存储,包括数据文件列表获取单元、数据文件检查单元、标记单元;
所述数据文件列表获取单元,用于获取调度器的计算任务请求所需的数据文件列表信息;
所述数据文件检查单元,根据数据文件列表,检查数据文件是否在计算中心内部,若不存在,则将对应的数据文件下载至本计算中心的存储资源;
所述标记单元,当所有数据文件均准备完毕后,将该计算任务标记为数据准备完毕。
一种多计算中心场景下的任务调度方法,包括如下步骤:
步骤S1:接收和维护各计算中心上报的状态信息;
步骤S2:获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;再根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;向满足调度需求的计算中心分配用户的计算任务请求,当没有满足调度需求的计算中心时,则拒绝执行计算任务;
步骤S3:满足调度需求的计算中心接收计算任务请求,并更新本计算中心状态信息;
步骤S4:满足调度需求的计算中心根据计算任务对应的数据信息进行数据准备;
步骤S5:满足调度需求的计算中心执行计算任务进行,并将调度结果反馈用户。
一种多计算中心场景下的任务调度装置,包括调度器和计算中心;
所述调度器,接收和维护各计算中心上报的状态信息;获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;向满足调度需求的计算中心分配用户的计算任务请求;用于向用户反馈调度结果;
所述计算中心,上报本计算中心的状态信息;接收计算任务请求,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;向调度器反馈执行结果。
本发明的优势和有益效果在于:
本发明通过感知计算中心当前和未来的资源使用情况,在计算资源未空闲时,就可以提前将用户计算任务下发到计算中心内;同时,计算中心使用专用硬件设备,将用户计算任务所依赖的数据提前下载至本计算中心内部的存储设备中,用户任务数据准备阶段无需依赖于计算中心宝贵的算力资源,从而实现了网络资源和计算资源的灵活分配。通过本发明,能够进一步提升计算中心资源的使用率,其实现方法简便,效率提升明显,且与实际的计算任务无关。
附图说明
图1是本发明实施例中调度装置的整体架构图。
图2是本发明实施例中调度方法的流程图。
图3是本发明实施例中计算中心内部结构示意图。
图4是本发明实施例中引入与未引入本发明调度方法的计算任务流程对比图。
图5是本发明实施例中调度设备的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,一种多计算中心场景下的任务调度装置,包括调度器和计算中心;
所述调度器,接收和维护各计算中心上报的状态信息;获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;向满足调度需求的计算中心分配用户的计算任务请求;用于向用户反馈调度结果;
所述计算中心,上报本计算中心的状态信息;接收计算任务请求,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;向调度器反馈执行结果。
用户与各计算中心之间通过多计算中心场景下带截止日期的任务调度器连接,调度器能够感知到计算中心未来一定时间内计算资源的排列情况,从而提前将用户任务下发至计算中心;同时计算中心还会具备专用硬件,在接收到用户计算任务后,能够立刻启动数据拉取工作,在计算任务正式运行前,完成其所依赖的数据下载工作。
一种多计算中心场景下的任务调度器,包括状态信息维护模块、计算中心匹配模块、计算任务分配模块、结果反馈模块;
所述状态信息维护模块,用于接收和维护各计算中心上报的状态信息;
所述计算中心匹配模块,包括计算任务匹配模块和传输条件匹配模块,计算任务匹配模块用于获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;传输条件匹配模块根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;
所述状态信息包括计算中心各类资源的规格、当前资源使用情况及未来使用情况,所述计算任务请求包括计算任务、计算任务完成的截止日期,所述计算任务匹配模块包括计算资源和时间生成单元、计算中心筛选单元;所述计算资源和时间生成单元,根据计算任务、通过状态信息得到的计算中心的算力和历史数据,估算计算任务在计算中心所占用的计算资源和计算时间;所述计算中心筛选单元,根据所述状态信息、计算资源、计算时间、计算任务完成的截止日期,对满足计算任务的计算中心进行筛选。
所述状态信息还包括已存储的数据文件列表、计算任务完成的截止日期,所述计算任务请求还包括数据文件的获取方式,所述传输条件匹配模块包括迁移时间确定单元、传输条件过滤单元;所述迁移时间确定单元,根据用户计算任务所需的数据文件列表、数据文件到各计算中心的历史平均带宽、数据文件的获取方式,确定迁移时间;所述传输条件过滤单元,将当前时间与迁移时间之和小于等于最晚启动时间的计算中心,作为满足传输条件的计算中心,所述最晚启动时间为计算任务完成的截止日期与计算时间之差,最晚启动时间大于等于最早启动时间的计算中心,所述最早启动时间是计算资源准备好的时间。具体地,根据计算中心定期上报的状态信息,结合任务的计算代价和截止日期确定。
所述迁移时间的计算如下:
Figure DEST_PATH_IMAGE002AAAA
其中,
Figure 20204DEST_PATH_IMAGE004
表示满足计算任务的计算中心,
Figure 154382DEST_PATH_IMAGE006
表示数据文件的大小,
Figure 266694DEST_PATH_IMAGE008
表示从数据 文件
Figure 946068DEST_PATH_IMAGE006
所在位置传输到计算中心
Figure 143832DEST_PATH_IMAGE004
的历史平均带宽(BW:bandwidth),若数据文件在本中 心,则迁移代价为0,用户计算任务全部数据文件传输完毕所需要的时间表示为:
Figure DEST_PATH_IMAGE010AAAA
n表示数据文件的数量。
所述计算任务请求还包括用户对计算任务的调度倾向,根据用户对计算任务的调 度倾向,从满足调度需求的计算中心中,选取最符合调度倾向的计算中心。所述用户对计算 任务的调度倾向包括效率优先和/或费用最低;所述效率优先,是选取能够最早完成用户任 务的计算中心,最早完成的时间点
Figure 832433DEST_PATH_IMAGE012
,其中
Figure 189465DEST_PATH_IMAGE014
表示满足传输条件的计 算中心;所述费用最低,是选取费用最少的计算中心。
所述计算任务分配模块,用于向满足调度需求的计算中心分配用户的计算任务请求,以使满足调度需求的计算中心接收计算任务请求,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;
所述结果反馈模块,用于向用户反馈调度结果。
一种计算中心系统,包括状态信息上报模块、计算任务匹配模块、计算任务获取模块、结果反馈模块;
所述状态信息上报模块,用于上报本计算中心的状态信息,以使调度器接收和维护各计算中心上报的状态信息;
所述计算任务匹配模块,通过调度器与计算任务进行匹配,以使调度器获取用户的计算任务请求后,根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;再根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到与计算任务匹配的计算中心;
所述计算任务获取模块,获取匹配的计算任务,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;
所述数据准备是通过专用硬件设备进行异步数据准备,专用硬件能够直接使用计算中心的网络资源,并读写计算中心的存储资源,因此可以在没有计算资源参与的情况下,完成数据的传输和存储,包括数据文件列表获取单元、数据文件检查单元、标记单元;所述数据文件列表获取单元,用于获取调度器的计算任务请求所需的数据文件列表信息;所述数据文件检查单元,根据数据文件列表,检查数据文件是否在计算中心内部,若不存在,则将对应的数据文件下载至本计算中心的存储资源;所述标记单元,当所有数据文件均准备完毕后,将该计算任务标记为数据准备完毕。
所述结果反馈模块,用于向调度器反馈执行结果。
如图2所示,一种多计算中心场景下的任务调度方法,包括如下步骤:
步骤S1:接收和维护各计算中心上报的状态信息;
本发明的实施例中,调度器接收和维护各计算中心上报的状态信息,即初始化,包括如下步骤:
步骤S11:所有计算中心向调度器发送注册请求,并完成注册;
步骤S12:所有计算中心定时向调度器上报当前计算中心的状态信息;其中,状态信息包括:计算中心各类资源的规格、当前资源使用情况及未来使用情况、已存储的数据文件列表,若数据量太大,可以采用增量上报的方式;
步骤S13:调度器接收到计算中心的状态信息后,刷新调度器内的缓存信息和数据库信息。
步骤S2:获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;再根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;向满足调度需求的计算中心分配用户的计算任务请求,当没有满足调度需求的计算中心时,则拒绝执行计算任务。具体地,如果无法在截止日期之前完成任务,那么在用户请求计算任务执行的时候就直接拒绝接收。
本发明的实施例中,调度器向各计算中心分配用户的计算任务请求,包括如下步骤:
步骤S21:调度器接收来自用户的计算任务请求,其中包含计算任务完成的截止日 期
Figure 429953DEST_PATH_IMAGE016
,计算任务所依赖的数据文件
Figure 724800DEST_PATH_IMAGE018
,每个数据文件的获取方式,以及用户对计 算任务的调度倾向,例如效率优先,还是费用最低,便于筛选出多个计算中心后,进一步选 择更合适的计算中心。
步骤S22:调度器根据用户计算任务、各个计算中心的算力强弱,以及以往的经验 数据,可以估算得到计算任务在计算中心
Figure 76147DEST_PATH_IMAGE020
所需要占用的CPU核心数
Figure 225368DEST_PATH_IMAGE022
,计算任务在计算中 心
Figure 509194DEST_PATH_IMAGE020
上所需要的计算时间
Figure 415971DEST_PATH_IMAGE024
步骤S23:调度器根据本地缓存和数据库内的计算中心的状态信息,结合任务在计 算中心
Figure 695642DEST_PATH_IMAGE020
所需要占用的CPU核心数
Figure 637053DEST_PATH_IMAGE022
、计算时间
Figure 94711DEST_PATH_IMAGE024
和截止日期
Figure 816679DEST_PATH_IMAGE016
,可以筛选出满足 用户计算任务的计算中心
Figure 509829DEST_PATH_IMAGE026
,同时得到任务在每个计算中心上的最早启动时间
Figure 915533DEST_PATH_IMAGE028
和最晚启动时间
Figure 544092DEST_PATH_IMAGE030
Figure 550094DEST_PATH_IMAGE028
由计算中心资源使用情况确定,
Figure 128493DEST_PATH_IMAGE032
,若计算中心满足条件,则
Figure 903551DEST_PATH_IMAGE034
步骤S24:调度器根据用户计算任务所需的数据文件列表和数据文件到各个计算 中心
Figure 562065DEST_PATH_IMAGE026
的历史平均带宽,确定迁移时间,迁移时间可表示为:
Figure DEST_PATH_IMAGE002_5A
其中,
Figure 681462DEST_PATH_IMAGE004
表示满足计算任务的计算中心,
Figure 716414DEST_PATH_IMAGE006
为数据文件的大小,
Figure 814820DEST_PATH_IMAGE008
为从数据文件
Figure 519602DEST_PATH_IMAGE006
所在位置传输到计算中心
Figure 247999DEST_PATH_IMAGE004
的历史平均带宽(BW:bandwidth),若数据文件在本中心,则 迁移代价为0。
进一步的,用户计算任务全部数据文件传输完毕所需要的时间可表示为:
Figure DEST_PATH_IMAGE010_5A
n表示数据文件数量。
步骤S25:若
Figure 289904DEST_PATH_IMAGE036
,其中
Figure 649342DEST_PATH_IMAGE038
为当前时间,则表明即使从当前 时刻开始传输数据,计算中心也无法在最晚启动时间前,完成数据传输,从而表明,该计算 中心无法在截止日期
Figure 39872DEST_PATH_IMAGE016
前完成计算任务的执行,不符合调度的需求;
Figure 117549DEST_PATH_IMAGE040
,则表明计算中心能够在截止日期前完成计算任务 的执行,满足调度需求;由此,调度器过滤出既满足传输条件,又满足计算条件的计算中心 列表
Figure 635249DEST_PATH_IMAGE042
步骤S26:调度器再根据用户的选择,从满足条件的计算中心列表中,挑选一个最 符合要求的计算中心,若效率优先,则选择能够最早完成用户任务的计算中心,各个计算中 心最早完成的时间点
Figure 114772DEST_PATH_IMAGE012
,其中
Figure 20411DEST_PATH_IMAGE014
表 示满足传输条件的计算中心,其中
Figure 475399DEST_PATH_IMAGE038
为当前时间;若费用最低,则选择费用最少的计算中 心,然后将调度的结果告知对应的计算中心和用户。
步骤S27:若没有计算中心能够满足用户计算任务,则告知用户不接受该计算任务的请求,调度结束。
步骤S3:满足调度需求的计算中心接收计算任务请求,并更新本计算中心状态信息;
本发明的实施例中,计算中心收到调度器发来的计算任务请求后,将其放入到待计算的任务队列中,同时刷新本计算中心当前和未来资源使用情况。
步骤S4:满足调度需求的计算中心根据计算任务对应的数据信息进行数据准备;
本发明的实施例中,计算中心将计算任务所需的数据文件列表信息发送给计算中心内专用硬件设备,由其异步地负责数据的准备工作,计算任务的数据准备阶段,包括如下步骤:
步骤S41:计算中心收到调度器发来的计算任务请求后,将该任务请求中所需的数据文件列表信息发送给计算中心内置的专用硬件设备,可以直接使用计算中心的网络资源,并读写计算中心的存储资源,因此可以在没有计算资源参与的情况下,完成数据的传输和存储,如图3所示;
步骤S42:专用硬件设备根据数据文件列表,逐个检查是否在计算中心内部存在;
步骤S43:若不存在,则将对应的数据文件下载至本计算中心的存储资源中;
步骤S44:当所有数据文件均准备完毕后,专用硬件设备将该计算任务标记为数据准备完毕,等待执行计算任务。
步骤S5:满足调度需求的计算中心执行计算任务进行,并将调度结果反馈用户。
本发明的实施例中,计算中心的算力资源空闲后,检查下一个计算任务数据是否拉取完毕,若拉取完毕,则直接开始执行用户的计算任务;计算任务执行完毕后,计算中心保存相关的输出结果和日志,并将结果上报给调度器存储;调度器将计算任务运行完毕的事件告知用户,用户可以查看并下载计算任务的输出结果和运行日志。
如图4所示,图中a 0表示等待计算资源空闲阶段,a 1表示调度器分配计算中心阶段,a 2表示计算中心接收处理计算任务分配请求阶段,a 3表示计算中心进行数据准备阶段(本发明的方法使用专用硬件解决),a 4表示计算任务执行阶段。相较于传统方法,本发明的方法减少了等待计算资源空闲阶段,即图4中的a 0,从而提升计算中心资源的使用率。
与前述一种多计算中心场景下的任务调度方法的实施例相对应,本发明还提供了一种多计算中心场景下的任务调度设备的实施例。
参见图5,本发明实施例提供的一种多计算中心场景下的任务调度设备,包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的一种多计算中心场景下的任务调度方法。
本发明一种多计算中心场景下的任务调度设备的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明一种多计算中心场景下的任务调度设备所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种多计算中心场景下的任务调度方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

Claims (8)

1.一种多计算中心场景下的任务调度器,包括状态信息维护模块、计算中心匹配模块、计算任务分配模块、结果反馈模块,其特征在于:
所述状态信息维护模块,用于接收和维护各计算中心上报的状态信息;
所述计算中心匹配模块,包括计算任务匹配模块和传输条件匹配模块,计算任务匹配模块用于获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;传输条件匹配模块根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;
所述计算任务分配模块,用于向满足调度需求的计算中心分配用户的计算任务请求,以使满足调度需求的计算中心接收计算任务请求,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;
所述结果反馈模块,用于向用户反馈调度结果;
所述状态信息包括计算中心各类资源的规格、当前资源使用情况及未来使用情况,所述计算任务请求包括计算任务、计算任务完成的截止日期,所述计算任务匹配模块包括计算资源和时间生成单元、计算中心筛选单元;
所述计算资源和时间生成单元,根据计算任务、通过状态信息得到的计算中心的算力和历史数据,估算计算任务在计算中心所占用的计算资源和计算时间;
所述计算中心筛选单元,根据所述状态信息、计算资源、计算时间、计算任务完成的截止日期,对满足计算任务的计算中心进行筛选。
2.根据权利要求1所述的一种多计算中心场景下的任务调度器,其特征在于:所述状态信息还包括已存储的数据文件列表、计算任务完成的截止日期,所述计算任务请求还包括数据文件的获取方式,所述传输条件匹配模块包括迁移时间确定单元、传输条件过滤单元;
所述迁移时间确定单元,根据用户计算任务所需的数据文件列表、数据文件到各计算中心的历史平均带宽、数据文件的获取方式,确定迁移时间;
所述传输条件过滤单元,将当前时间与迁移时间之和小于等于最晚启动时间的计算中心,作为满足传输条件的计算中心,所述最晚启动时间为计算任务完成的截止日期与计算时间之差,最晚启动时间大于等于最早启动时间的计算中心,所述最早启动时间是计算资源准备好的时间。
3.根据权利要求2所述的一种多计算中心场景下的任务调度器,其特征在于:所述迁移时间的计算如下:
Figure DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE004
表示满足计算任务的计算中心,
Figure DEST_PATH_IMAGE006
表示数据文件的大小,
Figure DEST_PATH_IMAGE008
表示从数据文件
Figure 464443DEST_PATH_IMAGE006
所在位置传输到计算中心
Figure 302955DEST_PATH_IMAGE004
的历史平均带宽,若数据文件在本中心,则迁移代价为0,用 户计算任务全部数据文件传输完毕所需要的时间表示为:
Figure DEST_PATH_IMAGE010
n表示数据文件的数量。
4.根据权利要求2所述的一种多计算中心场景下的任务调度器,其特征在于:所述计算任务请求还包括用户对计算任务的调度倾向,根据用户对计算任务的调度倾向,从满足调度需求的计算中心中,选取最符合调度倾向的计算中心。
5.根据权利要求4所述的一种多计算中心场景下的任务调度器,其特征在于:所述用户对计算任务的调度倾向包括效率优先和/或费用最低;
所述效率优先,是选取能够最早完成用户任务的计算中心,最早完成的时间点
Figure DEST_PATH_IMAGE012
,其中
Figure DEST_PATH_IMAGE014
表示满足传输条件的计 算中心;
所述费用最低,是选取费用最少的计算中心。
6.一种计算中心系统,包括状态信息上报模块、计算任务匹配模块、计算任务获取模块、结果反馈模块,其特征在于:
所述状态信息上报模块,用于上报本计算中心的状态信息,以使调度器接收和维护各计算中心上报的状态信息;
所述计算任务匹配模块,通过调度器与计算任务进行匹配,以使调度器获取用户的计算任务请求后,根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;再根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到与计算任务匹配的计算中心;
所述计算任务获取模块,获取匹配的计算任务,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;
所述结果反馈模块,用于向调度器反馈执行结果;
所述数据准备是通过专用硬件设备进行异步数据准备,专用硬件能够直接使用计算中心的网络资源,并读写计算中心的存储资源,包括数据文件列表获取单元、数据文件检查单元、标记单元;
所述数据文件列表获取单元,用于获取调度器的计算任务请求所需的数据文件列表信息;
所述数据文件检查单元,根据数据文件列表,检查数据文件是否在计算中心内部,若不存在,则将对应的数据文件下载至本计算中心的存储资源;
所述标记单元,当所有数据文件均准备完毕后,将该计算任务标记为数据准备完毕。
7.一种基于权利要求1所述的一种多计算中心场景下的任务调度器的多计算中心场景下的任务调度方法,其特征在于包括如下步骤:
步骤S1:接收和维护各计算中心上报的状态信息;
步骤S2:获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;再根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;向满足调度需求的计算中心分配用户的计算任务请求,当没有满足调度需求的计算中心时,则拒绝执行计算任务;
步骤S3:满足调度需求的计算中心接收计算任务请求,并更新本计算中心状态信息;
步骤S4:满足调度需求的计算中心根据计算任务对应的数据信息进行数据准备;
步骤S5:满足调度需求的计算中心执行计算任务,并将调度结果反馈用户。
8.一种基于权利要求1所述的一种多计算中心场景下的任务调度器的多计算中心场景下的任务调度装置,包括调度器和计算中心,其特征在于:
所述调度器,接收和维护各计算中心上报的状态信息;获取用户的计算任务请求,并根据计算任务请求和所述状态信息,得到满足计算任务的计算中心;根据计算任务对应的数据文件到计算中心的带宽信息,从所述满足计算任务的计算中心中,确定满足传输条件的计算中心,最终得到满足调度需求的计算中心;向满足调度需求的计算中心分配用户的计算任务请求;用于向用户反馈调度结果;
所述计算中心,上报本计算中心的状态信息;接收计算任务请求,更新本计算中心状态信息,根据计算任务对应的数据信息进行数据准备,然后执行计算任务,得到执行结果;向调度器反馈执行结果。
CN202210881811.1A 2022-07-26 2022-07-26 一种多计算中心场景下的任务调度器、调度方法及装置 Active CN114936086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210881811.1A CN114936086B (zh) 2022-07-26 2022-07-26 一种多计算中心场景下的任务调度器、调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210881811.1A CN114936086B (zh) 2022-07-26 2022-07-26 一种多计算中心场景下的任务调度器、调度方法及装置

Publications (2)

Publication Number Publication Date
CN114936086A CN114936086A (zh) 2022-08-23
CN114936086B true CN114936086B (zh) 2022-11-18

Family

ID=82867906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210881811.1A Active CN114936086B (zh) 2022-07-26 2022-07-26 一种多计算中心场景下的任务调度器、调度方法及装置

Country Status (1)

Country Link
CN (1) CN114936086B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185596B (zh) * 2023-04-24 2023-08-01 之江实验室 提升广域多集群分布式系统执行任务效率的方法及装置
CN116860723B (zh) * 2023-09-04 2023-11-21 合肥中科类脑智能技术有限公司 跨计算中心数据迁移方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782627A (zh) * 2020-05-26 2020-10-16 北京航空航天大学 面向广域高性能计算环境的任务与数据协同调度方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8031766B2 (en) * 2005-08-02 2011-10-04 Lsi Corporation Performance adaptive video encoding with concurrent decoding
CN106664595B (zh) * 2014-08-08 2020-08-25 创新技术实验室株式会社 支持终端间通信的无线通信系统中缓冲区状态报告的运用方法和装置
CN108009023B (zh) * 2017-11-29 2022-06-03 武汉理工大学 混合云中基于bp神经网络时间预测的任务调度方法
CN109960573B (zh) * 2018-12-29 2021-01-08 天津南大通用数据技术股份有限公司 一种基于智能感知的跨域计算任务调度方法及系统
CN111459628B (zh) * 2020-03-12 2023-11-28 大庆市凯德信信息技术有限公司 基于改进量子蚁群算法的Spark平台任务调度方法
CN112181613B (zh) * 2020-09-09 2023-02-17 国家计算机网络与信息安全管理中心 异构资源分布式计算平台批量任务调度方法及存储介质
CN113778625B (zh) * 2021-08-31 2023-07-04 南京邮电大学 一种跨云计算中心的多副本容错任务调度方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782627A (zh) * 2020-05-26 2020-10-16 北京航空航天大学 面向广域高性能计算环境的任务与数据协同调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
耦合分布式系统多任务动态调度算法;刘金波等;《计算机技术与发展》;20180105;第27卷(第12期);全文 *

Also Published As

Publication number Publication date
CN114936086A (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN114936086B (zh) 一种多计算中心场景下的任务调度器、调度方法及装置
CN112162865B (zh) 服务器的调度方法、装置和服务器
WO2017166803A1 (zh) 一种资源调度方法及装置
US20110202657A1 (en) Method for scheduling cloud-computing resource and system applying the same
CN105159782A (zh) 基于云主机为订单分配资源的方法和装置
CN108021435B (zh) 一种基于截止时间的具有容错能力的云计算任务流调度方法
US8701112B2 (en) Workload scheduling
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN111338791A (zh) 集群队列资源的调度方法、装置、设备及存储介质
CN111258745B (zh) 一种任务处理方法及设备
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN113742109A (zh) 第三方服务对接方法、装置、设备及存储介质
CN111796933A (zh) 资源调度方法、装置、存储介质和电子设备
CN109117279A (zh) 电子装置及其限制进程间通信的方法、存储介质
CN113641472A (zh) 分布式应用的异转同实现方法及装置
CN111359205B (zh) 云端游戏的操作方法、装置、计算机设备及存储介质
WO2008000775A1 (en) Decentralized dynamic allocation of data-processing resources in a utility platform
CN115640113A (zh) 多平面弹性调度方法
US20180101405A1 (en) Resource and latency estimation-based scheduling in a distributed computing environment
CN111835809B (zh) 工单消息分配方法、装置、服务器及存储介质
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
CN109062707B (zh) 电子装置及其限制进程间通信的方法、存储介质
CN111782364A (zh) 服务调用方法、装置、电子设备及存储介质
CN113254177B (zh) 基于集群的任务提交方法、计算机程序产品及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant