CN115048200A - 一种面向云边聚合计算的多决策计算任务优化卸载方法 - Google Patents

一种面向云边聚合计算的多决策计算任务优化卸载方法 Download PDF

Info

Publication number
CN115048200A
CN115048200A CN202210588981.0A CN202210588981A CN115048200A CN 115048200 A CN115048200 A CN 115048200A CN 202210588981 A CN202210588981 A CN 202210588981A CN 115048200 A CN115048200 A CN 115048200A
Authority
CN
China
Prior art keywords
task
computing
server
tasks
cloud
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
Application number
CN202210588981.0A
Other languages
English (en)
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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210588981.0A priority Critical patent/CN115048200A/zh
Publication of CN115048200A publication Critical patent/CN115048200A/zh
Pending legal-status Critical Current

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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种面向云边聚合计算的多决策计算任务优化卸载方法,包括:获取环境参数、任务参数以及本地服务器与云服务器之间的网络带宽信息;基于任务参数,为每个任务设置相应的层级;并将任务分配给应用程序,应用程序开始任务执行,判断应用程序的终止任务是否完成,并获取最优解。本发明将云服务器、边缘服务器与本地服务器中的资源整合,构建云边聚合计算框架模型,并针对细粒度式应用程序中各任务间存在的网络拓扑关系,对细粒度式应用程序的卸载过程建模,将任务划分层级,并对不同服务器上的计算任务合理分配计算资源,实现最小化应用程序的计算时间,提高系统吞吐量,使得系统的能量消耗与应用程序的计算时间达到平衡。

Description

一种面向云边聚合计算的多决策计算任务优化卸载方法
技术领域
本发明涉及边缘计算技术领域,尤其涉及一种面向云边聚合计算的多决策 计算任务优化卸载方法。
背景技术
随着新兴应用(如虚拟现实游戏、无人驾驶、智慧城市、实时电网管理等) 的发展,产生了越来越多的时延敏感型和计算密集型任务。云计算这种通过整 合大量计算资源到云数据中心的传统计算模式面临网络延迟速率高、带宽负载 大等挑战,已经不能满足人们现有的需求。思科公司预计,未来的移动流量将 随着智能设备数量呈指数级增长。此外,随着互联网技术的迭代升级,运营商 向通过手机等智能设备向用户提供了各种各样的应用,为了向用户提供更好地 使用体验,需要对在用户终端产生的海量数据提供更加强大的计算支撑与数据 处理服务。据统计,毫秒级的时延都会对用户体验造成极大的影响,受限于用 户终端设备的数量、计算能力、电池寿命等因素的影响,这些大量的时延敏感 型和计算密集型任务无疑给传统的计算模式带来极大的挑战,因此我们需要寻 找一种更加有效、可靠的计算模型。随着5G技术的发展,我们可以赋予小型 蜂窝基站、微型云等边缘设备更多的资源,通过下沉计算节点到网络边缘侧来 降低云数据中心的压力,同时使用任务卸载技术降低应用的计算时间。与云计 算模型相比,虽然边缘计算极大地降低了数据的传输时延,但是在处理一些数 据量较大的计算密集型任务时,云计算仍具有更大的优势。为了充分发挥云计 算与边缘计算各自的资源与地理优势,本发明选择采用云边聚合计算模型,通过整合云端与边缘侧的资源,向用户提供稳定可靠的服务。
目前在云边聚合计算领域的任务卸载技术主要存在以下问题:
(1)在用户端每时每刻都会产生大量的数据,然而其中有很多都是任务日志 等非关键信息,如何从中筛选出真正需要进行处理的任务是一个十分具有挑战 性的难题。
(2)对于已确定需要进行处理的任务而言,有本地、边缘、云等众多服务器 可进行选择,当任务在边缘服务器或云服务器中处理时,可能会产生额外的传 输时间,同时给网络带宽带来更大的压力,因此我们需要为每个任务选取合适 的计算节点以最小化它们的完成时间或者降低系统的运行能耗。
(3)对于单个服务器而言,若其有多个计算任务待处理,如何确定这些计算 任务的运行顺序以减少其它任务的等待时间,或者最大化地提高自身吞吐率也 是一个十分热门的研究方向;
(4)云计算与边缘计算系统中的资源相较于任务数而言也是十分有限的,对 于每个任务而言,如何确定分配给它的最佳计算资源,才能减轻系统的负载或 者提高资源的利用率也需要进行合理的考虑。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较 佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或 省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略 不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决的技术问题是:应用程序的计算时间长、系统内服务器 的吞吐量低,系统的能量消耗与应用程序的计算时间不平衡的问题。
为解决上述技术问题,本发明提供如下技术方案:获取环境参数、任务参 数以及本地服务器与云服务器之间的网络带宽信息;基于所述任务参数,为每 个任务设置相应的层级;将完成层级设置的任务分配给应用程序,应用程序开 始任务执行,判断应用程序的终止任务是否完成,并获取最优解。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:所述环境参数包括本地服务器的CPU算力、云服务器 的CPU算力以及边缘服务器的CPU算力,所述任务参数包括本地服务器的最 大同时处理任务数信息、云服务器最大同时处理任务数信息以及边缘服务器的 最大同时处理任务数信息。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:所述为每个任务设置值相应的层级包括,
获取细粒度式应用程序中各个任务的数据量、最大容忍时延、前置任务集 合以及后置任务集合信息;
将所述应用程序的起始任务设置为第一层级;
从所述起始任务开始任务分级,基于应用程序的网络拓扑图,以层序遍历 的顺序依次为各个任务设置相应的层级;
对于应用程序中的第i个任务Vi,若Vi含有后置任务,暂定Vi后置任务集 中的所有任务处于Vi的下一层级中;
对于同一层级中的任务,将它们的后置任务暂时归为同一层级;
对于同一层级中任意的两个任务Vi和Vj,若Vj在Vi的后置任务集中,将 Vj置于下一层级;
循环迭代,直至同层级中的任务间不存在连通路径。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:应用程序的执行从起始任务开始,并且随着终止任务的 结束而结束,应用程序的执行过程分成被多个时隙进行处理。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:根据当前时隙内各个服务器的状态,为已卸载到当前服 务器上的任务分配合适的计算资源;
本地服务器的计算资源分配包括,
规定在同一时刻只能有一个正在运行的计算任务,分配给本地服务器的其 余任务都必须在等待队列中等待处理;
云服务器和边缘服务器的计算资源分配包括,
云服务器和边缘服务器可以同时处理多个任务,若分配给云服务器和边缘 服务器的任务数量超过其最大可同时处理的任务数,则正在运行的任务平分当 前服务器所含有的计算资源,其余任务在等待队列中等待处理;若分配给云服 务器和边缘服务器的任务数量小于它们的最大负载,则分配给其的任务同时运 行处理;若当前时隙有且仅有一个任务待处理,且等待队列为空,则该任务独 占服务器的全部计算资源。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:包括,
若当前时隙为第一轮或最后一轮时隙,只需分别对起始任务和终止任务进 行判断处理;
在每个时隙开始时,统计已生成的任务,并记录当前情况下各个服务器的 状态信息;
根据操作集中的每个操作和所述服务器的状态信息,将所有已生成的任务 卸载到对应的服务器上,同时分配合适的计算资源;
根据当前时隙选择的操作、任务的卸载位置以及对应的服务器状态信息, 对任务进行处理,直至时隙结束;
当时隙
Figure BDA0003664298290000041
取值适当时,每个时隙结束后,应用程序分级后处于上一层的任 务大部分都已处理完毕,并构建没个时隙的近似惩罚函
Figure BDA0003664298290000042
Figure BDA0003664298290000043
其中,m表示第k个时隙已完成任务的总数,θi表示应用程序中第i个任 务Vi的状态,C(vi)表示任务Vi的传输时间,W(vi)表示任务Vi的等待时间,E(vi) 表示任务Vi的执行时间;
基于决策状态马尔可夫链,由操作集A={a1,a2,a3,...}得到一组近似惩罚值, 并从所述近似惩罚值中选取最小惩罚结果
Figure BDA0003664298290000044
为当前时 隙的最优解,其中ai为最优操作;
根据所述最优操作,更新所述已生成任务的生成时间、等待时间、执行时 间以及对应的服务器状态信息;
根据更新后的所述生成时间、所述等待时间、所述执行时间以及所述服务 器状态信息,执行下一时隙的任务卸载。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:对于细粒度式应用程序中的每个任务,预设各类型时延 包括传输时延、等待时延、计算时延。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:包括,
当计算任务所对应的卸载位置为本地服务器,则计算任务对应本地服务器 的传输时延为0,计算任务对应本地服务器的等待时延为计算任务的开始执行 时刻减去计算任务的生成时刻,计算任务对应本地服务器的计算时延等于计算 任务的数据量与本地服务器的CPU算力的比值;
当计算任务所对应的卸载位置为边缘服务器,则计算任务对应边缘服务器 的传输时延为0,并计算任务对应边缘服务器的等待时延W(vi,a)、计算时延E(vi),
所述计算任务对应边缘服务器的等待时延W(vi,a)包括,
Figure BDA0003664298290000051
其中,n表示当前时隙该任务所卸载的边缘服务器上被分配的计算任务的 数量以及正在计算的任务数量的总和,max表示当前任务所对应的边缘服务器 被允许的最大可同时处理的任务数量,t表示计算任务的开始执行时刻,t表 示计算任务的生成时刻;
所述计算任务对应边缘服务器的计算时延E(vi)包括,
Figure BDA0003664298290000052
其中,δi表示计算任务vi的数据量,p′a表示当该计算任务正在运行时对应 边缘服务器分配给其的计算资源。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:包括,
当计算任务所对应的卸载位置为云服务器,计算任务由本地服务器上传至 云服务器的传输时延C(vi)、等待时延W(vi,c),
所述计算任务由本地服务器上传至云服务器的传输时延C(vi)包括,
Figure BDA0003664298290000053
其中,δi表示计算任务vi的数据量,Bl,c表示本地服务器和云服务器之间的 信道带宽,hl,c表示终端用户和云服务器之间的信道增益,σ2表示高斯噪声功 率,pc表示云服务器的CPU算力;
所述计算任务由本地服务器上传至云服务器的等待时延W(vi,c)包括,
W(vi,c)=t-t-C(vi)
其中,t表示计算任务的开始执行时刻,t表示计算任务的生成时刻,C(vi) 表示计算任务由本地服务器上传至云服务器的传输时延;
所述计算任务对应云服务器的计算时延E(vi,c)包括,
Figure BDA0003664298290000054
其中,δi表示计算任务vi的数据量,p′c表示云服务器分配给该任务的计算 资源;
获取计算任务的各项时延之和,若时延之和超过任务所能容忍的最大时延, 则设置该操作所对应的惩罚结果为阈值上限,同时停止运行对应的服务器。
作为本发明所述的面向云边聚合计算的多决策计算任务优化卸载方法的 一种优选方案,其中:除起始任务外,当且仅当计算任务的前置任务集中所有 的计算任务都运行完毕,该计算任务才会生成。
本发明的有益效果:
(1)本发明所述一种面向云边聚合计算环境的多决策能量有效的计算任 务优化卸载方法,将云服务器、边缘服务器与本地服务器中的资源进行整合, 构建出云边聚合计算框架模型,充分发挥了云计算的资源优势与边缘计算的地 理优势,降低了应用程序的完成时间;
(2)本发明所述一种面向云边聚合计算环境的多决策能量有效的计算任 务优化卸载方法,针对细粒度式应用程序中各个任务间存在的网络拓扑关系, 将任务划分成不同的层级,使得处于较高层级的任务在服务器的等待队列中能 够得到优先处理,并对不同服务器上的计算任务分配合理的计算资源,以实现 最小化应用程序的计算时间的目的,且提高了系统的吞吐量,使得系统的能量 消耗与应用程序的计算时间达到平衡;
(3)本发明所述一种面向云边聚合计算环境的多决策能量有效的计算任 务优化卸载方法,通过将应用程序中计算任务的卸载过程划分成不同的时隙, 在每个时隙内对可行的卸载方案进行合理的评估,并在当前时隙最优解方案的 基础上进行下一时隙的任务卸载过程,降低了细粒度式应用程序卸载过程的时 间复杂度,使得可以在多项式时间内获得应用程序计算卸载的最佳方案;
(4)本发明所述一种面向云边聚合计算环境的多决策能量有效的计算任 务优化卸载方法,对细粒度式应用程序的卸载过程进行了细致的建模,不仅充 分考虑了任务的传输时延、等待时延与计算时延对整个应用程序的完成时间的 影响,同时还可测量不同时隙内系统的吞吐量;在处理结构复杂的细粒度式应 用程序的计算任务卸载问题时,本发明具有明显的优势。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需 要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下, 还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的基本流程示意图;
图2为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的系统架构图;
图3为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的应用程序网络拓扑示意图;
图4为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的应用程序任务分级示意图;
图5为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的应用程序的状态转移过程;
图6为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的应用程序处理流程图;
图7为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的算法迭代示意图;
图8为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的计算资源分配示意图;
图9为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任务 优化卸载方法的CETO-Sim平台架构图;
图10为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任 务优化卸载方法的CETO-Sim平台网络拓扑组件示意图;
图11为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任 务优化卸载方法的应用完成时间与任务数据增量图;
图12为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任 务优化卸载方法的系统能量消耗与任务数据增量图;
图13为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任 务优化卸载方法的能耗数据比与任务数据增量图;
图14为本发明一个实施例提供的一种面向云边聚合计算的多决策计算任 务优化卸载方法的系统吞吐率与时间的关系示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书 附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的 一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的 保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明 还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不 违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例 的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少 一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在 一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施 例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明, 表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例, 其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及 深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等 指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述 本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、 以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第 一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广 义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械 连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件 内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在 本发明中的具体含义。
实施例1
本发明所设计面向云边聚合计算的多决策计算任务优化卸载方法的系统架 构图如图2所示,最上层是云数据中心,其中包含了大量的计算资源,是整个 计算系统的兜底部分。第二层由部署在用户附近的边缘计算节点组成,如无线 访问点与数据中心等,它们含有较少的计算资源,可以承担部分任务的计算与 传输工作。第三层由用户终端设备组成,如智能手机、电脑等。在整个云边聚 合计算系统中,云层与边缘层通过核心网络相互连接,数据传输需要占用大量 的网络带宽与传输信道等资源,需要耗费较长的时间;在边缘层中,各个边缘 设备通过有线链路相互连接组成边缘网络,边缘设备间可以相互通信;边缘层 与本地层通过无线网络进行连接,每个边缘设备都可为其覆盖范围内的本地设 备提供服务,由于边缘设备与本地设备间的距离较近,因此数据在此间的传输 时间可以忽略不计。
本发明所提算法针对解决云边聚合计算系统中细粒度式应用程序的任务卸 载问题,即应用程序由多个具有相互依赖关系的任务组成。我们假设应用程序V 中的任务数量为N,其所构成的网络拓扑图为有向无环图(DAG)G(V,A), 其中V和A分别代表应用程序中的任务和各个任务间的有向弧。如图3所示, 应用程序V以任务1的开始时间为起始时刻,以任务9的结束时间为终止时刻。 我们使用有色圆圈表示只能在本地进行处理的任务,如图中任务4所示。对于 每个任务υi而言,它包含任务大小δi、最大容忍时延τ、是否可卸载等信息,我 们以它的前置任务队列中最后完成任务的结束时间作为它的生成时间,同时规 定当且仅当任务υi的前置任务全部处理完成之后它才能够开始运行。
参照图1至图8,为本发明的一个实施例,提供了一种面向云边聚合计算 的多决策计算任务优化卸载方法,包括:
S1:获取环境参数、任务参数以及本地服务器与云服务器之间的网络带宽 信息。需要说明的是:
环境参数包括本地服务器的CPU算力、云服务器的CPU算力以及边缘服 务器的CPU算力,任务参数包括本地服务器的最大同时处理任务数信息、云 服务器最大同时处理任务数信息以及边缘服务器的最大同时处理任务数信息。
S2:基于任务参数,为每个任务设置相应的层级。需要说明的是:
为每个任务设置值相应的层级包括,
(1)获取细粒度式应用程序中各个任务的数据量、最大容忍时延、前置 任务集合以及后置任务集合信息;
(2)将应用程序的起始任务设置为第一层级;
(3)从起始任务开始任务分级,基于应用程序的网络拓扑图,以层序遍 历的顺序依次为各个任务设置相应的层级;
(4)对于应用程序中的第i个任务Vi,若Vi含有后置任务,暂定Vi后置 任务集中的所有任务处于Vi的下一层级中;
(5)对于同一层级中的任务,将它们的后置任务暂时归为同一层级;
(6)对于同一层级中任意的两个任务Vi和Vj,若Vj在Vi的后置任务集中, 将Vj置于下一层级;
循环迭代步骤(3)~(6),直至同层级中的任务间不存在连通路径。
S3:将完成层级设置的任务分配给应用程序,应用程序开始任务执行,判 断应用程序的终止任务是否完成,并获取最优解。需要说明的是:
应用程序的执行从起始任务开始,并且随着终止任务的结束而结束,应用 程序的执行过程分成被多个时隙进行处理,包括,
根据当前时隙内各个服务器的状态,为已卸载到当前服务器上的任务分配 合适的计算资源;
本地服务器的计算资源分配包括,
规定在同一时刻只能有一个正在运行的计算任务,分配给本地服务器的其 余任务都必须在等待队列中等待处理;
云服务器和边缘服务器的计算资源分配包括,
云服务器和边缘服务器可以同时处理多个任务,若分配给云服务器和边缘 服务器的任务数量超过其最大可同时处理的任务数,则正在运行的任务平分当 前服务器所含有的计算资源,其余任务在等待队列中等待处理;若分配给云服 务器和边缘服务器的任务数量小于它们的最大负载,则分配给其的任务同时运 行处理;若当前时隙有且仅有一个任务待处理,且等待队列为空,则该任务独 占服务器的全部计算资源。
①若当前时隙为第一轮或最后一轮时隙,只需分别对起始任务和终止任务 进行判断处理;
②在每个时隙开始时,统计已生成的任务,并记录当前情况下各个服务器 的状态信息;
③根据操作集中的每个操作和服务器的状态信息,将所有已生成的任务卸 载到对应的服务器上,同时分配合适的计算资源;
④根据当前时隙选择的操作、任务的卸载位置以及对应的服务器状态信息, 对任务进行处理,直至时隙结束;
⑤当时隙
Figure BDA0003664298290000111
取值适当时,每个时隙结束后,应用程序分级后处于上一层的 任务大部分都已处理完毕,并构建没个时隙的近似惩罚
Figure BDA0003664298290000112
数,
Figure BDA0003664298290000113
其中,m表示第k个时隙已完成任务的总数,θi表示应用程序中第i个任 务Vi的状态,C(vi)表示任务Vi的传输时间,W(vi)表示任务Vi的等待时间,E(vi) 表示任务Vi的执行时间;
⑥基于决策状态马尔可夫链,由操作集A={a1,a2,a3,...}得到一组近似惩罚值,并从近似惩罚值中选取最小惩罚结果
Figure BDA0003664298290000114
为当前时隙的 最优解,其中ai为最优操作;
⑦根据最优操作,更新已生成任务的生成时间、等待时间、执行时间以及 对应的服务器状态信息;
⑧根据更新后的生成时间、等待时间、执行时间以及服务器状态信息,执 行下一时隙的任务卸载。
对于细粒度式应用程序中的每个任务,预设各类型时延包括传输时延、等 待时延、计算时延。
包括,
当计算任务所对应的卸载位置为本地服务器,则计算任务对应本地服务器 的传输时延为0,计算任务对应本地服务器的等待时延为计算任务的开始执行 时刻减去计算任务的生成时刻,计算任务对应本地服务器的计算时延等于计算 任务的数据量与本地服务器的CPU算力的比值;
当计算任务所对应的卸载位置为边缘服务器,则计算任务对应边缘服务器 的传输时延为0,并计算任务对应边缘服务器的等待时延W(vi,a)、计算时延E(vi),
计算任务对应边缘服务器的等待时延W(vi,a)包括,
Figure BDA0003664298290000121
其中,n表示当前时隙该任务所卸载的边缘服务器上被分配的计算任务的 数量以及正在计算的任务数量的总和,max表示当前任务所对应的边缘服务器 被允许的最大可同时处理的任务数量,t表示计算任务的开始执行时刻,t表 示计算任务的生成时刻;
计算任务对应边缘服务器的计算时延E(vi)包括,
Figure BDA0003664298290000122
其中,δi表示计算任务vi的数据量,p′a表示当该计算任务正在运行时对应 边缘服务器分配给其的计算资源。
包括,
当计算任务所对应的卸载位置为云服务器,计算任务由本地服务器上传至 云服务器的传输时延C(vi)、等待时延W(vi,c),
计算任务由本地服务器上传至云服务器的传输时延C(vi)包括,
Figure BDA0003664298290000123
其中,δi表示计算任务vi的数据量,Bl,c表示本地服务器和云服务器之间的 信道带宽,hl,c表示终端用户和云服务器之间的信道增益,σ2表示高斯噪声功 率,pc表示云服务器的CPU算力;
计算任务由本地服务器上传至云服务器的等待时延W(vi,c)包括,
W(vi,c)=t-t-C(vi)
其中,t表示计算任务的开始执行时刻,t表示计算任务的生成时刻,C(vi) 表示计算任务由本地服务器上传至云服务器的传输时延;
计算任务对应云服务器的计算时延E(vi,c)包括,
Figure BDA0003664298290000124
其中,δi表示计算任务vi的数据量,p′c表示云服务器分配给该任务的计算 资源;
获取计算任务的各项时延之和,若时延之和超过任务所能容忍的最大时延, 则设置该操作所对应的惩罚结果为阈值上限,同时停止运行对应的服务器。
在每个时隙执行步骤①~⑧,直至应用程序的终止任务完成处理。
除起始任务外,当且仅当计算任务的前置任务集中所有的计算任务都运行 完毕,该计算任务才会生成。
实施例2
参照图9至图14,为本发明的第二个实施例,该实施例不同于第一个实施 例的是,提供了一种面向云边聚合计算的多决策计算任务优化卸载方法的验证 测试,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方 案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方 法所具有的真实效果。
本发明设计了一个适用于云边聚合计算环境的仿真平台 CETO-Sim(Cloud-EdgeTask Offloading Simulation),该平台将实验中可能出现的 物理实体进行分类并封装成不同的模块,以此简化用户的部署过程,除此之外, 该平台在任务与不同模块间建立对应的映射关系,以此模拟任务的传输过程, 且平台中各个模块间具有相对独立性,用户可根据需求将自定义模块加入系统 中,极大地增强了系统的扩展性与实用性,平台架构如图9所示。
CETO-Sim仿真平台由任务管理组件、网络拓扑组件、终端用户组件、调 度策略组件、服务器组件及运行组件组成,其中网络拓扑组件、调度策略组件 是核心组件,它们都需通过运行组件发挥各自的功效。下面将对仿真平台中的 各个组件进行详细的介绍。
任务管理组件由任务生成模块与发送模块组成,该组件负责实现仿真平台 中任务的生成及发送功能。
网络拓扑组件由多层组成,每层均负责特定的功能,以此方便上层的操作, 如图10所示,传感器为生成任务的最小单元,该层负责收集环境中的关键信 息并判断当前状态是否满足生成任务的触发条件;任务拓扑层为可选层,当处 理细粒度式应用程序的任务卸载问题时,需要在此构建任务间的网络拓扑关系; 信息接收层负责接收任务管理组件传递的任务属性及任务发送方式等信息,至 此任务发送前的所有准备工作已准备完毕;接入网络层负责终端用户与边缘服 务器组件间的任务传递功能,边缘服务器组件一般由多个具有少量计算能力的 计算节点组成,且都部署在数据源附近,我们定义信息在该层采用无线网络的 方式进行传输;核心网络层负责用户终端与云服务器间的任务传递功能,云端 中通常会部署大量的计算资源,因此默认情况下我们设置云服务器的数量只有 一个,为了减少数据的传输时延,默认情况下任务量较小时我们采用无线传输 方式,任务较多时采用有线与无线混合方式进行传输;由于任务中会含有部分 干扰信息,所以信息接收层与接入网络层、核心网络层中设有网关,由其负责 信息的筛选、过滤操作。
终端用户组件包括各种终端设备,如智能手机、摄像头、电脑等,每个终 端设备都可视为一个具有少量计算资源的本地服务器。
调度策略组件是CETO-Sim仿真平台的核心架构,用户需要将其设计好的 策略加载到该组件中,以此实现任务卸载过程。
服务器组件由云、本地和边缘服务器三部分组成,其中云服务器所含计算 资源最多,本地服务器所含计算资源最少。
运行组件由资源调度中心模块、运行模块及监控模块三部分组成,在仿真 实验开始之前,用户需要将网络拓扑组件、终端用户组件、调度策略组件、服 务器组件加载到资源调度中心模块中;之后用户在运行模块调用不同的方法来 模拟创建实际环境中所需的各个实体等信息。
参数配置,详细如表1所示(其中d为常数)。
表1:实验参数配置表。
参数 参数
任务数量 180~220 单个任务数据量 [0.6MB,1.5MB]
高斯信道收益 127+30log<sub>2</sub> d B<sub>l,c</sub> 20M
σ<sup>2</sup> 2×10<sup>-13</sup> M 3
云服务器的运行速率 3×10<sup>3</sup>MIPS 云服务器的功率 90W
云服务器频率 3GHZ 边缘服务器的运行速率 2×10<sup>3</sup>MIPS
边缘服务器频率 2GHZ 边缘服务器的功率 70W
本地服务器的运行速率 100MIPS 本地服务器的功率 0.3W
对于应用程序中的每个任务,对其增加相同的任务量,应用程序的完成时 间与任务数据增量的关系如图11所示,需要说明的是本发明采用的是METOO 算法,方法1采用的是SJF算法,方法2采用的是OnDisc算法,方法3采用 的是随机卸载算法,从图3中可以看出,应用程序的完成时间与任务数据增量 的成长曲线较为平缓,这是因为我们对应用程序中的任务进行分级,使得终止 任务前置任务集中的所有任务都能够迅速完成,从而终止任务能够更早生成。 在一般情况下,使用METOO算法(METOO:Multi-decision energy efficienttask offloading optimization)应用程序的在完成时间相较于SJF算法、OnDisc算法 与随机卸载算法相比缩短了13%、8%与30%左右。
如图12所示,SJF算法、OnDisc算法与随机卸载算法导致的系统能量消 耗明显高于本发明所提出的METOO算法,这是因为在不同时隙有的任务并未 生成,所以导致部分服务器空载运行,造成了不必要的能量损失,在一般情况 下,使用本发明算法相较于方法1、方法2与方法3相比,在系统能耗方面降 低了5%、8%与10%左右。
给出了在固定能量消耗情况下,应用程序中已处理任务数据量占总量百分 比与任务数据增量的关系如图13所示,随着任务数据量的增加,大部分方法 的任务完成率都在降低,这是因为一方面各个任务的执行时间都在增加,另外 一方面系统的空载率也在上升,其中方法3的结果波动较大,这是因为有相当 一部分数据可能都被卸载到本地进行处理,造成任务的等待时间增加,后置任 务的生成时间也会随之延后,从而造成较多的不必要损耗;另外,我们可以预 计随着应用程序数量的增加,服务器的空载运行时间同样也会增加,从而导致 应用程序消耗更多的系统资源。
在给出了在固定时间间隔的情况下,系统吞吐率的变化情况如图14所示, 在开始阶段,采用四种方法系统的吞吐量都差不多,这是因为细粒度式的应用 程序都从起始任务开始执行,这一时间系统的吞吐量只与各个服务器的处理速 率有关;采用METOO策略时,系统在各个时隙内的吞吐量先增加,达到峰值 后逐渐降低,直至应用程序完成处理,这也基本符合我们的预期;采用方法1 与方法3在各个时隙内的吞吐量都不相同,在初始阶段采用方法1时系统的吞 吐量甚至比采用其它策略更多,这是因为应用程序内,处于较高层级的数据量 较小的任务在前期被快速处理,使得前提的吞吐量提高,然而这样会增加其它 任务的等待时间,可以看出在之后的时隙内,它的吞吐量有明显的下降趋势。 总的来说METOO算法的表现更为平稳。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参 照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精 神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于,包括:
获取环境参数、任务参数以及本地服务器与云服务器之间的网络带宽信息;
基于所述任务参数,为每个任务设置相应的层级;
将完成层级设置的任务分配给应用程序,应用程序开始任务执行,判断应用程序的终止任务是否完成,并获取最优解。
2.如权利要求1所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:所述环境参数包括本地服务器的CPU算力、云服务器的CPU算力以及边缘服务器的CPU算力,所述任务参数包括本地服务器的最大同时处理任务数信息、云服务器最大同时处理任务数信息以及边缘服务器的最大同时处理任务数信息。
3.如权利要求1或2所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:所述为每个任务设置值相应的层级包括,
获取细粒度式应用程序中各个任务的数据量、最大容忍时延、前置任务集合以及后置任务集合信息;
将所述应用程序的起始任务设置为第一层级;
从所述起始任务开始任务分级,基于应用程序的网络拓扑图,以层序遍历的顺序依次为各个任务设置相应的层级;
对于应用程序中的第i个任务Vi,若Vi含有后置任务,暂定Vi后置任务集中的所有任务处于Vi的下一层级中;
对于同一层级中的任务,将它们的后置任务暂时归为同一层级;
对于同一层级中任意的两个任务Vi和Vj,若Vj在Vi的后置任务集中,将Vj置于下一层级;
循环迭代,直至同层级中的任务间不存在连通路径。
4.如权利要求3所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:应用程序的执行从起始任务开始,并且随着终止任务的结束而结束,应用程序的执行过程分成被多个时隙进行处理。
5.如权利要求4所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:根据当前时隙内各个服务器的状态,为已卸载到当前服务器上的任务分配合适的计算资源;
本地服务器的计算资源分配包括,
规定在同一时刻只能有一个正在运行的计算任务,分配给本地服务器的其余任务都必须在等待队列中等待处理;
云服务器和边缘服务器的计算资源分配包括,
云服务器和边缘服务器可以同时处理多个任务,若分配给云服务器和边缘服务器的任务数量超过其最大可同时处理的任务数,则正在运行的任务平分当前服务器所含有的计算资源,其余任务在等待队列中等待处理;若分配给云服务器和边缘服务器的任务数量小于它们的最大负载,则分配给其的任务同时运行处理;若当前时隙有且仅有一个任务待处理,且等待队列为空,则该任务独占服务器的全部计算资源。
6.如权利要求5所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:包括,
若当前时隙为第一轮或最后一轮时隙,只需分别对起始任务和终止任务进行判断处理;
在每个时隙开始时,统计已生成的任务,并记录当前情况下各个服务器的状态信息;
根据操作集中的每个操作和所述服务器的状态信息,将所有已生成的任务卸载到对应的服务器上,同时分配合适的计算资源;
根据当前时隙选择的操作、任务的卸载位置以及对应的服务器状态信息,对任务进行处理,直至时隙结束;
当时隙
Figure FDA0003664298280000021
取值适当时,每个时隙结束后,应用程序分级后处于上一层的任务大部分都已处理完毕,并构建没个时隙的近似惩罚函数
Figure FDA0003664298280000022
Figure FDA0003664298280000023
其中,m表示第k个时隙已完成任务的总数,θi表示应用程序中第i个任务Vi的状态,C(vi)表示任务Vi的传输时间,W(vi)表示任务Vi的等待时间,E(vi)表示任务Vi的执行时间;
基于决策状态马尔可夫链,由操作集A={a1,a2,a3,...}得到一组近似惩罚值,并从所述近似惩罚值中选取最小惩罚结果
Figure FDA0003664298280000024
为当前时隙的最优解,其中ai为最优操作;
根据所述最优操作,更新所述已生成任务的生成时间、等待时间、执行时间以及对应的服务器状态信息;
根据更新后的所述生成时间、所述等待时间、所述执行时间以及所述服务器状态信息,执行下一时隙的任务卸载。
7.如权利要求6所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:对于细粒度式应用程序中的每个任务,预设各类型时延包括传输时延、等待时延、计算时延。
8.如权利要求7所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:包括,
当计算任务所对应的卸载位置为本地服务器,则计算任务对应本地服务器的传输时延为0,计算任务对应本地服务器的等待时延为计算任务的开始执行时刻减去计算任务的生成时刻,计算任务对应本地服务器的计算时延等于计算任务的数据量与本地服务器的CPU算力的比值;
当计算任务所对应的卸载位置为边缘服务器,则计算任务对应边缘服务器的传输时延为0,并计算任务对应边缘服务器的等待时延W(vi,a)、计算时延E(vi),
所述计算任务对应边缘服务器的等待时延W(vi,a)包括,
Figure FDA0003664298280000031
其中,n表示当前时隙该任务所卸载的边缘服务器上被分配的计算任务的数量以及正在计算的任务数量的总和,max表示当前任务所对应的边缘服务器被允许的最大可同时处理的任务数量,t表示计算任务的开始执行时刻,t表示计算任务的生成时刻;
所述计算任务对应边缘服务器的计算时延E(vi)包括,
Figure FDA0003664298280000032
其中,δi表示计算任务vi的数据量,p′a表示当该计算任务正在运行时对应边缘服务器分配给其的计算资源。
9.如权利要求8所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:包括,
当计算任务所对应的卸载位置为云服务器,计算任务由本地服务器上传至云服务器的传输时延C(vi)、等待时延W(vi,c),
所述计算任务由本地服务器上传至云服务器的传输时延C(vi)包括,
Figure FDA0003664298280000041
其中,δi表示计算任务vi的数据量,Bl,c表示本地服务器和云服务器之间的信道带宽,hl,c表示终端用户和云服务器之间的信道增益,σ2表示高斯噪声功率,pc表示云服务器的CPU算力;
所述计算任务由本地服务器上传至云服务器的等待时延W(vi,c)包括,
W(vi,c)=t-t-C(vi)
其中,t表示计算任务的开始执行时刻,t表示计算任务的生成时刻,C(vi)表示计算任务由本地服务器上传至云服务器的传输时延;
所述计算任务对应云服务器的计算时延E(vi,c)包括,
Figure FDA0003664298280000042
其中,δi表示计算任务vi的数据量,p′c表示云服务器分配给该任务的计算资源;
获取计算任务的各项时延之和,若时延之和超过任务所能容忍的最大时延,则设置该操作所对应的惩罚结果为阈值上限,同时停止运行对应的服务器。
10.如权利要求4~9所述的面向云边聚合计算的多决策计算任务优化卸载方法,其特征在于:除起始任务外,当且仅当计算任务的前置任务集中所有的计算任务都运行完毕,该计算任务才会生成。
CN202210588981.0A 2022-05-26 2022-05-26 一种面向云边聚合计算的多决策计算任务优化卸载方法 Pending CN115048200A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210588981.0A CN115048200A (zh) 2022-05-26 2022-05-26 一种面向云边聚合计算的多决策计算任务优化卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210588981.0A CN115048200A (zh) 2022-05-26 2022-05-26 一种面向云边聚合计算的多决策计算任务优化卸载方法

Publications (1)

Publication Number Publication Date
CN115048200A true CN115048200A (zh) 2022-09-13

Family

ID=83159791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210588981.0A Pending CN115048200A (zh) 2022-05-26 2022-05-26 一种面向云边聚合计算的多决策计算任务优化卸载方法

Country Status (1)

Country Link
CN (1) CN115048200A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237506A (zh) * 2022-09-21 2022-10-25 暨南大学 Cps系统中可靠性驱动的分层任务卸载方法和装置
CN115567599A (zh) * 2022-10-18 2023-01-03 南方电网科学研究院有限责任公司 一种云边协同计算的任务迁移方法、装置及设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237506A (zh) * 2022-09-21 2022-10-25 暨南大学 Cps系统中可靠性驱动的分层任务卸载方法和装置
CN115237506B (zh) * 2022-09-21 2022-12-09 暨南大学 Cps系统中可靠性驱动的分层任务卸载方法和装置
CN115567599A (zh) * 2022-10-18 2023-01-03 南方电网科学研究院有限责任公司 一种云边协同计算的任务迁移方法、装置及设备

Similar Documents

Publication Publication Date Title
Zhao et al. Energy-saving offloading by jointly allocating radio and computational resources for mobile edge computing
CN107995660B (zh) 支持d2d-边缘服务器卸载的联合任务调度及资源分配方法
CN111240701B (zh) 一种端-边-云协同计算的任务卸载优化方法
CN110087318B (zh) 基于5g移动边缘计算的任务卸载和资源分配联合优化方法
CN115048200A (zh) 一种面向云边聚合计算的多决策计算任务优化卸载方法
CN112600921B (zh) 一种面向异构移动边缘网络的动态任务卸载方法
CN111586720A (zh) 一种多小区场景下的任务卸载和资源分配的联合优化方法
Chen et al. Performance analysis and uplink scheduling for QoS-aware NB-IoT networks in mobile computing
CN113193984B (zh) 一种空天地一体化网络资源映射方法及系统
CN110493360A (zh) 多服务器下降低系统能耗的移动边缘计算卸载方法
CN111538587B (zh) 一种基于负载均衡的服务功能链重配置方法
CN110247793B (zh) 一种移动边缘云中的应用程序部署方法
CN111372314A (zh) 基于移动边缘计算场景下的任务卸载方法及任务卸载装置
CN112752302A (zh) 一种基于边缘计算的电力业务时延优化方法及系统
CN109246761A (zh) 考虑延迟及能耗的基于交替方向乘子法的卸载方法
CN109947574B (zh) 一种基于雾网络的车辆大数据计算卸载方法
CN112118287A (zh) 基于交替方向乘子算法与移动边缘计算的网络资源优化调度决策方法
CN111132235A (zh) 基于改进hrrn算法和多属性决策的移动卸载迁移算法
CN111988787B (zh) 一种任务的网络接入和服务放置位置选择方法及系统
CN110719641A (zh) 边缘计算中用户卸载与资源分配联合优化方法
CN114650228A (zh) 一种异构网络中基于计算卸载的联邦学习调度方法
Xing et al. Task classification unloading algorithm for mobile edge computing in smart grid
Kopras et al. Task allocation for energy optimization in fog computing networks with latency constraints
CN114691372A (zh) 一种多媒体端边云系统的群体智能控制方法
CN114143814A (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