CN107122233B - 一种面向tsn业务的多vcpu自适应实时调度方法 - Google Patents

一种面向tsn业务的多vcpu自适应实时调度方法 Download PDF

Info

Publication number
CN107122233B
CN107122233B CN201710189369.5A CN201710189369A CN107122233B CN 107122233 B CN107122233 B CN 107122233B CN 201710189369 A CN201710189369 A CN 201710189369A CN 107122233 B CN107122233 B CN 107122233B
Authority
CN
China
Prior art keywords
task
time
queue
real
tasks
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
CN201710189369.5A
Other languages
English (en)
Other versions
CN107122233A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710189369.5A priority Critical patent/CN107122233B/zh
Publication of CN107122233A publication Critical patent/CN107122233A/zh
Application granted granted Critical
Publication of CN107122233B publication Critical patent/CN107122233B/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
    • 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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

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

本发明属于网络通信技术领域,公开了一种面向TSN业务的多VCPU自适应实时调度方法,结合虚拟化技术的TSN调度能够屏蔽底层物理资源的技术细节,通过虚拟化技术将物理资源抽象成多个逻辑上独立的虚拟资源,为上层提供统一的可编程接口。本发明对实时性要求较高的业务有效调度,可以在运行时实现对多核处理器资源的动态规划,自适应调整分组,有利于负载均衡;针对TSN任务不同情况,选择任务错失率较低的方案,并基于反馈机制进行自适应调度,增强了多处理器资源分配的公平性和有效性。

Description

一种面向TSN业务的多VCPU自适应实时调度方法
技术领域
本发明属于网络通信技术领域,尤其涉及一种面向TSN业务的多VCPU自适应实时调度方法。
背景技术
车载时间敏感网络(Time Sensitive Network,TSN)是一种面向音频视频或多媒体应用的新型网络,针对音频视频这类实时性要求较高的业务应用场景,TSN的时间要求高于普通异步网络。在物联网(Internet of Things,IoT)飞速发展的今天,TSN通过以太网音视频桥接(Ethernet Audio/Video Bridging)技术为核心,已经成为IoT未来发展的趋势之一。但目前TSN网络节点仅具有单一的交换功能,面对日益增长的业务容量需求和更加严苛的业务实时约束,TSN网络的实时性调度面临更加严峻的挑战。
虚拟化技术作为云计算的基础架构,能够根据用户的需求来调整资源分配,对虚拟资源进行抽象,也能够实现对单一物理服务器资源进行划分从而产生多个彼此隔离的虚拟机资源。传统单一的网络交换节点已经无法满足不断增长的业务容量及实时性需求,以虚拟化技术为基础,集成交换、存储和传输的新型网络结构成为了人们研究的焦点。在一个非虚拟化网络系统中,单一的操作系统控制着全部硬件平台资源,而虚拟化系统则可以有效地将管理权分配给虚拟机监视器(Virtual Machine Monitor,VMM)。VMM是虚拟机的核心,它位于底层硬件和操作系统之间,可为上层分出多个虚拟机,并保证彼此隔离,管理底层硬件的访问权,为客户操作系统提供一套虚拟的硬件环境。VMM采用某种调度算法在各虚拟机中共享中央处理器(Central Processing Unit,CPU)资源。
传统TSN业务调度算法仅在单一具有交换功能的节点上控制业务传输时延,在允许时延内保证业务可调度,但单一的物理资源调度使得资源利用率低,且计算能力有限,无法满足日益增长的业务需求变化和大容量音频视频传输时延要求。虚拟化技术是一种对计算机资源进行抽象模拟的技术,其意图是通过为用户和应用程序提供一个以异构资源为对象的集成操作平台,以达到提高资源利用率的目的。在TSN业务调度问题中,将传统的单一交换节点通过虚拟化技术实现多个虚拟中央处理器(Virtual Central Processing Unit,VCPU),将底层资源抽象为多个独立资源供上层使用,无疑可以提高TSN中业务的可调度性。
综上所述,现有技术存在的问题是:传统TSN业务调度存在单一物理资源使用率低,且计算能力有限的问题,无法满足日益增长的业务需求变化和大容量音频视频传输时延要求。
发明内容
针对现有技术存在的问题,本发明提供了一种面向TSN业务的多VCPU自适应实时调度方法。
本发明是这样实现的,一种面向TSN业务的多VCPU自适应实时调度方法,所述面向TSN业务的多VCPU自适应实时调度方法适用于分布式计算集群,将各物理服务器看作网络节点,网络内业务根据需求传输转发,结合虚拟化技术的TSN调度能够屏蔽底层物理资源的技术细节,通过虚拟化技术将物理资源抽象成多个逻辑上独立的虚拟资源,为上层提供统一的可编程接口;在多CPU计算机上开启多个虚拟机并设置多个VCPU,在每个多VCPU虚拟机上模拟运行TSN业务类型,通过对实时任务的自适应调度算法对各类TSN任务进行调度,采用自适应截止期优先调度算法(Adaptive Earliest Deadline First,A-EDF),根据任务类型及任务量动态分配处理器资源分组,实现对实时任务的合理调度。
进一步,所述面向TSN业务的多VCPU自适应实时调度方法中优化模型以实时任务的截止期错失率R为目标函数,即:
Objective:
Figure BDA0001255801990000021
S.T.
Figure BDA0001255801990000031
Figure BDA0001255801990000032
Di(k)=(k-1)·pi+di
在目标函数中,Nm代表截止期错失的任务数,N代表任务总数,优化目标为尽可能使R接近于1,保证所有TSN任务可调度;式
Figure BDA0001255801990000033
表示任务Γi的利用率,其中ei为任务Γi的理论执行时间,pi为任务Γi的周期;式
Figure BDA0001255801990000034
表示任务集的总利用率;式Di(k)=(k-1)·pi+di表示任务i第k次执行的截止时间。
进一步,所述面向TSN业务的多VCPU自适应实时调度方法中使用的资源模型为周期资源模型,用R=(ω,θ,m)表示,各变量具体含义如下:
ω:处理器资源的分配周期;
θ:处理器资源所能提供给调度任务的时间资源;
m:计算机的实际CPU数,也即当前能提供的并行CPU数最大值;
θ/ω:定义为资源模型的带宽。
另外,资源模型需要满足条件:θ≤mω。
进一步,所述面向TSN业务的多VCPU自适应实时调度方法包括以下步骤:
步骤一,在算法执行初始阶段,通过当前任务利用率δ计算分组数α,由分组数α确定内核分配组合;
步骤二,当任务转为实时模式并通过系统接口传入内核,将任务按照截止期的先后插入到相应ready队列和release队列;
步骤三,查看所有分组队列的CPU资源利用率,与资源利用率的阈值作比较,若存在大于阈值的队列,进行步骤S104,若没有,转到步骤S107;
步骤四,查看release队列中各实时任务的关键度Hi,选择关键度最小的任务ΓH作为等待迁移任务;
步骤五,判断其余分组队列中的CPU利用率,选择CPU利用率最小的ready队列为目的队列Qd,将等待迁移的任务插入到队列头部;
步骤六,迁移关键任务ΓH到目的队列Qd中,调用主调度函数,选择下一个执行的任务;
步骤七,各分组内依照截止期优先原则对实时任务分配资源并完成调度;
步骤八,判断当前任务集中的所有任务是否被执行完,若没有执行完,则转移到步骤二;若任务集中所有任务执行结束,等待下次任务的释放。
进一步,所述步骤一中:分组数α按如下式自适应调整:
Figure BDA0001255801990000041
其中,m表示处理器内容,δmax表示任务利用率阈值上限,δmin表示任务利用率阈值下限,δ为当前任务利用率,且当分组数带有小数时,均向上取整;任务利用率δ和分组数α呈简单线性映射关系。
进一步,所述步骤二中调度过程中存在ready和release两种队列,当任务还未释放,插入至release队列中等待释放;当任务已经释放,插入ready队列等待分配CPU调度。
进一步,所述步骤四中关键度Hi评估任务Γi的关键性,关键度Hi的定义如下:
Hii)=Di-REik(t)-t;
式中,Di表示任务Γi的绝对截止时间,REik(t)表示任务Γi在第k次执行的剩余执行时间;关键度Hi的大小体现实时任务Γi的执行关键程度,Hi值越小,表示任务Γi的执行程度越紧急;
定义关键任务如下式:
ΓH=arg min{H(Γi)}。
进一步,所述步骤五中目的队列Qd的选择满足以下条件:
ρ(Qd)<c;
Qd=arg min(Qm);
其中,ρ(Qd)表示目的队列的资源利用率,c表示资源利用阈值,式ρ(Qd)<c表示目的队列的总资源利用率小于该分组的资源利用率阈值以减小迁移对目的队列的影响,减少迁移次数;式Qd=arg min(Qm)表示选择当前所有分组中资源利用率最小的队列作为目的队列。
本发明的另一目的在于提供一种应用所述面向TSN业务的多VCPU自适应实时调度方法的车载时间敏感网络。
本发明的优点及积极效果为:在多CPU计算机上开启多个虚拟机并设置多个VCPU,在每个多VCPU虚拟机上模拟运行TSN业务类型,通过一种良好的针对实时任务的自适应调度算法对各类TSN任务进行调度,保证实时性要求高的音视频流等业务在规定期限内执行;在一个分布式计算集群中,网络内业务根据需求传输转发,将每个物理服务器看作一个网络节点,在其上应用本发明以保证业务的实时性能;提出自适应截止期优先调度算法A-EDF,能够根据任务类型及任务量动态分配处理器资源分组,实现对实时任务的合理调度。结合虚拟化技术的TSN调度能够屏蔽物理资源的技术细节,通过将物理资源抽象成多个逻辑上独立的虚拟资源,并向上层提供统一的可编程接口。通过该技术,在同样的物理资源下,虚拟多CPU的TSN实时任务调度通过不同虚拟机调度区分实时优先级任务,无疑可以提高资源利用率,更加有效地保证大容量音频视频业务的可调度性;通过使用虚拟化技术,可以有效提高资源利用率,从以前未使用虚拟化时平均利用率的30%增长至如今的70%以上,增强硬件平台的安全性和稳定性,降低管理成本,使系统具有高可用性和扩展性。
本发明实现对实时性要求较高的业务有效调度,可以在运行时实现对多核处理器资源的动态规划,自适应调整分组,有利于负载均衡;针对TSN任务不同情况,选择任务错失率较低的方案,并基于反馈机制进行自适应调度,增强了多处理器资源分配的公平性和有效性。
附图说明
图1是本发明实施例提供的面向TSN业务的多VCPU自适应实时调度方法流程图。
图2是本发明实施例提供的本发明网络应用场景示意图。
图3是本发明实施例提供的系统结构框图。
图4是本发明实施例提供的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的面向TSN业务的多VCPU自适应实时调度方法包括以下步骤:
S101:在算法执行初始阶段,通过当前任务利用率δ计算分组数α,由分组数α确定内核分配组合;
S102:当任务转为实时模式并通过系统接口传入内核,将任务按照截止期的先后插入到相应ready队列和release队列;
S103:查看所有分组队列的CPU资源利用率,与资源利用率的阈值作比较,若存在大于阈值的队列,进行步骤S104,若没有,转到步骤S107;
S104:查看release队列中各实时任务的关键度Hi,选择关键度最小的任务ΓH作为等待迁移任务;
S105:判断其余分组队列中的CPU利用率,选择CPU利用率最小的ready队列为目的队列Qd,将等待迁移的任务插入到队列头部;
S106:迁移关键任务ΓH到目的队列Qd中,调用主调度函数,选择下一个执行的任务;
S107:各分组内依照截止期优先原则对实时任务分配资源并完成调度;
S108:判断当前任务集中的所有任务是否被执行完,若没有执行完,则转移到步骤S102;若任务集中所有任务执行结束,等待下次任务的释放。
下面结合附图对本发明的应用原理作进一步的描述。
本发明主要包括:任务及资源数学建模、任务资源匹配分组、组间任务迁移。
本发明的主要内容包括:
一、数学建模
参照TSN中的调度类,定义相应数量的业务类型,业务模型采用周期实时任务模型,为了不失一般性,规定任务集Γ=(Γ12,…,Γn),n为业务的类型总数,每个业务Γi具有多个作业Γi1i2,…。对于每个周期业务Γi=(pi,ei,di),具体参数如下:
pi:任务Γi的周期;
ei:任务Γi的理论执行时间;
di:任务Γi的相对截止时间,di<pi
Ri:任务Γi放行并准备执行的时间;
Di:任务Γi的绝对截止时间;
Γik:任务Γi的第k次执行;
REik(t):系统开始t时刻后任务Γik的剩余执行时间;
ui:任务Γi的利用率;
UΓ:任务集的总利用率。
对于不同的TSN业务类型,任务参数的设置有所区别,对于SR A类和B类业务,我们将其设置为周期固定的任务,且截止期等于周期,其中A类业务的周期小于B类业务的周期。对于实时性要求高于这两类的业务,将周期设置为低于这两类业务,对于实时性要求低于这两类的业务,将周期设置为高于这两类业务,对于best effort业务,可选择将其周期设置为机器最大值,默认为无实时性要求。
本发明的优化模型以实时任务的截止期错失率R为目标函数,即:
Objective:
Figure BDA0001255801990000081
S.T.
Figure BDA0001255801990000082
Figure BDA0001255801990000083
Di(k)=(k-1)·pi+di式(1-4)
在目标函数中,Nm代表截止期错失的任务数,N代表任务总数,优化目标为尽可能使R接近于1,保证所有TSN任务可调度。式(1-4)表示任务i第k次执行的截止时间。
此外,针对上述任务模型,假设如下:
(1)所有任务相互独立,无冲突资源及依赖关系;
(2)任务切换时间不计;
(3)任务不会被自动挂起;
(4)不考虑任务等待CPU以外资源的情况;
(5)任务在执行过程中的抢占成本极小。
假设虚拟机上设置了m个同构处理器,m为常数。处理器依次命名为cpu1,cpu2,…,cpum。本发明使用的资源模型为周期资源模型,用R=(ω,θ,m)表示。各变量具体含义如下:
ω:处理器资源的分配周期;
θ:处理器资源所能提供给调度任务的时间资源;
m:计算机的实际CPU数,也即当前能提供的并行CPU数最大值;
θ/ω:定义为资源模型的带宽。
另外,资源模型需要满足条件:θ≤mω。
二、算法流程
本发明在虚拟机上执行操作,系统调度的整体结构如图3所示,在宿主机上启动多个虚拟机,每个虚拟机均设置为多CPU模式,任务在虚拟机上执行A-EDF实时调度算法。具体算法流程如下:
(1)在算法执行初始阶段,通过当前任务利用率δ计算分组数α,由分组数α确定内核分配组合;
(2)当任务转为实时模式并通过系统接口传入内核,将任务按照截止期的先后插入到相应ready队列和release队列;
(3)查看所有分组队列的CPU资源利用率,与资源利用率的阈值作比较,若存在大于阈值的队列,进行步骤(4),若没有,转到步骤(7);
(4)查看release队列中各实时任务的关键度Hi,选择关键度最小的任务ΓH作为等待迁移任务;
(5)判断其余分组队列中的CPU利用率,选择CPU利用率最小的ready队列为目的队列Qd,将等待迁移的任务插入到队列头部;
(6)迁移关键任务ΓH到目的队列Qd中,调用主调度函数,选择下一个执行的任务;
(7)各分组内依照截止期优先原则对实时任务分配资源并完成调度;
(8)判断当前任务集中的所有任务是否被执行完,若没有执行完,则转移到步骤2;若任务集中所有任务执行结束,等待下次任务的释放。
如图4所示,本发明实施例的面向TSN业务的多VCPU自适应实时调度方法具体包括以下步骤:
步骤1:在算法执行初始阶段,通过当前任务利用率δ计算分组数α,由分组数α确定内核分配组合;
算法执行初期,A-EDF根据初始资源分组对任务进行分配,并基于任务的截止期有序调度;算法在周期开始前计算每个处理器的可用资源ps(t),并根据处理器数量设置任务利用率的两个阈值δmax和δmin。设调度周期为q,则下一个调度周期为q+1。当任务利用率提高,任务并行度增大,在周期q内,任务对资源的需求增大,在下一次新任务到达时,A-EDF重新选择调度组合,对核进行新的组合分配,增加核的分组数以实现负载均衡,降低实时任务的截止期错失率。当任务利用率低于阈值δmin时,分组数等同于核数,当任务利用率高于阈值δmax时,不产生分组,所有任务在全局调度。
在A-EDF算法中,分组数α按如式(1-5)自适应调整:
Figure BDA0001255801990000101
其中,m表示处理器数量,δmax表示任务利用率阈值上限,δmin表示任务利用率阈值下限,δ为当前任务利用率,且当分组数带有小数时,均向上取整。
任务利用率δ和分组数α呈简单线性映射关系。
当任务利用率低于阈值δmin时,分组数保持为m,m是系统的处理器数。当任务利用率介于δmin和δmax时,α随着任务利用率的增加而线性减少,通过减少分组,使得任务负载均衡,以降低实时任务的截止期错失率;当任务利用率高于阈值δmax时,分组数α保持不变,为常数1。在保持较低系统开销的前提下,A-EDF通过动态改变分组数α以降低实时的截止期错失率。
步骤2:当任务转为实时模式并通过系统接口传入内核,将任务按照截止期的先后插入到相应ready队列和release队列。
调度过程中存在ready和release两种队列,当任务还未释放,插入至release队列中等待释放;当任务已经释放,插入ready队列等待分配CPU调度。
步骤3:查看所有分组队列的CPU资源利用率,与资源利用率的阈值作比较,若存在大于阈值的队列,进行步骤4,若没有,转到步骤7。
每个分组中CPU的资源利用率不得超过设置的阈值,一旦超过标记为需要迁移,执行步骤4,若所有分组的资源利用率均未超过阈值,执行步骤7。组内任务调度以独立队列为基础,每组维护一个运行队列。由于任务一旦执行无法中断,尽管总的空闲利用率大于新任务的利用率,但不能为新到来的任务提供完整的一段周期,从而导致新任务不可调度。
步骤4:查看release队列中各实时任务的关键度Hi,选择关键度最小的任务ΓH作为等待迁移任务;
A-EDF定义关键度Hi评估任务Γi的关键性,关键度Hi的定义如式(1-6),
Hii)=Di-REik(t)-t 式(1-6)
式中,Di表示任务Γi的绝对截止时间,REik(t)表示任务Γi在第k次执行的剩余执行时间。关键度Hi的大小体现实时任务Γi的执行关键程度,Hi值越小,表示任务Γi的执行程度越紧急。
A-EDF在每次调度周期之前选择负载较高的分组中队列的关键任务迁移到负载较低的目的分组队列中,定义关键任务如式(1-7):
ΓH=arg min{H(Γi)} 式(1-7)
步骤5:判断其余分组队列中的CPU利用率,选择CPU利用率最小的ready队列为目的队列Qd,将等待迁移的任务插入到队列头部。
A-EDF统计每个分组内独立队列中关键度Hi最小的任务ΓH,将资源利用率超过阈值的队列上的任务ΓH迁移到资源利用率较小的队列上去执行,通过组间任务迁移以实现负载均衡,优化各组独立队列的空闲利用率,使得任务可调度。对于内核的每个分组,其包含一个ready队列和一个release队列。当需要组间任务迁移时,ready队列中调度的任务不进行迁移,等待调度结束;将release队列中关键度Hi最小的任务ΓH进行迁移。算法组间任务迁移的过程包含两方面的内容:选择内核分组中需要迁移的关键度Hi最小的任务Γi;选择任务利用率较轻的内核分组,并迁移任务Γi
为保证被迁移出的关键任务ΓH能够立即得到执行,目的队列的当前任务必须是可抢占的,即目的队列的当前任务不是关键任务。目的队列Qd的选择满足以下条件:
ρ(Qd)<c 式(1-8)
Qd=arg min(Qm) 式(1-9)
其中,ρ(Qd)表示目的队列的资源利用率,c表示资源利用阈值,式(1-8)表示目的队列的总资源利用率小于该分组的资源利用率阈值以减小迁移对目的队列的影响,减少迁移次数;式(1-9)表示选择当前所有分组中资源利用率最小的队列作为目的队列。
步骤6:迁移关键任务ΓH到目的队列Qd中,调用主调度函数,选择下一个执行的任务。
对于release队列中等待调度并且关键度最小的关键任务需要最先释放,以降低实时任务的截止期错失率。关键任务ΓH其优先级最高,若此时得不到执行将会导致不可调度。同时,若队列中的关键任务较多,将导致某一队列的负载过重。A-EDF在每次调度周期之前选择release队列中的关键任务迁移到目的队列中。
步骤7:各分组内依照截止期优先原则对实时任务分配资源并完成调度。
截止期优先原则是动态调度的一种常用原则,它是根据每个实时任务截止期的紧迫性来动态调整任务的优先级。实时任务的截止时间越短,其优先级越高。
步骤8:判断当前任务集中所有任务是否执行完,若没有,转移到步骤2;若所有任务执行结束,等待下次任务的释放。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述面向TSN业务的多VCPU自适应实时调度方法结合虚拟化技术的TSN调度能够屏蔽物理资源的技术细节,通过虚拟化技术将物理资源抽象成多个逻辑上独立的虚拟资源,为上层提供统一的可编程接口;在多CPU计算机上开启多个虚拟机并设置多个VCPU,在每个多VCPU虚拟机上模拟运行TSN业务类型,通过对实时任务的自适应调度算法对各类TSN任务进行调度;采用自适应截止期优先调度算法A-EDF,根据任务类型及任务量动态分配处理器资源分组,实现对实时任务的合理调度;
所述面向TSN业务的多VCPU自适应实时调度方法中优化模型以实时任务的截止期错失率R为目标函数,即:
Objective:
Figure FDA0002517316470000011
S.T.
Figure FDA0002517316470000012
Figure FDA0002517316470000013
Di(k)=(k-1)·pi+di
在目标函数中,Nm代表截止期错失的任务数,N代表任务总数,优化目标为尽可能使R接近于1,保证所有TSN任务可调度;式
Figure FDA0002517316470000014
表示任务Γi的利用率,其中ei为任务Γi的理论执行时间,pi为任务Γi的周期;式
Figure FDA0002517316470000015
表示任务集的总利用率;式Di(k)=(k-1)·pi+di表示任务i第k次执行的截止时间。
2.如权利要求1所述的面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述面向TSN业务的多VCPU自适应实时调度方法中使用的资源模型为周期资源模型,用R=(ω,θ,m)表示,各变量具体含义如下:
ω:处理器资源的分配周期;
θ:处理器资源所能提供给调度任务的时间资源;
m:计算机的实际CPU数,也即当前能提供的并行CPU数最大值;
θ/ω:定义为资源模型的带宽;
另外,资源模型需要满足条件:θ≤mω。
3.如权利要求1所述的面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述面向TSN业务的多VCPU自适应实时调度方法包括以下步骤:
步骤一,在算法执行初始阶段,通过当前任务利用率δ计算分组数α,由分组数α确定内核分配组合;
步骤二,当任务转为实时模式并通过系统接口传入内核,将任务按照截止期的先后插入到相应ready队列和release队列;
步骤三,查看所有分组队列的CPU资源利用率,与资源利用率的阈值作比较,若存在大于阈值的队列,进行步骤S104,若没有,转到步骤S107;
步骤四,查看release队列中各实时任务的关键度Hi,选择关键度最小的任务ΓH作为等待迁移任务;
步骤五,判断其余分组队列中的CPU利用率,选择CPU利用率最小的ready队列为目的队列Qd,将等待迁移的任务插入到队列头部;
步骤六,迁移关键任务ΓH到目的队列Qd中,调用主调度函数,选择下一个执行的任务;
步骤七,各分组内依照截止期优先原则对实时任务分配资源并完成调度;
步骤八,判断当前任务集中的所有任务是否被执行完,若没有执行完,则转移到步骤二;否则,等待下次任务的释放。
4.如权利要求3所述的面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述步骤一中:分组数α按如下式自适应调整:
Figure FDA0002517316470000021
其中,m表示处理器数量,δmax表示任务利用率阈值上限,δmin表示任务利用率阈值下限,δ为当前任务利用率,且当分组数带有小数时,均向上取整;任务利用率δ和分组数α呈简单线性映射关系。
5.如权利要求3所述的面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述步骤二中调度过程中存在ready和release两种队列,当任务还未释放,插入至release队列中等待释放;当任务已经释放,插入ready队列等待分配CPU调度。
6.如权利要求3所述的面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述步骤四中关键度Hi评估任务Γi的关键性,关键度Hi的定义如下:
Hii)=Di-REik(t)-t;
式中,Di表示任务Γi的绝对截止时间,REik(t)表示任务Γi在第k次执行的剩余执行时间;关键度Hi的大小体现实时任务Γi的执行关键程度,其中Hi值越小,表示任务Γi的执行程度越紧急;
定义关键任务如下式:
ΓH=arg min{H(Γi)}。
7.如权利要求3所述的面向TSN业务的多VCPU自适应实时调度方法,其特征在于,所述步骤五中目的队列Qd的选择满足以下条件:
ρ(Qd)<c;
Qd=arg min(Qm);
其中,ρ(Qd)表示目的队列的资源利用率,c表示资源利用阈值,式ρ(Qd)<c表示目的队列的总资源利用率小于该分组的资源利用率阈值以减小迁移对目的队列的影响,减少迁移次数;式Qd=arg min(Qm)表示选择当前所有分组中资源利用率最小的队列作为目的队列。
8.一种应用权利要求1~7任意一项所述面向TSN业务的多VCPU自适应实时调度方法的车载时间敏感网络。
CN201710189369.5A 2017-03-27 2017-03-27 一种面向tsn业务的多vcpu自适应实时调度方法 Active CN107122233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710189369.5A CN107122233B (zh) 2017-03-27 2017-03-27 一种面向tsn业务的多vcpu自适应实时调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710189369.5A CN107122233B (zh) 2017-03-27 2017-03-27 一种面向tsn业务的多vcpu自适应实时调度方法

Publications (2)

Publication Number Publication Date
CN107122233A CN107122233A (zh) 2017-09-01
CN107122233B true CN107122233B (zh) 2020-08-28

Family

ID=59718066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710189369.5A Active CN107122233B (zh) 2017-03-27 2017-03-27 一种面向tsn业务的多vcpu自适应实时调度方法

Country Status (1)

Country Link
CN (1) CN107122233B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190114206A1 (en) * 2017-10-18 2019-04-18 Cisco Technology, Inc. System and method for providing a performance based packet scheduler
CN110321212A (zh) * 2019-07-01 2019-10-11 电子科技大学 基于最早截止时间优先的多级融合实时调度方法
CN110532135B (zh) * 2019-08-16 2022-11-08 苏州浪潮智能科技有限公司 一种集群系统的服务迁移方法、系统、设备及存储介质
CN110865886B (zh) * 2019-11-01 2022-09-16 大连理工大学 面向多概率性参数实时任务的和谐感知多处理器调度方法
CN111427673B (zh) * 2020-03-16 2023-04-07 杭州迪普科技股份有限公司 一种负载均衡方法、装置及设备
CN112737979B (zh) * 2021-01-29 2022-12-09 西安电子科技大学 一种时间敏感网络尽力而为流调度方法
CN113872887B (zh) * 2021-09-13 2022-08-16 南京金阵微电子技术有限公司 调度方法、装置、介质及电子设备
CN115278399A (zh) * 2022-07-13 2022-11-01 昆明理工大学 一种铜熔池熔炼现场无线控制系统及设计方法
CN116991592A (zh) * 2023-09-26 2023-11-03 中汽信息科技(天津)有限公司 基于神经网络的io密集型任务内存利用率的优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706743A (zh) * 2009-12-07 2010-05-12 北京航空航天大学 一种多核环境下的虚拟机调度方法
CN102270159A (zh) * 2011-08-11 2011-12-07 浙江大学 一种虚拟化环境中的准入控制与负载均衡方法
CN102541651A (zh) * 2011-12-12 2012-07-04 华中科技大学 一种嵌入式虚拟机的实时调度系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706743A (zh) * 2009-12-07 2010-05-12 北京航空航天大学 一种多核环境下的虚拟机调度方法
CN102270159A (zh) * 2011-08-11 2011-12-07 浙江大学 一种虚拟化环境中的准入控制与负载均衡方法
CN102541651A (zh) * 2011-12-12 2012-07-04 华中科技大学 一种嵌入式虚拟机的实时调度系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Xen中VCPU调度算法分析;时光等;《计算机工程与设计》;20100930;第4116-4123页 *
可负载均衡的实时虚拟机VCPU调度算法;余超等;《华中科技大学学报(自然科学版)》;20161031;第41卷(第10期);第59-63页 *

Also Published As

Publication number Publication date
CN107122233A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN107122233B (zh) 一种面向tsn业务的多vcpu自适应实时调度方法
Hashem et al. Honey bee based load balancing in cloud computing
WO2016078178A1 (zh) 一种虚拟cpu调度方法
Li et al. Feedback dynamic algorithms for preemptable job scheduling in cloud systems
US9019826B2 (en) Hierarchical allocation of network bandwidth for quality of service
CN108123980B (zh) 一种资源调度方法及系统
WO2015154686A1 (en) Scheduling method and apparatus for distributed computing system
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN107977271B (zh) 一种数据中心综合管理系统负载均衡方法
Guan et al. Workload-aware credit scheduler for improving network I/O performance in virtualization environment
Mishra et al. Time efficient dynamic threshold-based load balancing technique for Cloud Computing
WO2014142498A1 (ko) 컴퓨팅 스케줄링 방법 및 시스템
CN113672391A (zh) 一种基于Kubernetes的并行计算任务调度方法与系统
Zhao et al. Preemptive multi-queue fair queuing
Patel et al. A survey on load balancing in cloud computing
CN112671832A (zh) 虚拟交换机中保障层次化时延的转发任务调度方法及系统
Yadav et al. Priority based task scheduling by mapping conflict-free resources and Optimized workload utilization in cloud computing
Gu et al. Elastic model aggregation with parameter service
Komarasamy et al. Deadline constrained adaptive multilevel scheduling system in cloud environment
Kuchumov et al. Fair resource allocation for running HPC workloads simultaneously
Alatawi et al. Hybrid load balancing approach based on the integration of QoS and power consumption in cloud computing
Peng et al. BQueue: A coarse-grained bucket QoS scheduler
Huang et al. A dynamic and complexity aware cloud scheduling algorithm for video transcoding
Chen et al. Online scheduling strategy to minimize penalty of tardiness for real-time tasks in mobile edge computing systems
CN111522637A (zh) 一种基于成本效益的storm任务调度方法

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