CN116225664A - 一种基于云视频系统任务优先级的抢占式调度方法 - Google Patents
一种基于云视频系统任务优先级的抢占式调度方法 Download PDFInfo
- Publication number
- CN116225664A CN116225664A CN202310450990.8A CN202310450990A CN116225664A CN 116225664 A CN116225664 A CN 116225664A CN 202310450990 A CN202310450990 A CN 202310450990A CN 116225664 A CN116225664 A CN 116225664A
- Authority
- CN
- China
- Prior art keywords
- video system
- cloud video
- priority
- task
- system task
- 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 26
- 230000001960 triggered effect Effects 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000021374 legumes Nutrition 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种基于云视频系统任务优先级的抢占式调度方法,涉及调度控制技术领域。本发明通过结合云视频系统任务重要性设置优先级,在资源紧张时能够实现基于优先级的抢占式调度,保证重要组件的优先运行。
Description
技术领域
本发明属于调度控制技术领域,尤其涉及一种基于云视频系统任务优先级的抢占式调度方法。
背景技术
Kubernetes 由谷歌内部的Brog演变而来,是Brog的2015年对外共享的开源版本。Kubernetes发布至今短短7年,超越了容器Docker官方的管理系统,已经成为云计算容器管理领域大家耳熟能详的标杆系统。Kubernetes实现了容器全生命周期的高效管理,它的功能较为齐全,覆盖面广,具有包括资源调度、资源伸缩、集群监控、部署运维等众多功能。
Kubernetes容器编排功能的实现,是通过对底层资源的调度。一个Kubernetes的集群往往由一个Master和一或多个Node节点组成,在这样的集群中资源以不同的种类被控制,基本的资源有:节点资源Node、容器组Pod、服务Service等。
Pod是Kubernetes进行容器编排时的最基本单位,一切编排指令都是基于Pod这个最小单位而言的。其中文为豆荚。生动形象的表示出其与容器之间的关系,豆荚内有一个或者多个豆子,一个Pod中装下一或多个容器,它们可以共享诸如IP等资源,但也各自独立独有一些资源如CPU、Memory。
例如:在视频Web服务中,由于业务的相关性,可以在一个Pod中部署Nginx、MySQL等关联容器,减少通信的开销。Kubernetes对Pod的管理是十分严格的,从Pod创建、部署、运行到消亡,都会对其生命周期详细记录,并通过状态数据同步到数据库,向整个集群各个组件更新资源状态。
在业界的使用中,服务器往往承担了众多服务。集群甚至某个服务器上运行的服务都会十分的复杂。对于运行数据库的服务来说,对快速读写有着很高的要求,对于网站页面响应服务来说对快速响应有着较高要求,对于云视频系统来说可能会对GPU有着极大的需求,用以图像的检测、深度学习等。众多服务对服务器资源的需求侧重不同。
此外在实际调度情况中,调度器做完调度指令后,集群的资源会动态变化,节点上的资源会出现紧张的情况。默认的策略中并未实现任务的抢占式调度,在原有的架构中,Pod的优先级是一样的。
发明内容
为了解决上述技术问题,本发明提出了一种基于云视频系统任务优先级的抢占式调度方法。
所述方法包括:步骤S1、为云视频系统任务基于重启策略设置优先级,配置的所述优先级包括第一优先级、第二优先级和第三优先级,所述云视频系统任务为KubernetesPod;步骤S2、根据所述优先级配置所述云视频系统任务的抢占式调度策略,并在各个调度节点上分别维持同属于所述第二优先级的云视频系统任务队列和同属于所述第三优先级的云视频系统任务队列;步骤S3、基于待调度的云视频系统任务的资源需求信息、分配节点标签和所述重启策略字段的字段值,依次从同属于所述第三优先级的云视频系统任务队列和同属于所述第二优先级的云视频系统任务队列中驱逐若干云视频系统任务。
其中,在所述步骤S1中,为所述云视频系统任务基于所述重启策略设置所述优先级,具体包括:若所述云视频系统任务无论以何种方式被终止均触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第一优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为Always;若所述云视频系统任务仅仅因系统异常被终止才触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第二优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为OnFailure;若所述云视频系统任务无论以何种方式被终止均不触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第三优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为Never。
其中,所述第一优先级高于所述第二优先级,所述第二优先级高于所述第三优先级。
其中,在所述步骤S2中,根据所述优先级配置所述云视频系统任务的所述抢占式调度策略,具体包括:高优先级的云视频系统任务能够抢占低优先级的云视频系统任务的调度优先级;所述低优先级的云视频系统任务不允许抢占所述高优先级的云视频系统任务的调度优先级;具有相同优先级的云视频系统任务之间不允许抢占调度优先级。
其中,在所述步骤S2中:对于任一调度节点,均维持同属于所述第二优先级的云视频系统任务队列和同属于所述第三优先级的云视频系统任务队列;各个队列中同级别的云视频系统任务基于各自的资源需求信息进行排序,资源需求越大,排序越靠前;执行任务时,优先执行同属于所述第二优先级的云视频系统任务队列中处于等待执行状态的云视频系统任务。
其中,所述步骤S3具体包括:步骤S3-1、从所述待调度的云视频系统任务的YAML文件中获取所述待调度的云视频系统任务的资源需求信息、分配节点标签和所述重启策略字段的字段值;步骤S3-2、将所述待调度的云视频系统任务发送至所述分配节点标签指示的调度节点,并根据所述重启策略字段的字段值确定所述待调度的云视频系统任务的优先级;步骤S3-3、基于所述待调度的云视频系统任务的优先级,从低于所述待调度的云视频系统任务的优先级的云视频系统任务队列中驱逐若干云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求。
其中,所述资源需求信息包括需要的CPU核数、内存大小和存储容量大小;所述分配节点标签指示所述待调度的云视频系统任务的目的调度节点的唯一标识。
其中,所述分配节点标签基于所述资源需求信息来确定,具体包括:从全部调度节点中选取满足所述资源需求信息的若干节点作为候选节点,基于各个所述候选节点可用的CPU核数、内存大小和存储容量大小,计算方差标准差,选取具有最小方差标准差的候选节点作为所述待调度的云视频系统任务的目的调度节点。
其中,在所述步骤S3-3中,当所述待调度的云视频系统任务的优先级为第一优先级时:首先从同属于所述第三优先级的云视频系统任务队列中驱逐云视频系统任务,随后从同属于所述第二优先级的云视频系统任务队列中驱逐云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求;其中,在同一云视频系统任务队列中驱逐所述云视频系统任务时,按照各个云视频系统任务的资源需求从大到小的顺序进行驱逐,被驱逐的云视频系统任务被重新放入待调度的云视频系统任务的队列中。
其中,在所述步骤S3-3中,当所述待调度的云视频系统任务的优先级为第二优先级时:从同属于所述第三优先级的云视频系统任务队列中驱逐云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求;其中,在同属于所述第三优先级的云视频系统任务队列中驱逐所述云视频系统任务时,按照各个云视频系统任务的资源需求从大到小的顺序进行驱逐,被驱逐的云视频系统任务被重新放入待调度的云视频系统任务的队列中。
综上,本发明提供的技术方案通过结合云视频系统任务重要性设置优先级,在资源紧张时能够实现基于优先级的抢占式调度,保证重要组件的优先运行。该技术方案解决了原有机制中不支持云视频任务抢占的问题。使云视频系统中高优先级的Pod可以优先调度到Node上,低优先级的Pod将会被驱逐,回收资源以保证高优先级Pod的运行,可以进一步保障重要服务。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的基于云视频系统任务优先级的抢占式调度方法的流程图;
图2为根据本发明实施例的抢占式调度的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
云视频系统的服务侧重于Web服务,其组件属于对响应速度有较高要求的类别,属于后台时刻运行的任务而不是运行一次就停止的任务。Pod在触发了过滤、打分等操作后,当前集群有可能因为实时负载增大,节点资源变得紧张,此时即便按照默认算法已经选出了候选节点,其节点资源已然不满足调度要求。但作为需求的提交者,提交的Pod任务又是十分重要的,这意味着一些节点上不重要的任务可以被驱逐或者终止,目标节点上空出足够的空间资源来保证重要任务的运行。遗憾的是默认的策略中并未实现任务的抢占式调度,在原有的架构中,Pod的优先级是一样的。
要实现抢占式的调度,首先要通过划分Pod的级别,根据Pod级别的高低实现抢占式的调度。当集群资源紧张,分配满足不了待调度的Pod时,节点能够不断驱逐低优先级的Pod,空余可分配资源逐渐变多直到能够满足调度高优先级的Pod。被驱逐的Pod被终止或者放入待调度队列中,等待下一次的重新调度。因此,下面设计一种基于任务优先级的抢占式调度策略。可以通过结合云视频系统任务重要性设置优先级,在资源紧张时能够实现基于优先级的抢占式调度,保证重要组件的优先运行。
针对于此,本发明公开了一种基于云视频系统任务优先级的抢占式调度方法。
图1为根据本发明实施例的基于云视频系统任务优先级的抢占式调度方法的流程图;结合图1所示,所述方法包括:步骤S1、为云视频系统任务基于重启策略设置优先级,配置的所述优先级包括第一优先级、第二优先级和第三优先级,所述云视频系统任务为Kubernetes Pod;步骤S2、根据所述优先级配置所述云视频系统任务的抢占式调度策略,并在各个调度节点上分别维持同属于所述第二优先级的云视频系统任务队列和同属于所述第三优先级的云视频系统任务队列;步骤S3、基于待调度的云视频系统任务的资源需求信息、分配节点标签和所述重启策略字段的字段值,依次从同属于所述第三优先级的云视频系统任务队列和同属于所述第二优先级的云视频系统任务队列中驱逐若干云视频系统任务。
在一些实施例中,在所述步骤S1中,为所述云视频系统任务基于所述重启策略设置所述优先级,具体包括:若所述云视频系统任务无论以何种方式被终止均触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第一优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为Always;若所述云视频系统任务仅仅因系统异常被终止才触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第二优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为OnFailure;若所述云视频系统任务无论以何种方式被终止均不触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第三优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为Never。
具体地,根据云视频系统任务即Kubernetes Pod重启策略,划分优先级。一般情况下,重启策略的配置依然可以通过PodYAML文件重启策略字段来配置,默认有三种重启的选项。1.当设置为Always时,Pod将会被时刻保证运行,不论其以何种方式终止,都会被启动再配置,保证时刻运行。2.当设置为OnFailure时,Pod在以异常终止运行时会被启动再配置。3.当设置为Never时,Pod不论因为什么原因终止运行,一经停止便结束整个生命周期。
在一些实施例中,所述第一优先级高于所述第二优先级,所述第二优先级高于所述第三优先级。
在一些实施例中,在所述步骤S2中,根据所述优先级配置所述云视频系统任务的所述抢占式调度策略,具体包括:高优先级的云视频系统任务能够抢占低优先级的云视频系统任务的调度优先级;所述低优先级的云视频系统任务不允许抢占所述高优先级的云视频系统任务的调度优先级;具有相同优先级的云视频系统任务之间不允许抢占调度优先级。
具体地,根据Kubernetes管理机制以及各个Pod运行的时间要求,根据Pod重新启动策略的区别设定规则。规则的设定如下:1.初步划分为三个优先级。重启策略为Always的为最优先Pod,重启策略为OnFailure的Pod为第二优先级的Pod,重启策略为Never的Pod最低优先级的Pod。2.根据策略,在检查过调度器设定的各项标签及满足资源需求的情况下,可以触发抢占式调度。设定的优先级别较高的Pod能够抢占优先级次之的Pod。3.低优先级的Pod也不允许抢占高优先级的Pod,同级别的优先级Pod不允许抢占,保证了集群资源的有序列用,避免优先级一致的Pod陷入重复抢占的困境。
在一些实施例中,在所述步骤S2中:对于任一调度节点,均维持同属于所述第二优先级的云视频系统任务队列和同属于所述第三优先级的云视频系统任务队列;各个队列中同级别的云视频系统任务基于各自的资源需求信息进行排序,资源需求越大,排序越靠前;执行任务时,优先执行同属于所述第二优先级的云视频系统任务队列中处于等待执行状态的云视频系统任务。
具体地,初始化节点上的队列,对重启策略为Never、OnFailue的Pod分别进行记录。队列中按照Pod需求资源由大到小排序。方便之后按照高优先级Pod需求资源数量对应的执行驱逐操作在一些实施例中,
在一些实施例中,所述步骤S3具体包括:步骤S3-1、从所述待调度的云视频系统任务的YAML文件中获取所述待调度的云视频系统任务的资源需求信息、分配节点标签和所述重启策略字段的字段值;步骤S3-2、将所述待调度的云视频系统任务发送至所述分配节点标签指示的调度节点,并根据所述重启策略字段的字段值确定所述待调度的云视频系统任务的优先级;步骤S3-3、基于所述待调度的云视频系统任务的优先级,从低于所述待调度的云视频系统任务的优先级的云视频系统任务队列中驱逐若干云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求。
在一些实施例中,所述资源需求信息包括需要的CPU核数、内存大小和存储容量大小;所述分配节点标签指示所述待调度的云视频系统任务的目的调度节点的唯一标识。
在一些实施例中,所述分配节点标签基于所述资源需求信息来确定,具体包括:从全部调度节点中选取满足所述资源需求信息的若干节点作为候选节点,基于各个所述候选节点可用的CPU核数、内存大小和存储容量大小,计算方差标准差,选取具有最小方差标准差的候选节点作为所述待调度的云视频系统任务的目的调度节点。
在一些实施例中,在所述步骤S3-3中,当所述待调度的云视频系统任务的优先级为第一优先级时:首先从同属于所述第三优先级的云视频系统任务队列中驱逐云视频系统任务,随后从同属于所述第二优先级的云视频系统任务队列中驱逐云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求;其中,在同一云视频系统任务队列中驱逐所述云视频系统任务时,按照各个云视频系统任务的资源需求从大到小的顺序进行驱逐,被驱逐的云视频系统任务被重新放入待调度的云视频系统任务的队列中。
在一些实施例中,在所述步骤S3-3中,当所述待调度的云视频系统任务的优先级为第二优先级时:从同属于所述第三优先级的云视频系统任务队列中驱逐云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求;其中,在同属于所述第三优先级的云视频系统任务队列中驱逐所述云视频系统任务时,按照各个云视频系统任务的资源需求从大到小的顺序进行驱逐,被驱逐的云视频系统任务被重新放入待调度的云视频系统任务的队列中。
具体地,获取待调度Pod的资源需求信息、标签等属性,根据YAML文件得到申请的CPU核数、具体的内存大小、存储容量大小、重启策略等。在节点资源不满足Pod需求的情况出现,且重启策略为Always时跳转至流程A,在节点资源不满足Pod需求的情况出现,且重启策略为OnFailure时跳转流程B。
流程A:获取调度节点上两个队列排序好的Pod队列,按照优先Never队列再OnFailure队列的顺序进行Pod驱逐,直至重启策略为Never以及OnFailure的Pod所腾出的空间足够给高优先级AlwaysPod使用。被驱逐的Pod将会被放入到待调度的队列中等待调度。若两个队列的Pod都被驱逐完毕仍然不满足调度需求则Pod处于搁置状态,等待下一步调度。
流程B:获取调度节点上Never队列排序好的Pod队列,按照由大到小的顺序执行Pod驱逐,直至重启策略为Never的Pod所腾出的空间足够给高优先级OnFailure的Pod使用。被驱逐的Pod将会被放入到待调度的队列中等待调度。若队列的Pod都被驱逐完毕仍然不满足调度需求则等待其他调度。
图2为根据本发明实施例的抢占式调度的示意图;结合图2所示,首先获取PodYAML文件,以进一步获取资源需求;并判断Pod是否为Always,即是否为第一优先级;在是的情况下进一步判断调度节点的资源是否足够。若是,则在调度节点执行正常调度,并结束任务。若否,则判断调度节点的Never队列是否为空。若Never队列不为空,则从Never队列的队首开始驱逐Pod,并结束任务。若Never队列为空,则判断OnFailure队列是否为空。若OnFailure队列不为空,则从OnFailure队列的队首开始驱逐Pod,并结束任务。若OnFailure队列为空,则直接结束抢占式调度任务。
可见,上述方法解决了原有机制中不支持云视频任务抢占的问题,使云视频系统中高优先级的Pod可以优先调度到节点上,低优先级的Pod将会被驱逐,回收资源以保证高优先级Pod的运行,可以进一步保障重要服务,在资源使用趋于紧张时,能够按照该调度策略实现抢占式调度。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,所述方法包括:
步骤S1、为云视频系统任务基于重启策略设置优先级,配置的所述优先级包括第一优先级、第二优先级和第三优先级,所述云视频系统任务为Kubernetes Pod;
步骤S2、根据所述优先级配置所述云视频系统任务的抢占式调度策略,并在各个调度节点上分别维持同属于所述第二优先级的云视频系统任务队列和同属于所述第三优先级的云视频系统任务队列;
步骤S3、基于待调度的云视频系统任务的资源需求信息、分配节点标签和重启策略字段的字段值,依次从同属于所述第三优先级的云视频系统任务队列和同属于所述第二优先级的云视频系统任务队列中驱逐若干云视频系统任务。
2.根据权利要求1所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,在所述步骤S1中,为所述云视频系统任务基于所述重启策略设置所述优先级,具体包括:
若所述云视频系统任务无论以何种方式被终止均触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第一优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为Always;
若所述云视频系统任务仅仅因系统异常被终止才触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第二优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为OnFailure;
若所述云视频系统任务无论以何种方式被终止均不触发重新启动和重新配置,则所述云视频系统任务的优先级为所述第三优先级,并在所述云视频系统任务的YAML文件中将重启策略字段的字段值配置为Never。
3.根据权利要求2所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,所述第一优先级高于所述第二优先级,所述第二优先级高于所述第三优先级。
4.根据权利要求3所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,在所述步骤S2中,根据所述优先级配置所述云视频系统任务的所述抢占式调度策略,具体包括:
高优先级的云视频系统任务能够抢占低优先级的云视频系统任务的调度优先级;
所述低优先级的云视频系统任务不允许抢占所述高优先级的云视频系统任务的调度优先级;
具有相同优先级的云视频系统任务之间不允许抢占调度优先级。
5.根据权利要求4所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,在所述步骤S2中:
对于任一调度节点,均维持同属于所述第二优先级的云视频系统任务队列和同属于所述第三优先级的云视频系统任务队列;
各个队列中同级别的云视频系统任务基于各自的资源需求信息进行排序,资源需求越大,排序越靠前;
执行任务时,优先执行同属于所述第二优先级的云视频系统任务队列中处于等待执行状态的云视频系统任务。
6.根据权利要求5所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,所述步骤S3具体包括:
步骤S3-1、从所述待调度的云视频系统任务的YAML文件中获取所述待调度的云视频系统任务的资源需求信息、分配节点标签和所述重启策略字段的字段值;
步骤S3-2、将所述待调度的云视频系统任务发送至所述分配节点标签指示的调度节点,并根据所述重启策略字段的字段值确定所述待调度的云视频系统任务的优先级;
步骤S3-3、基于所述待调度的云视频系统任务的优先级,从低于所述待调度的云视频系统任务的优先级的云视频系统任务队列中驱逐若干云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求。
7.根据权利要求6所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于:所述资源需求信息包括需要的CPU核数、内存大小和存储容量大小;所述分配节点标签指示所述待调度的云视频系统任务的目的调度节点的唯一标识。
8.根据权利要求7所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,所述分配节点标签基于所述资源需求信息来确定,具体包括:从全部调度节点中选取满足所述资源需求信息的若干节点作为候选节点,基于各个所述候选节点可用的CPU核数、内存大小和存储容量大小,计算方差标准差,选取具有最小方差标准差的候选节点作为所述待调度的云视频系统任务的目的调度节点。
9.根据权利要求8所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,在所述步骤S3-3中,当所述待调度的云视频系统任务的优先级为第一优先级时:
首先从同属于所述第三优先级的云视频系统任务队列中驱逐云视频系统任务,随后从同属于所述第二优先级的云视频系统任务队列中驱逐云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求;
其中,在同一云视频系统任务队列中驱逐所述云视频系统任务时,按照各个云视频系统任务的资源需求从大到小的顺序进行驱逐,被驱逐的云视频系统任务被重新放入待调度的云视频系统任务的队列中。
10.根据权利要求8所述的一种基于云视频系统任务优先级的抢占式调度方法,其特征在于,在所述步骤S3-3中,当所述待调度的云视频系统任务的优先级为第二优先级时:
从同属于所述第三优先级的云视频系统任务队列中驱逐云视频系统任务,直到空闲资源满足所述待调度的云视频系统任务的资源需求;
其中,在同属于所述第三优先级的云视频系统任务队列中驱逐所述云视频系统任务时,按照各个云视频系统任务的资源需求从大到小的顺序进行驱逐,被驱逐的云视频系统任务被重新放入待调度的云视频系统任务的队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310450990.8A CN116225664A (zh) | 2023-04-25 | 2023-04-25 | 一种基于云视频系统任务优先级的抢占式调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310450990.8A CN116225664A (zh) | 2023-04-25 | 2023-04-25 | 一种基于云视频系统任务优先级的抢占式调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116225664A true CN116225664A (zh) | 2023-06-06 |
Family
ID=86577168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310450990.8A Pending CN116225664A (zh) | 2023-04-25 | 2023-04-25 | 一种基于云视频系统任务优先级的抢占式调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225664A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018100381A4 (en) * | 2018-03-27 | 2018-05-10 | Chongqing University Of Posts And Telecommunications | A physical resource scheduling method in cloud cluster |
CN110795234A (zh) * | 2019-09-25 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种资源调度方法及装置 |
CN111198756A (zh) * | 2019-12-28 | 2020-05-26 | 北京浪潮数据技术有限公司 | 一种kubernetes集群的应用调度方法及装置 |
CN114995971A (zh) * | 2022-05-10 | 2022-09-02 | 兴业银行股份有限公司 | 实现kubernetes中pod批量调度方法及系统 |
-
2023
- 2023-04-25 CN CN202310450990.8A patent/CN116225664A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018100381A4 (en) * | 2018-03-27 | 2018-05-10 | Chongqing University Of Posts And Telecommunications | A physical resource scheduling method in cloud cluster |
CN110795234A (zh) * | 2019-09-25 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 一种资源调度方法及装置 |
CN111198756A (zh) * | 2019-12-28 | 2020-05-26 | 北京浪潮数据技术有限公司 | 一种kubernetes集群的应用调度方法及装置 |
CN114995971A (zh) * | 2022-05-10 | 2022-09-02 | 兴业银行股份有限公司 | 实现kubernetes中pod批量调度方法及系统 |
Non-Patent Citations (1)
Title |
---|
周艳;: "TinyOS中DSA调度策略的研究", 计算机工程, no. 10 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10003500B2 (en) | Systems and methods for resource sharing between two resource allocation systems | |
CN110704186B (zh) | 基于混合分布架构的计算资源分配方法、装置和存储介质 | |
JP6658882B2 (ja) | 制御装置、vnf配置先選択方法及びプログラム | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
US7559062B2 (en) | Intelligent scheduler for multi-level exhaustive scheduling | |
US20230376346A1 (en) | Techniques for container scheduling in a virtual environment | |
CN113454614A (zh) | 用于分布式计算中的资源划分的系统和方法 | |
CN109992418B (zh) | Sla感知的多租户大数据平台资源优先级调度方法及系统 | |
US10866832B2 (en) | Workflow scheduling system, workflow scheduling method, and electronic apparatus | |
CN109783225B (zh) | 一种多租户大数据平台的租户优先级管理方法及系统 | |
CN108509280B (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
US20230266999A1 (en) | Resource scheduling method, resource scheduling system, and device | |
CN106201676A (zh) | 一种任务分配方法及装置 | |
CN114138434B (zh) | 一种大数据任务调度系统 | |
CN111026519A (zh) | 基于分布式的任务优先级调度方法和系统及存储介质 | |
CN115118723A (zh) | 集群调度系统 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
US20170024245A1 (en) | Workload-aware shared processing of map-reduce jobs | |
CN109766168B (zh) | 任务调度方法和装置、存储介质以及计算设备 | |
CN113301087B (zh) | 资源调度方法、装置、计算设备和介质 | |
CN116225664A (zh) | 一种基于云视频系统任务优先级的抢占式调度方法 | |
EP4206915A1 (en) | Container creation method and apparatus, electronic device, and storage medium | |
CN114489970A (zh) | Kubernetes中利用Coscheduling插件实现队列排序的方法及系统 | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
CN113254143A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230606 |