CN118034876A - 任务调度系统、方法、装置、存储介质及电子设备 - Google Patents
任务调度系统、方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN118034876A CN118034876A CN202410092067.6A CN202410092067A CN118034876A CN 118034876 A CN118034876 A CN 118034876A CN 202410092067 A CN202410092067 A CN 202410092067A CN 118034876 A CN118034876 A CN 118034876A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduled
- computing device
- server
- energy consumption
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000005265 energy consumption Methods 0.000 claims abstract description 115
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 8
- 230000008569 process Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
Abstract
本申请公开了一种任务调度系统、方法、装置、存储介质及电子设备,涉及计算机技术领域。任务调度包括:至少一个计算设备和服务器,至少一个计算设备用于:确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。本申请通过将待调度任务调度到计算设备或服务器执行后,计算设备或服务器产生的能量消耗,来确定待调度任务的目标设备,可以减少任务调度过程中的能量浪费,避免不合理的任务调度会造成信道堵塞以及计算资源的浪费导致过多的能量消耗的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务调度系统、方法、装置、存储介质及电子设备。
背景技术
随着科技的进步,人们的生活越来越离不开移动设备,移动设备影响着生活的方方面面。然而,移动设备的电池的寿命,计算能力,网络带宽以及存储资源等是有限的,移动应用日益增长的资源需求和移动设备资源短缺的问题变得越来越严重。
随着云计算的发展,使得移动设备可以将部分任务调度到云服务器上,减轻移动设备的负担。在移动云计算中,用户的设备可以通过移动运营商和网络使用距离较远的云平台的丰富的计算和存储资源。移动云计算可以带来很多好处:(1)通过将计算密集型的高能耗任务迁移到到云端来延长电池的使用时间,(2)使得移动用户可以使用复杂的应用程序,3)可以为用户提供高效的数据存储功能。
在任务调度策略的实施中,对应的完成任务所消耗的能量,是对服务质量有决定性影响的因素,尤其是在无线网络中更需要考虑的因素。因此,如何在任务调度时消耗更少的能量是目前亟需解决的问题。
发明内容
鉴于上述问题,本申请提供一种任务调度系统、方法、装置、存储介质及电子设备,解决了如何在任务调度时消耗更少的能量的问题。
为解决上述技术问题,本申请提出以下方案:
第一方面,本申请提供了一种任务调度系统,任务调度系统包括:至少一个计算设备和服务器,至少一个计算设备用于:确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。
结合第一方面,在一种可能的实现方式中,计算设备还用于:从任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器,第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为待调度任务在至少一个计算设备或服务器上执行结束的时间,Tstart m,n为待调度任务在至少一个计算设备或服务器上开始执行的时间,Tdelay m,n为待调度任务在至少一个计算设备或服务器上的延时时间,第二约束条件为其中,n2为待调度任务,n1为至少一个计算设备或服务器执行待调度任务前执行的任务。
结合第一方面,在另一种可能的实现方式中,计算设备具体用于:从满足第一约束条件和第二约束条件的计算设备和/或服务器中选择具有最小的第一能量消耗的计算设备或服务器作为目标设备。
结合第一方面,在另一种可能的实现方式中,计算设备具体用于:根据待调度任务的第二能量消耗或第三能量消耗确定待调度任务的第一能量消耗,第二能量消耗用于指示待调度任务在计算设备上执行所消耗的能量,第三能量消耗用于指示待调度任务从计算设备传输至服务器所消耗的能量。
结合第一方面,在另一种可能的实现方式中,计算设备具体用于:根据待调度任务在计算设备上的工作量与计算设备的时钟频率确定待调度任务的第一时间消耗,工作量用于指示待调度任务在计算设备上执行需要的CPU周期数,第一时间消耗用于指示待调度任务在计算设备上执行所消耗的时间;根据第一时间消耗与计算设备的功率确定待调度任务的第二能量消耗。
结合第一方面,在另一种可能的实现方式中,计算设备具体用于:根据待调度任务的数据量和计算设备的传输速率确定待调度任务的第二时间消耗,第二时间消耗用于指示待调度任务从计算设备传输至服务器所消耗的时间;根据第二时间消耗和计算设备的传输功率确定待调度任务的第三能量消耗。
第二方面,本申请提供了一种任务调度方法,任务调度方法包括:确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。
结合第二方面,在一种可能的实现方式中,从任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器,第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为待调度任务在至少一个计算设备或服务器上执行结束的时间,Tstart m,n为待调度任务在至少一个计算设备或服务器上开始执行的时间,Tdelay m,n为待调度任务在至少一个计算设备或服务器上的延时时间,第二约束条件为其中,n2为待调度任务,n1为至少一个计算设备或服务器执行待调度任务前执行的任务。
结合第二方面,在另一种可能的实现方式中,从满足第一约束条件和第二约束条件的计算设备和/或服务器中选择具有最小的第一能量消耗的计算设备或服务器作为目标设备。
结合第二方面,在另一种可能的实现方式中,根据待调度任务的第二能量消耗或第三能量消耗确定待调度任务的第一能量消耗,第二能量消耗用于指示待调度任务在计算设备上执行所消耗的能量,第三能量消耗用于指示待调度任务从计算设备传输至服务器所消耗的能量。
结合第二方面,在另一种可能的实现方式中,根据待调度任务在计算设备上的工作量与计算设备的时钟频率确定待调度任务的第一时间消耗,工作量用于指示待调度任务在计算设备上执行需要的CPU周期数,第一时间消耗用于指示待调度任务在计算设备上执行所消耗的时间;根据第一时间消耗与计算设备的功率确定待调度任务的第二能量消耗。
结合第二方面,在另一种可能的实现方式中,根据待调度任务的数据量和计算设备的传输速率确定待调度任务的第二时间消耗,第二时间消耗用于指示待调度任务从计算设备传输至服务器所消耗的时间;根据第二时间消耗和计算设备的传输功率确定待调度任务的第三能量消耗。
第三方面,本申请提供了一种任务调度装置,任务调度装置包括:
确定模块,用于确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;
调度模块,用于根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。
结合第三方面,在一种可能的实现方式中,调度模块还用于:从任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器,第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为待调度任务在至少一个计算设备或服务器上执行结束的时间,Tstart m,n为待调度任务在至少一个计算设备或服务器上开始执行的时间,Tdelay m,n为待调度任务在至少一个计算设备或服务器上的延时时间,第二约束条件为其中,n2为待调度任务,n1为至少一个计算设备或服务器执行待调度任务前执行的任务。
结合第三方面,在另一种可能的实现方式中,调度模块具体用于:从满足第一约束条件和第二约束条件的计算设备和/或服务器中选择具有最小的第一能量消耗的计算设备或服务器作为目标设备。
结合第三方面,在另一种可能的实现方式中,确定模块具体用于:根据待调度任务的第二能量消耗或第三能量消耗确定待调度任务的第一能量消耗,第二能量消耗用于指示待调度任务在计算设备上执行所消耗的能量,第三能量消耗用于指示待调度任务从计算设备传输至服务器所消耗的能量。
结合第三方面,在另一种可能的实现方式中,确定模块具体用于:根据待调度任务在计算设备上的工作量与计算设备的时钟频率确定待调度任务的第一时间消耗,工作量用于指示待调度任务在计算设备上执行需要的CPU周期数,第一时间消耗用于指示待调度任务在计算设备上执行所消耗的时间;根据第一时间消耗与计算设备的功率确定待调度任务的第二能量消耗。
结合第三方面,在另一种可能的实现方式中,确定模块具体用于:根据待调度任务的数据量和计算设备的传输速率确定待调度任务的第二时间消耗,第二时间消耗用于指示待调度任务从计算设备传输至服务器所消耗的时间;根据第二时间消耗和计算设备的传输功率确定待调度任务的第三能量消耗。
为了实现上述目的,根据本申请的第四方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第二方面的任务调度方法。
为了实现上述目的,根据本申请的第五方面,提供了一种电子设备,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述第二方面的任务调度方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请提供的一种任务调度系统、方法、装置、存储介质及电子设备,本申请通过将待调度任务调度到计算设备或服务器执行后,计算设备或服务器产生的能量消耗,来确定待调度任务的目标设备,可以减少任务调度过程中的能量浪费,避免不合理的任务调度会造成信道堵塞以及计算资源的浪费导致过多的能量消耗的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种任务调度系统的结构示意图;
图2示出了本申请实施例提供的一种计算设备或服务器的结构示意图;
图3示出了本申请实施例提供的一种任务调度方法的流程示意图;
图4示出了本申请实施例提供的一种任务调度装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例中术语“第一”“第二”等字样不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
本申请实施例中术语“至少一个”的含义是指一个或多个,本申请实施例中术语“多个”的含义是指两个或两个以上。
还应理解,术语“如果”可被解释为“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如背景技术所述,随着云计算的发展,使得移动设备可以将部分任务调度到云服务器上,减轻移动设备的负担。在移动云计算中,用户的设备可以通过移动运营商和网络使用距离较远的云平台的丰富的计算和存储资源。移动云计算可以带来很多好处:(1)通过将计算密集型的高能耗任务迁移到到云端来延长电池的使用时间,(2)使得移动用户可以使用复杂的应用程序,3)可以为用户提供高效的数据存储功能。
在任务调度策略的实施中,对应的完成任务所消耗的能量,是对服务质量有决定性影响的因素,尤其是在无线网络中更需要考虑的因素。
有鉴于此,本申请实施例提供一种任务调度方法,具体方法包括:确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。本申请通过将待调度任务调度到计算设备或服务器执行后,计算设备或服务器产生的能量消耗,来确定待调度任务的目标设备,可以减少任务调度过程中的能量浪费,避免不合理的任务调度会造成信道堵塞以及计算资源的浪费导致过多的能量消耗的问题。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图1为本申请实施例提供一种任务调度系统的结构示意图。任务调度系统100包括至少一个计算设备110和服务器120。至少一个计算设备110和服务器120通过网络专线130进行通信。
网络专线是指计算设备110和服务器120之间通过一条独立的网线进行通信,这样可以使得计算设备110和服务器120之间的数据通信变得可靠。举例来说,可以通过串口线或者通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)等有线连接计算设备110和服务器120,或者通过无线信号等无线连接计算设备110和服务器120。
计算设备110可以是服务器,其可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。又例如,该计算设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(Personal Digital Assistant,PDA)、增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)设备等终端设备。需要说明的是,本申请实施例对计算设备的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以计算设备为台式计算机为例进行说明。
图2为本申请实施例提供的一种计算设备的结构示意图。该计算设备可以是上述任务调度系统100中的计算设备110,该计算设备可以用于执行上述分布式压力测试方法。
如图2所示,该计算设备110包括处理器210、通信线路220以及通信接口230。
可选的,该计算设备110还可以包括存储器240。其中,处理器210,存储器240以及通信接口230之间可以通过通信线路220连接。
其中,处理器210可以是中央处理器(Central Processing Unit,CPU)、通用处理器网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processing,DSP)、微处理器、微控制器、可编程逻辑器件(Programmable Logic Device,PLD)或它们的任意组合。处理器101还可以是其它任意具有处理功能的装置,例如电路、器件或软件模块,不做限制。
在一种示例中,处理器210可以包括一个或多个CPU,例如图2中的CPU0和CPU1。
作为一种可选的实现方式,计算设备110包括多个处理器,例如,除处理器210之外,还可以包括处理器270。处理器270可以是和处理器210相同的处理器,也可以是不同的处理器。通信线路220,用于在计算设备110所包括的各部件之间传送信息。
通信接口230,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local AreaNetworks,WLAN)等。通信接口230可以是模块、电路、收发器或者任何能够实现通信的装置。
存储器240,用于存储指令。其中,指令可以是计算机程序。
其中,存储器240可以是只读存储器(Read-only Memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是存取存储器(Random Access Memory,RAM)或者可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备等,不予限制。
需要指出的是,存储器240可以独立于处理器210存在,也可以和处理器210集成在一起。存储器240可以用于存储指令或者程序代码或者一些数据等。存储器240可以位于计算设备110内,也可以位于计算设备110外,不做限制。
处理器210,用于执行存储器240中存储的指令,以实现本申请下述实施例提供的通信方法。例如,当计算设备110为终端或者终端中的芯片时,处理器210可以执行存储器240中存储的指令,以实现本申请下述实施例中发送端所执行的步骤。
作为一种可选的实现方式,计算设备110还包括输出器件250和输入器件260。其中,输出器件250可以是显示屏、扬声器等能够将计算设备110的数据输出给用户的器件。输入器件260是可以键盘、鼠标、麦克风或操作杆等能够向计算设备110输入数据的器件。
需要指出的是,图2中示出的结构并不构成对该计算设备的限定,除图2所示部件之外,该计算设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
计算设备110用于确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。除此之外,当目标设备为计算设备110时,计算设备110执行待调度任务。
在本申请实施例中,服务器120可以是移动边缘计算(Mobile Edge Computing,MEC)服务器。MEC服务器在靠近移动设备的无线接入网络(RAN)中提供IT服务环境和云计算能力。MEC服务器旨在减少延迟,确保高效的网络运营,服务交付和最终的个人体验。“Edge”在这里指的是无线电基站本身(eNodeB、RNC等)和无线电网络中的服务器。在RAN边缘的MEC服务器允许公开实时无线电和网络信息(如订阅者位置、单元负载等),这些信息可以被应用程序和服务用来提供上下文相关的服务。
MEC服务器在网络建设中扮演着非常重要的角色。它可以将许多网络服务部署到边缘设备上,从而减少对云服务器的依赖,降低网络拥塞和延迟,提高数据处理速度和响应时间。同时,这种新型的网络架构还可以有效地提升网络安全性,保护用户的隐私和数据安全。
在本申请实施例中,服务器120用于执行调度到其上的待调度任务。
本申请实施例描述的任务调度系统以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着任务调度系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
接下来,结合附图对任务调度方法进行详细说明。图3为本申请提供的一种任务调度方法的流程示意图。该方法应用于具有图1所示硬件结构的任务调度系统,具体包括以下步骤:
步骤310、确定待调度任务的第一能量消耗。
在对待调度任务进行调度时,待调度任务可以在本地执行(即将待调度任务调度至计算设备上执行),也可以在服务器上执行(即将待调度任务调度至服务器上执行)。由于待调度任务是计算设备生成的,所以当待调度任务需要调度至服务器上执行时,待调度任务调度至计算设备上执行和调度至服务器上执行会产生不同的能量消耗。除此之外,由于MEC服务器是小型数据中心,MEC服务器可以比传统的云数据中心或本地计算设备消耗更少的能量。因此在本申请实施例中,对待调度任务在MEC服务器上的能量消耗忽略不计。
在一种实施方式中,当待调度任务调度至本地计算设备上时,通过计算设备的时钟频率、功率以及待调度任务的工作量和待调度任务在该计算设备上的执行时间确定待调度任务在计算设备上执行所消耗的能量(第二能量消耗)。
具体的,根据待调度任务在计算设备上的工作量与计算设备的时钟频率确定待调度任务的第一时间消耗。即:其中,Tl m,n为待调度任务n在计算设备m上的第一时间消耗,第一时间消耗用于指示待调度任务在计算设备上执行所消耗的时间,Lm,n为待调度任务n在计算设备m上的工作量,工作量用于指示待调度任务在计算设备上执行需要的CPU周期数,fl m为计算设备m的CPU时钟频率。
在确定了待调度任务n在计算设备m上的第一时间消耗后,根据第一时间消耗与计算设备的功率确定待调度任务的第二能量消耗。即:El m,n=Pl m×Tl m,n,其中,El m,n为待调度任务n在计算设备m上执行所消耗的能量(第二能量消耗),Pl m为计算设备m的功率。
需要说明的是,在本申请实施例中,不考虑计算设备的其他能量消耗,例如电子电路上的能量损耗等,这些能量损耗较小并且不足以影响调度结果。
在另一种实施方式中,由于MEC服务器可以比传统的云数据中心或本地计算设备消耗更少的能量。在本申请实施例中,对待调度任务在MEC服务器上的能量消耗忽略不计。因此,考虑计算设备将待调度任务传输至服务器时产生的能量消耗。即,当待调度任务从计算设备调度至服务器上时,通过计算设备的传输速率、传输功率以及待调度任务的工作量确定待调度任务在服务器上执行所消耗的能量(第三能量消耗)。
具体的,根据待调度任务的数据量和计算设备的传输速率确定待调度任务的第二时间消耗。即,其中,Ttra m,n为待调度任务n从计算设备传输至服务器所需的时间(第二时间消耗),Dm,n为待调度任务n的数据量,Dm,n包括:待调度任务n的程序代码和输入数据,Rm为计算设备将待调度任务传输至服务器的传输速率。
为了简化任务调度问题,在本申请实施例中,暂不考虑信道质量对传输速率的影响,计算设备和服务器建立连接的时候会获取到连接信道的质量,根据香农定理即可求得计算设备将待调度任务传输至服务器的传输速率Rm。
在确定了待调度任务n从计算设备传输至服务器的第二时间消耗后,根据第二时间消耗和计算设备的传输功率确定待调度任务的第三能量消耗。即:Etra m,n=Ptra m×Ttra m,n,其中,Etra m,n为计算设备将待调度任务传输至服务器所消耗的能量(第三能量消耗),Ptra m为计算设备的传输功率。
为了简化任务调度问题,在本申请实施方式中,暂不考虑TCP连接、信道保持等操作的能量消耗,这些能量消耗相较于传输的能量消耗较小且不影响调度结果。
由于任务调度的最小单位为单个任务,所以对于任意任务只有被调度和不被调度两种结果。待调度任务被调度,则将该待调度任务迁移到服务器上执行,反之,待调度任务则在计算设备上执行。
在本申请实施方式中,待调度任务的调度结果用am,n∈0,1表示,其中,am,n=0表示待调度任务在计算设备上执行,am,n=1表示待调度任务被调度至服务器上执行。如果待调度任务被调度到服务器执行,则待调度任务的第一能量消耗为待调度任务从计算设备传输至服务器产生的第三能量消耗Etra m,n。如果待调度任务不被调度到服务器执行,待调度任务在计算设备上执行,则待调度任务的第一能量消耗为待调度任务在计算设备上执行产生的第二能量消耗El m,n。
因此,在本申请实施方式中,可以根据待调度任务的第二能量消耗或第三能量消耗确定待调度任务的第一能量消耗Em,n。即,
根据上述公式可知,当待调度任务在计算设备执行时,am,n=0,此时,待调度任务的第一能量消耗等于待调度任务在计算设备上执行所消耗的能量(第二能量消耗)。当待调度任务在服务器上执行时,am,n=1,此时,待调度任务的第一能量消耗等于待调度任务在服务器上执行所消耗的能量(第三能量消耗)。
步骤320、根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。
在对待调度任务进行调度时,不仅要考虑待调度任务的第一能量消耗,还要考虑待调度任务调度至计算设备或服务器后,能否满足第一约束条件和第二约束条件。
第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为待调度任务在至少一个计算设备或服务器上执行结束的时间,Tstart m,n为待调度任务在至少一个计算设备或服务器上开始执行的时间,Tdelay m,n为待调度任务在至少一个计算设备或服务器上的延时时间。第一约束条件为待调度任务在计算设备或服务器上执行结束的时间要大于等于待调度任务在计算设备或服务器上开始执行的时间与待调度任务在至少一个计算设备或服务器上的延时时间之和。
第二约束条件为其中,n2为待调度任务,n1为至少一个计算设备或服务器执行待调度任务前执行的任务。第二约束条件为待调度任务在计算设备或服务器上开始执行的时间要大于计算设备或服务器执行待调度任务前执行的任务的结束执行时间。
在一种实施方式中,首先,从任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器。其次,从满足第一约束条件和第二约束条件的计算设备和/或服务器中选择具有最小的第一能量消耗的计算设备或服务器作为目标设备,将待调度任务调度至目标设备上执行。
综上,本申请通过将待调度任务调度到计算设备或服务器执行后,计算设备或服务器产生的能量消耗,来确定待调度任务的目标设备,可以减少任务调度过程中的能量浪费,避免不合理的任务调度会造成信道堵塞以及计算资源的浪费导致过多的能量消耗的问题。
可以理解的是,为了实现上述实施例中功能,计算机设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
进一步的,作为对上述图3所示方法实施例的实现,本申请实施例提供了一种任务调度装置。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
具体如图4所示,任务调度装置400包括:
确定模块410,用于确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;
调度模块420,用于根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。
进一步的,如图4所示,调度模块420还用于:从任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器,第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为待调度任务在至少一个计算设备或服务器上执行结束的时间,Tstart m,n为待调度任务在至少一个计算设备或服务器上开始执行的时间,Tdelay m,n为待调度任务在至少一个计算设备或服务器上的延时时间,第二约束条件为其中,n2为待调度任务,n1为至少一个计算设备或服务器执行待调度任务前执行的任务。
进一步的,如图4所示,调度模块420具体用于:从满足第一约束条件和第二约束条件的计算设备和/或服务器中选择具有最小的第一能量消耗的计算设备或服务器作为目标设备。
进一步的,如图4所示,确定模块410具体用于:根据待调度任务的第二能量消耗或第三能量消耗确定待调度任务的第一能量消耗,第二能量消耗用于指示待调度任务在计算设备上执行所消耗的能量,第三能量消耗用于指示待调度任务从计算设备传输至服务器所消耗的能量。
进一步的,如图4所示,确定模块410具体用于:根据待调度任务在计算设备上的工作量与计算设备的时钟频率确定待调度任务的第一时间消耗,工作量用于指示待调度任务在计算设备上执行需要的CPU周期数,第一时间消耗用于指示待调度任务在计算设备上执行所消耗的时间;根据第一时间消耗与计算设备的功率确定待调度任务的第二能量消耗。
进一步的,如图4所示,确定模块410具体用于:根据待调度任务的数据量和计算设备的传输速率确定待调度任务的第二时间消耗,第二时间消耗用于指示待调度任务从计算设备传输至服务器所消耗的时间;根据第二时间消耗和计算设备的传输功率确定待调度任务的第三能量消耗。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述任务调度方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述任务调度方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定待调度任务的第一能量消耗,第一能量消耗用于指示将待调度任务调度到至少一个计算设备或服务器后,至少一个计算设备或服务器执行待调度任务所消耗的能量;根据第一能量消耗从任务调度系统中选择目标设备,将待调度任务调度至目标设备。
进一步的,从任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器,第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为待调度任务在至少一个计算设备或服务器上执行结束的时间,Tstart m,n为待调度任务在至少一个计算设备或服务器上开始执行的时间,Tdelay m,n为待调度任务在至少一个计算设备或服务器上的延时时间,第二约束条件为其中,n2为待调度任务,n1为至少一个计算设备或服务器执行待调度任务前执行的任务。
进一步的,从满足第一约束条件和第二约束条件的计算设备和/或服务器中选择具有最小的第一能量消耗的计算设备或服务器作为目标设备。
进一步的,根据待调度任务的第二能量消耗或第三能量消耗确定待调度任务的第一能量消耗,第二能量消耗用于指示待调度任务在计算设备上执行所消耗的能量,第三能量消耗用于指示待调度任务从计算设备传输至服务器所消耗的能量。
进一步的,根据待调度任务在计算设备上的工作量与计算设备的时钟频率确定待调度任务的第一时间消耗,工作量用于指示待调度任务在计算设备上执行需要的CPU周期数,第一时间消耗用于指示待调度任务在计算设备上执行所消耗的时间;根据第一时间消耗与计算设备的功率确定待调度任务的第二能量消耗。
进一步的,根据待调度任务的数据量和计算设备的传输速率确定待调度任务的第二时间消耗,第二时间消耗用于指示待调度任务从计算设备传输至服务器所消耗的时间;根据第二时间消耗和计算设备的传输功率确定待调度任务的第三能量消耗。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种任务调度系统,其特征在于,所述任务调度系统包括:至少一个计算设备和服务器,所述至少一个计算设备用于:
确定待调度任务的第一能量消耗,所述第一能量消耗用于指示将所述待调度任务调度到所述至少一个计算设备或所述服务器后,所述至少一个计算设备或所述服务器执行所述待调度任务所消耗的能量;
根据所述第一能量消耗从所述任务调度系统中选择目标设备,将所述待调度任务调度至所述目标设备。
2.根据权利要求1所述的方法,其特征在于,所述计算设备还用于:
从所述任务调度系统中筛选出满足第一约束条件和第二约束条件的计算设备和/或服务器,所述第一约束条件为Tend m,n≥Tstart m,n+Tdelay m,n,其中,Tend m,n为所述待调度任务在所述至少一个计算设备或所述服务器上执行结束的时间,Tstart m,n为所述待调度任务在所述至少一个计算设备或所述服务器上开始执行的时间,Tdelay m,n为所述待调度任务在所述至少一个计算设备或所述服务器上的延时时间,所述第二约束条件为其中,n2为所述待调度任务,n1为所述至少一个计算设备或所述服务器执行所述待调度任务前执行的任务。
3.根据权利要求2所述的方法,其特征在于,所述计算设备具体用于:
从满足所述第一约束条件和所述第二约束条件的计算设备和/或服务器中选择具有最小的所述第一能量消耗的计算设备或服务器作为所述目标设备。
4.根据权利要求1所述的方法,其特征在于,所述计算设备具体用于:
根据所述待调度任务的第二能量消耗或第三能量消耗确定所述待调度任务的第一能量消耗,所述第二能量消耗用于指示所述待调度任务在所述计算设备上执行所消耗的能量,所述第三能量消耗用于指示所述待调度任务从所述计算设备传输至所述服务器所消耗的能量。
5.根据权利要求4所述的方法,其特征在于,所述计算设备具体用于:
根据所述待调度任务在所述计算设备上的工作量与所述计算设备的时钟频率确定所述待调度任务的第一时间消耗,所述工作量用于指示所述待调度任务在所述计算设备上执行需要的CPU周期数,所述第一时间消耗用于指示所述待调度任务在所述计算设备上执行所消耗的时间;
根据所述第一时间消耗与所述计算设备的功率确定所述待调度任务的所述第二能量消耗。
6.根据权利要求4所述的方法,其特征在于,所述计算设备具体用于:
根据所述待调度任务的数据量和所述计算设备的传输速率确定所述待调度任务的第二时间消耗,所述第二时间消耗用于指示所述待调度任务从所述计算设备传输至所述服务器所消耗的时间;
根据所述第二时间消耗和所述计算设备的传输功率确定所述待调度任务的所述第三能量消耗。
7.一种任务调度方法,其特征在于,所述方法包括:
确定待调度任务的第一能量消耗,所述第一能量消耗用于指示将所述待调度任务调度到至少一个计算设备或服务器后,所述至少一个计算设备或所述服务器执行所述待调度任务所消耗的能量;
根据所述第一能量消耗从所述任务调度系统中选择目标设备,将所述待调度任务调度至所述目标设备。
8.一种任务调度装置,其特征在于,所述装置包括:
确定模块,用于确定待调度任务的第一能量消耗,所述第一能量消耗用于指示将所述待调度任务调度到所述至少一个计算设备或所述服务器后,所述至少一个计算设备或所述服务器执行所述待调度任务所消耗的能量;
调度模块,用于根据所述第一能量消耗从所述任务调度系统中选择目标设备,将所述待调度任务调度至所述目标设备。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求7所述的任务调度方法。
10.一种电子设备,其特征在于,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求7所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410092067.6A CN118034876A (zh) | 2024-01-23 | 2024-01-23 | 任务调度系统、方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410092067.6A CN118034876A (zh) | 2024-01-23 | 2024-01-23 | 任务调度系统、方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118034876A true CN118034876A (zh) | 2024-05-14 |
Family
ID=90983188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410092067.6A Pending CN118034876A (zh) | 2024-01-23 | 2024-01-23 | 任务调度系统、方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118034876A (zh) |
-
2024
- 2024-01-23 CN CN202410092067.6A patent/CN118034876A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xia et al. | Phone2Cloud: Exploiting computation offloading for energy saving on smartphones in mobile cloud computing | |
Nishio et al. | Service-oriented heterogeneous resource sharing for optimizing service latency in mobile cloud | |
RU2683509C2 (ru) | Диспетчеризация ресурсов на основании профилей использования ресурсов, зависящих от устройства или зависящих от пользователя | |
CN109451002B (zh) | 一种cdn节点的选择方法及设备 | |
CN106844051A (zh) | 一种边缘计算环境中功耗优化的负载任务迁移算法 | |
US11546857B2 (en) | Wireless sensor network for pipeline fluid leakage measurement | |
US11678362B2 (en) | Method to dynamically change the minimum candidate resources ratio in mode 2 resource selection procedure of NR V2X | |
US9078277B2 (en) | Network and user behavior based time-shifted mobile data transmission | |
CN110391873B (zh) | 用于确定数据传送方式的方法、装置以及计算机程序产品 | |
WO2022133875A1 (en) | Protocol state aware power management | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
US20220007382A1 (en) | Model-assisted deep reinforcement learning based scheduling in wireless networks | |
Durga et al. | Context-aware adaptive resource provisioning for mobile clients in intra-cloud environment | |
US11221875B2 (en) | Cooperative scheduling of virtual machines | |
WO2017142773A1 (en) | User presence prediction driven device management | |
CN118034876A (zh) | 任务调度系统、方法、装置、存储介质及电子设备 | |
WO2023244316A1 (en) | Virtual machine autoscaling with overclocking | |
Liu et al. | Active computing toward 5G internet of things | |
CN110045811B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN115396515A (zh) | 资源调度方法、装置及存储介质 | |
CN112738828B (zh) | 一种节能控制方法及装置 | |
Mahmoodi et al. | Spectrum-Aware Mobile Computing | |
CN112148448A (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN115373865A (zh) | 一种并发线程管理方法、装置、电子设备和存储介质 | |
CN112948114A (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 |