CN116450351A - 一种边缘容器调度算法 - Google Patents

一种边缘容器调度算法 Download PDF

Info

Publication number
CN116450351A
CN116450351A CN202310401116.5A CN202310401116A CN116450351A CN 116450351 A CN116450351 A CN 116450351A CN 202310401116 A CN202310401116 A CN 202310401116A CN 116450351 A CN116450351 A CN 116450351A
Authority
CN
China
Prior art keywords
container
edge
scheduling algorithm
module
application
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
CN202310401116.5A
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.)
Fenomen Array Beijing Technology Co ltd
Original Assignee
Fenomen Array Beijing Technology Co ltd
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 Fenomen Array Beijing Technology Co ltd filed Critical Fenomen Array Beijing Technology Co ltd
Priority to CN202310401116.5A priority Critical patent/CN116450351A/zh
Publication of CN116450351A publication Critical patent/CN116450351A/zh
Pending legal-status Critical Current

Links

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/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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及边缘容器调度技术领域,尤其涉及一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;边缘容器调度扩展了Cloudsim中原有的PowerDatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略。

Description

一种边缘容器调度算法
技术领域
本发明涉及设备运行监测装置技术领域,具体为一种边缘容器调度算法。
背景技术
本章节中的说明只提供涉及本公开的背景信息而不构成现有技术。
基于容器的微服务正在对软件和云平台的开发产生革命性的影响。一个应用程序被分解为一组部署在大量服务器上的轻量级自主容器,而不是传统的单片应用程序,每个微服务都是单独开发和部署的,不会影响应用程序的生命周期,Docker容器实际上是传统虚拟机(VM)的替代品,因为它具有高而快速的可仲缩性和很低的资源消耗,而Kubernetes足一最初由谷歌开发的开源的容器管理平台,Kubernetes通过管理容器化应用程序的完整生命周期,简化了可靠的、可伸缩的分布式系统的部署,尽管容器已经提供了高度的抽象,但是仍然需要对它们进行适当的管理,特别是在资源消耗、负载平衡和服务器分发方面,而月在容器上运行的微服务彼此之间是不能通信的,它们作为一一个独立的实体独立工作,kubernetes的发展就是为了让这些微服务更好的通信和交互,它可以在这些容器之间编排、管理形成条通信线路。
其中申请号为“CN114911605A”所公开的“一种基于多维资源约束回填的Docker容器调度算法”也是日益成熟的技术,其“方法包括:按照资源占用比对已经启动但还未经集群调度的容器资源进行降序排序;按照处理器核心的处理能力对集群内的所有容器进行降序排序;将经排序的容器资源与集群内经排序的容器依次绑定;根据回填权重系数来对经绑定的容器资源进行优先级排序以构成资源优先队列,其中所述回填权重系数基于容器处理器核心数和任务指令长度;以及依次出队所述资源优先队列中的容器资源,若满足资源约束条件,则将所述容器资源回填到空闲容器中,若不满足资源约束条件,则将所述容器资源重新插入所述资源优先队列中的合适位置,重复执行直到所有资源回填完成。
在上述的技术方案中,还存在以下缺陷:
在上述边缘容器调度中,网络边缘调度算法较为简单,无法边缘容器调度算法进一步的调控,容器调度算法运行程序较为迟缓,边缘网络的应用受到影响。
发明内容
针对现有技术的不足,本发明提供了供一种边缘容器调度算法,解决了背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;
边缘容器调度扩展了Cloudsim中原有的PowerDatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略;
扩展后的Cloudsim为了后续边缘计算调度算法的仿真,将服务或者应用建模为有向图,图的每个顶点表示为应用服务的或者数据模块,图的边表示为各个子服务之间的通信和数据传输关系,进行边缘容器调度算法应用。
优选的,所述数据结构建立是一个链表,它控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processTupleArrival,如果元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
优选的,所述部署模块,容器技术将所需的应用程序打包成单地址、注册存储的组件,需要一个简单的单行命令来完成部署,构建镜像是一个渐进的过程,DockerFile是个用于构建容器的指令,在进行下载Apacheweb的服务器镜像(ttpd),并使用DockerFile在其上安装组件,对边缘容器调度算法进行算法建立。
与现有技术相比,本发明的有益效果是:
本发明提供了一种边缘容器调度算法:
1、控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processTupleArrival,元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“设置”应做广义理解,例如,可以是固定相连、设置,也可以是可拆卸连接、设置,或一体地连接、设置。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如图1所示,本发明提出的一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;
边缘容器调度扩展了Cloudsim中原有的PowerDatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略;
扩展后的Cloudsim为了后续边缘计算调度算法的仿真,将服务或者应用建模为有向图,图的每个顶点表示为应用服务的或者数据模块,图的边表示为各个子服务之间的通信和数据传输关系,进行边缘容器调度算法应用。
数据结构建立是一个链表,它控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processTupleArrival。如果元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
部署模块,容器技术将所需的应用程序打包成单地址、注册存储的组件,需要一个简单的单行命令来完成部署,构建镜像是一个渐进的过程,DockerFile是个用于构建容器的指令,在进行下载Apacheweb的服务器镜像(ttpd),并使用DockerFile在其上安装组件,对边缘容器调度算法进行算法建立。
容器抽象操作模块,虚拟化整个物理机器的资源,所以打包的服务可以在几毫秒内启动,相比之下,VMware启动虚拟机则需要几分钟的时间,在Ubuntu15上的web应用程序,如果把操作系统升级到了最新的Ubuntu17,这个应用程序将不会运行,因为它依赖于Ubuntu15中的可用库,使用Docker镜像来运行这个应用程序,不但可以将Ubuntu升级到最新版本,而且应用程序将继续在完全独立于操作系统当前库的情况下运行。
容器桥接,容器提供用于内部通信的专用环回接口,它与外部通信完全隔绝,Docker还创建了一个名为docker0的桥接接口,负责将数据从容器传输到容器,docker0接口充当容器的路由器,可以用于不同容器和主机之间的内部通信,将流量从外部网络路由到内部网络进行算法计算。
容器负载平衡调度,自动对应用程序进行打包,并对容器进行调度,为了确保完全利用和节省未使用的资源,Kubernetes在关键工作负载和最佳工作负载之间进行平衡。
容器负载服务:通过Kubernetes进行算法联接网络和通信,且Kubernetes会自动为容器分配IP地址,并为一组容器分配一个DNS名称,可以在集群内实现负载均衡。
存储业务模块:使用Kubernetes,可以挂载所选择的存储系统,可以选择本地存储,或者选择公共云提供商(如GCP或AWS),或者使用共享的网络存储系统.(如NFS、iSCSI等)。
容器自动修复:Kubernetes可以自动重启在执行过程中失败的容器,杀死那些不响应的容器,但是,如果节点本身死亡,那么它将在其它可用节点上替换和重新调度那些失败的容器。
容器隐私和配置管理:Kubernetes可以帮助用户部署和更新隐私以及应用程序。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;
边缘容器调度扩展了Cloudsim中原有的PowerDatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略;
扩展后的Cloudsim为了后续边缘计算调度算法的仿真,将服务或者应用建模为有向图,图的每个顶点表示为应用服务的或者数据模块,图的边表示为各个子服务之间的通信和数据传输关系,进行边缘容器调度算法应用。
2.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述数据结构建立是一个链表,它控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processTupleArrival,如果元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
3.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述部署模块,容器技术将所需的应用程序打包成单地址、注册存储的组件,需要一个简单的单行命令来完成部署,构建镜像是一个渐进的过程,DockerFile是个用于构建容器的指令,在进行下载Apacheweb的服务器镜像(ttpd),并使用DockerFile在其上安装组件,对边缘容器调度算法进行算法建立。
4.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器抽象操作模块,虚拟化整个物理机器的资源,所以打包的服务可以在几毫秒内启动,相比之下,VMware启动虚拟机则需要几分钟的时间,在Ubuntu15上的web应用程序,如果把操作系统升级到了最新的Ubuntu 17,这个应用程序将不会运行,因为它依赖于Ubuntu 15中的可用库,使用Docker镜像来运行这个应用程序,不但可以将Ubuntu升级到最新版本,而且应用程序将继续在完全独立于操作系统当前库的情况下运行。
5.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器桥接,容器提供用于内部通信的专用环回接口,它与外部通信完全隔绝,Docker还创建了一个名为docker0的桥接接口,负责将数据从容器传输到容器,docker0接口充当容器的路由器,可以用于不同容器和主机之间的内部通信,将流量从外部网络路由到内部网络进行算法计算。
6.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器负载平衡调度,自动对应用程序进行打包,并对容器进行调度,为了确保完全利用和节省未使用的资源,Kubernetes在关键工作负载和最佳工作负载之间进行平衡。
7.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器负载服务:通过Kubernetes进行算法联接网络和通信,且Kubernetes会自动为容器分配IP地址,并为一组容器分配一个DNS名称,可以在集群内实现负载均衡。
8.根据权利要求7所述的一种边缘容器调度算法,其特征在于:所述存储业务模块:使用Kubernetes,可以挂载所选择的存储系统,可以选择本地存储,或者选择公共云提供商(如GCP或AWS),或者使用共享的网络存储系统.(如NFS、iSCSI等)。
9.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器自动修复:Kubernetes可以自动重启在执行过程中失败的容器,杀死那些不响应的的容器,但是,如果节点本身死亡,那么它将在其它可用节点上替换和重新调度那些失败的容器。
10.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器隐私和配置管理:Kubernetes可以帮助用户部署和更新隐私以及应用程序。
CN202310401116.5A 2023-04-15 2023-04-15 一种边缘容器调度算法 Pending CN116450351A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310401116.5A CN116450351A (zh) 2023-04-15 2023-04-15 一种边缘容器调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310401116.5A CN116450351A (zh) 2023-04-15 2023-04-15 一种边缘容器调度算法

Publications (1)

Publication Number Publication Date
CN116450351A true CN116450351A (zh) 2023-07-18

Family

ID=87121505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310401116.5A Pending CN116450351A (zh) 2023-04-15 2023-04-15 一种边缘容器调度算法

Country Status (1)

Country Link
CN (1) CN116450351A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270897A (zh) * 2023-11-21 2023-12-22 厦门泛卓信息科技有限公司 基于低代码业务系统的计算机系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270897A (zh) * 2023-11-21 2023-12-22 厦门泛卓信息科技有限公司 基于低代码业务系统的计算机系统
CN117270897B (zh) * 2023-11-21 2024-03-08 北京祝融视觉科技股份有限公司 基于低代码业务系统的计算机系统

Similar Documents

Publication Publication Date Title
Xiong et al. Extend cloud to edge with kubeedge
US11429369B2 (en) Distributed upgrade in virtualized computing environments
CN105979009B (zh) 一种针对云应用容器的增加负载自动均衡方法
CN108475251B (zh) 针对容器的虚拟网络、热交换、热缩放与灾难恢复
US9338067B2 (en) Network resource deployment for cloud-based services
CA2829001C (en) Technique for resource creation in a cloud computing system
EP2319211B1 (en) Method and apparatus for dynamically instantiating services using a service insertion architecture
US7197553B2 (en) Network system having a virtual-service-module
CN109194502B (zh) 多租户容器云计算系统的管理方法
CN114208124A (zh) 用于在虚拟机和容器上选择性地实现服务的系统和方法
US20110173616A1 (en) Determination and management of virtual networks
CN110308987B (zh) 一种更新容器云上分布式训练任务连接参数的方法
Eidenbenz et al. Latency-aware industrial fog application orchestration with kubernetes
CN116450351A (zh) 一种边缘容器调度算法
CN109525413B (zh) Cdn网络功能虚拟化的管理方法、装置及系统
CN115733746A (zh) 一种服务网格单元的部署方法、装置、设备及存储介质
Baresi et al. PAPS: A serverless platform for edge computing infrastructures
Kecskemeti et al. Automatic service deployment using virtualisation
Gadre et al. Centralized approaches for virtual network function placement in SDN-enabled networks
CN116800755A (zh) 基于Kubernetes的多形态软件交付装置、方法及计算机可读存储介质
CN115987872A (zh) 一种基于资源路由的云系统
Shu Heterogeneous networking architecture based on SDN
Shah et al. A real-time simulation framework for complex and large-scale optical transport networks based on the SDN paradigm
CN112348196A (zh) 一种自适应rdma网络的分布式机器学习系统及方法
Al-Surmi et al. Next generation mobile core resource orchestration: Comprehensive survey, challenges and perspectives

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