[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109947552A - 基于进程与线程调度的边缘控制器动态任务调度方法 - Google Patents

基于进程与线程调度的边缘控制器动态任务调度方法 Download PDF

Info

Publication number
CN109947552A
CN109947552A CN201910245309.XA CN201910245309A CN109947552A CN 109947552 A CN109947552 A CN 109947552A CN 201910245309 A CN201910245309 A CN 201910245309A CN 109947552 A CN109947552 A CN 109947552A
Authority
CN
China
Prior art keywords
priority
scheduling
service
thread
edge controller
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
CN201910245309.XA
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 Post and Telecommunication University
Original Assignee
Nanjing Post and Telecommunication 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 Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201910245309.XA priority Critical patent/CN109947552A/zh
Publication of CN109947552A publication Critical patent/CN109947552A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于进程与线程调度的边缘控制器动态任务调度方法,根据业务对时延的敏感程度为业务划分不同的优先级,对时延越敏感的业务优先级越高;调度过程结合了多进程与多线程的调度方案;进程调度用来应对优先级不同种类的业务,线程调度作为进程调度的一个元素,应对高并发的同种业务,线程调度采用动态优先级的方式。本发明满足任务的实时性处理需求,并且提升系统的资源利用率。

Description

基于进程与线程调度的边缘控制器动态任务调度方法
技术领域
本发明涉及无线通信技术领域,特别是涉及一种基于进程调度与线程调度相结合的边缘控制器动态任务调度方法。
背景技术
近年来,线性增长的集中式云计算已经无法匹配爆炸式增长的海量边缘数据。边缘计算(Edge Computing,EC)作为一种新的计算模式,使数据在源头附近就可以得到及时有效地处理。这种模式不同于云计算要将所有的数据传输到数据中心,绕过了网络带宽与延迟的瓶颈。边缘计算就是要将空间距离或者是网络距离上与用户临近的这些独立分散的资源统一起来,为应用提供、存储和网络服务。边缘控制器就是边缘计算的载体。边缘控制器对数据的计算模型分为两部分:下行的云服务和上行的万物互联服务。相比较而言,上行的万物互联服务是更加复杂的一种。这里的复杂一方面是网络环境的复杂,另一方面体现在业务种类的复杂。
业务种类的复杂性具体体现在不同的业务对QoS的需求是不同的。以时延为例,紧急类业务对时延的要求必然很高,这就需要边缘控制器为紧急类业务优先提供系统的处理权。针对业务实时性处理的问题,本发明希望建立一种边缘控制器的任务调度方法,以满足延迟敏感型业务的实时性要求。常见的集中式任务调度方法有很多,比如先来先服务算法(FCFS)、轮转法(Round Robin)、多级反馈队列算法等等。但是这些任务调度的方法都没有根据业务QoS需求分配系统处理权,而且有些任务调度的算法需要额外产生计算成本,比如轮转法就需要根据统计的任务执行时间来决定轮转时间片的长度,这些都会给系统带来一定的负载。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于进程与线程调度的边缘控制器动态任务调度方法,在复杂物联网业务中,由于不同的业务对延迟的敏感程度不同,常规的任务调度可能会耽误紧急型业务的处理时机,因此需要提出一种新型的边缘控制器集中式任务调度方法。本发明提出的一种基于进程调度与线程调度相结合的边缘控制器动态任务调度方法,根据业务对时延的敏感程度为业务划分不同的优先级,具体的调度过程结合了多进程与多线程的调度方案。进程调度主要用来应对优先级不同种类的业务,线程调度主要为了应对高并发的同种业务。通过上述方法基本可以满足物联网业务的实时性处理需求,并且在一定程度上提升系统的资源利用率,改善了边缘计算架构下延迟敏感型业务的实时性处理问题。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于进程与线程调度的边缘控制器动态任务调度方法,根据业务对时延的敏感程度为业务划分不同的优先级,对时延越敏感的业务优先级越高;调度过程结合了多进程与多线程的调度方案;进程调度用来应对优先级不同种类的业务,线程调度作为进程调度的一个元素,应对高并发的同种业务,线程调度采用动态优先级的方式,具体包括以下步骤:
步骤1:根据对时延的敏感情况将物联网业务的种类划分为四种类型,分别为紧急警报类业务、下行控制类业务、流媒体类业务、定期监控类业务;
步骤2,在边缘控制器中分别为四种类型的任务开启数据接收的进程,并且赋予各个进程不同的端口号PORT,从而建立业务类型与端口的映射关系;
步骤3,获取四类业务进程的进程号Process ID,并根据业务的进程号用renice指令修改优先级进程优先级PRI;
步骤4,在业务种类相同的进程内部,为相继收到的业务开启不同的线程,线程依据动态优先级高低执行,动态优先级的更新方法如下:
步骤41,进程内业务初始优先级相同,均为pori,初始化系统时钟;
步骤42,统计得到此进程内的业务的一般执行时间tgen,令基准时间θ=tgen/n,其中,n表示我们期望的一个任务最多被抢占的次数,实测取2-3时系统的CPU使用率最高;
步骤43,进程接收新任务,并为之创建新的线程,更新进程内所有线程的等待时间其中,表示更新后的线程等待时间,表示更新前的线程等待时间;
步骤44,将所有线程根据等待时间排序,等待时间长,优先级高,动态优先级的计算方式为其中,pdyn表示当前线程的优先级,表示线程的等待时间;
步骤45,系统经过基准时间θ,重复步骤43。
优选的:本地智能终端在发送数据时,会依据发送数据的业务类型选择对应的端口,边缘控制器接收到数据时,会依据接收业务的端口确定出业务类型,从而确定业务的优先级PRI,高优先级业务抢占低优先级业务的系统处理权,高优先级业务执行完毕之后,被抢占的低优先级业务自动继续执行。
优选的:边缘控制器为不同优先级的业务开启不同的进程,进程用三个属性表征:进程号Process ID,PID、端口号PORT、优先级PRI,当一个进程正在运行时,基于剥夺原则,剥夺已分配给它的处理权,将之分配给其它进程。
优选的:剥夺原则有:动态优先级原则、静态优先级原则、短进程优先原则、时间片原则。
优选的:期望的一个任务最多被抢占的次数n的大小为2-3之间。
优选的:所述紧急警报类业务的时延在10ms-100ms。
优选的:所述下行控制类业务的时延要求在10ms-1s。
优选的:所述流媒体类业务的时延要求在1s-5s。
优选的:所述定期监控类业务的时延是要求是秒级。
优选的:线程状态包括执行状态、等待状态、死亡状态,其中,执行状态为动态优先级不改变,等待状态为动态优先级升高,死亡状态为动态优先级清零。
本发明相比现有技术,具有以下有益效果:
本发明提出的一种基于进程与线程调度的边缘控制器动态任务调度方法,常见的集中式任务调度方法都没有按照QoS需求决定调度策略,而且有些任务调度的算法需要额外产生计算成本,比如轮转法就需要根据统计的任务执行时间来决定轮转时间片的长度,这些都会给系统带来一定的负载。本发明利用边缘控制器系统内部进程调度与线程调度相结合的方法,进程调度用来应对优先级不同种类的业务,线程调度作为进程调度的一个元素,主要是应对高并发的同种业务。本发明在最关键的多线程调度中采用动态优先级的方式,满足任务的实时性处理需求,并且最大化系统的资源利用率。
附图说明
图1本发明的进程调度与线程调度相结合的边缘控制器任务调度框架图
图2本发明的多线程任务调度方法工作流程图
图3本发明的基于进程与线程调度的边缘控制器动态任务调度方法的框架图
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于进程与线程调度的边缘控制器动态任务调度方法,如图3所示,本发明从改善延迟敏感型业务的实时性处理和提升系统性能为出发点,首先根据业务对时延的敏感程度为业务划分不同的优先级,对时延越敏感的业务优先级越高;调度过程结合了多进程与多线程的调度方案;进程调度主要用来应对优先级不同种类的业务,线程调度作为进程调度的一个元素,主要用来应对高并发的同种业务,线程调度采用动态优先级的方式。利用边缘控制器系统内部进程调度与线程调度相结合的方法,满足任务的实时性处理需求,并且提升系统的资源利用率。
根据对时延的敏感情况对复杂物联网业务的种类划分具体如下(对时延敏感程度依次降低):
(1)紧急警报类业务:此类业务常见的场景,比如车联网场景、工业制造场景和消防场景,一般要求的时延标准在10ms-100ms;
(2)下行控制类业务:边缘控制器对上行的业务处理分析之后,往往需要协同本地智能终端下达控制指令,这类业务的时延要求一般在10ms-1s;
(3)流媒体类业务:具体包括视频业务、话音业务等大数据量业务,这类业务的时延要求一般在1s-5s;
(4)定期监控类业务:这种业务属于周期性业务,对时延是最不敏感的,一般也是秒级的;
如图1所示,为本发明的边缘控制器任务调度框架图,一种基于动态优先级的边缘控制器任务调度方法,该技术方案的核心技术是联合多进程与多线程的调度方法。进程调度用来应对优先级不同种类的业务,线程调度作为进程调度的一个元素,主要是应对高并发的同种业务。本发明在最关键的多线程调度中采用动态优先级的方式。
多进程调度包括:
边缘控制器为不同优先级的业务开启不同的进程。本发明所述的进程用三个属性表征:进程号(Process ID,PID)、端口号(PORT)、优先权(PRI)。当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理权,将之分配给其它进程。剥夺原则有:优先权原则(动态和静态)、短进程优先原则、时间片原则等,本发明所述的进程调度采用的是静态优先权的原则,这种任务调度的机制就是抢占式的任务调度策略。
具体步骤为:
步骤一:在边缘控制器中分别为四种类型的任务开启数据接收的进程,并且赋予各个进程不同的端口号(PORT),从而建立业务类型与端口的映射关系;
步骤二:获取四类业务进程的进程号(Process ID),并根据业务的进程号用renice指令修改优先级进程优先级(PRI);
本地智能终端在发送数据时,会依据发送数据的业务类型选择对应的端口。边缘控制器接收到数据时,会依据接收业务的端口确定出业务类型,从而确定业务的优先级(PRI)。高优先级业务可以抢占低优先级业务的系统处理权。高优先级业务执行完毕之后,被抢占的低优先级业务自动继续执行;
多线程调度包括:
多线程调度工作在某个进程内部,所有业务的初始优先级都是相同的。如果在进程内按照先到先服务的原则,就会导致先到达边缘控制器的业务持续性的霸占系统的处理权,应使各个线程轮流获得CPU分配给进程的使用权。实现线程调度的两个关键技术虚拟机技术(VM)和容器技术(Docker)已经很完备,缺少的只是调度规则的制定。本发明会针对进程内的同种业务(初始优先级相同)在进程内部根据线程的等待时间来赋予线程新的优先级(动态优先级)。
如图2所示,本发明的多线程任务调度方法工作流程图。多线程调度的规则制定及其说明包括:
调度原理:在进程内部(此时业务种类相同),为相继收到的业务开启不同的线程,线程依据动态优先级高低执行;
线程状态:执行(动态优先级不改变)、等待(动态优先级升高)、死亡(动态优先级清零);
动态优先级的规则制定步骤为:
步骤一:进程内业务初始优先级相同,均为pori,初始化系统时钟;
步骤二:统计得到此进程内的业务的一般执行时间tgen,令基准时间θ=tgen/n。
步骤三:进程接收新任务,并为之创建新的线程。更新进程内所有线程的等待时间
步骤四:将所有线程根据等待时间排序,等待时间长,优先级高。动态优先级的计算方式为
步骤五:系统经过基准时间θ,重复步骤三;
基准时间过小则动态优先级变更过快,会导致进程处理权来回更迭造成系统颠簸现象。在Linux系统中根据top指令实测n为2-3之间时系统的资源利用率最高。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于,包括以下步骤:
步骤1:根据对时延的敏感情况将物联网业务的种类划分为四种类型,分别为紧急警报类业务、下行控制类业务、流媒体类业务、定期监控类业务;
步骤2,在边缘控制器中分别为四种类型的任务开启数据接收的进程,并且赋予各个进程不同的端口号PORT,从而建立业务类型与端口的映射关系;
步骤3,获取四类业务进程的进程号Process ID,并根据业务的进程号用renice指令修改优先级进程优先级PRI;
步骤4,在业务种类相同的进程内部,为相继收到的业务开启不同的线程,线程依据动态优先级高低执行,动态优先级的更新方法如下:
步骤41,进程内业务初始优先级相同,均为pori,初始化系统时钟;
步骤42,统计得到此进程内的业务的一般执行时间tgen,令基准时间θ=tgen/n,其中n表示期望的一个任务最多被抢占的次数;
步骤43,进程接收新任务,并为之创建新的线程,更新进程内所有线程的等待时间其中,表示更新后的线程等待时间,表示更新前的线程等待时间;
步骤44,将所有线程根据等待时间排序,等待时间长,优先级高,动态优先级的计算方式为其中,pdyn表示当前线程的优先级,表示线程的等待时间;
步骤45,系统经过基准时间θ,重复步骤43。
2.根据权利要求1所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:本地智能终端在发送数据时,会依据发送数据的业务类型选择对应的端口,边缘控制器接收到数据时,会依据接收业务的端口确定出业务类型,从而确定业务的优先级PRI,高优先级业务抢占低优先级业务的系统处理权,高优先级业务执行完毕之后,被抢占的低优先级业务自动继续执行。
3.根据权利要求2所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:边缘控制器为不同优先级的业务开启不同的进程,进程用三个属性表征:进程号Process ID,PID、端口号PORT、优先级PRI,当一个进程正在运行时,基于剥夺原则,剥夺已分配给它的处理权,将之分配给其它进程。
4.根据权利要求3所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:剥夺原则有:动态优先级原则、静态优先级原则、短进程优先原则、时间片原则。
5.根据权利要求4所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:期望的一个任务最多被抢占的次数n的大小为2-3之间。
6.根据权利要求5所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:所述紧急警报类业务的时延在10ms-100ms。
7.根据权利要求6所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:所述下行控制类业务的时延要求在10ms-1s。
8.根据权利要求7所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:所述流媒体类业务的时延要求在1s-5s。
9.根据权利要求8所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:所述定期监控类业务的时延是要求是秒级。
10.根据权利要求9所述基于进程与线程调度的边缘控制器动态任务调度方法,其特征在于:线程状态包括执行状态、等待状态、死亡状态,其中,执行状态为动态优先级不改变,等待状态为动态优先级升高,死亡状态为动态优先级清零。
CN201910245309.XA 2019-03-28 2019-03-28 基于进程与线程调度的边缘控制器动态任务调度方法 Pending CN109947552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910245309.XA CN109947552A (zh) 2019-03-28 2019-03-28 基于进程与线程调度的边缘控制器动态任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910245309.XA CN109947552A (zh) 2019-03-28 2019-03-28 基于进程与线程调度的边缘控制器动态任务调度方法

Publications (1)

Publication Number Publication Date
CN109947552A true CN109947552A (zh) 2019-06-28

Family

ID=67012407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910245309.XA Pending CN109947552A (zh) 2019-03-28 2019-03-28 基于进程与线程调度的边缘控制器动态任务调度方法

Country Status (1)

Country Link
CN (1) CN109947552A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891093A (zh) * 2019-12-09 2020-03-17 中国科学院计算机网络信息中心 一种时延敏感网络中边缘计算节点选择方法及系统
CN111131421A (zh) * 2019-12-13 2020-05-08 中国科学院计算机网络信息中心 一种工业互联网现场大数据与云端信息互联互通的方法
CN111200795A (zh) * 2020-01-07 2020-05-26 南京邮电大学 一种群体智能的边缘网络控制系统及多任务调度方法
CN111506413A (zh) * 2020-07-02 2020-08-07 上海有孚智数云创数字科技有限公司 一种基于业务效率优化的智能任务调度方法及系统
CN114418771A (zh) * 2022-03-28 2022-04-29 深圳希施玛数据科技有限公司 一种数据传输的方法及相关装置
WO2022141300A1 (zh) * 2020-12-30 2022-07-07 华为技术有限公司 一种任务调度方法及装置
CN115840632A (zh) * 2023-02-21 2023-03-24 铜牛能源科技(山东)有限公司 基于时序数据库的分布式调度管理方法及系统
CN117093345A (zh) * 2023-09-05 2023-11-21 上海合芯数字科技有限公司 任务链表的执行方法、装置、终端设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801101A (zh) * 2006-01-17 2006-07-12 浙江大学 Java操作系统中线程的实现和线程状态切换的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801101A (zh) * 2006-01-17 2006-07-12 浙江大学 Java操作系统中线程的实现和线程状态切换的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐思宇等: "面向多终端协同的多域融合边缘控制系统", 《物联网与无线通信-2018年全国物联网技术与应用大会论文集》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891093A (zh) * 2019-12-09 2020-03-17 中国科学院计算机网络信息中心 一种时延敏感网络中边缘计算节点选择方法及系统
CN110891093B (zh) * 2019-12-09 2022-02-22 中国科学院计算机网络信息中心 一种时延敏感网络中边缘计算节点选择方法及系统
CN111131421A (zh) * 2019-12-13 2020-05-08 中国科学院计算机网络信息中心 一种工业互联网现场大数据与云端信息互联互通的方法
CN111131421B (zh) * 2019-12-13 2022-07-29 中国科学院计算机网络信息中心 一种工业互联网现场大数据与云端信息互联互通的方法
CN111200795A (zh) * 2020-01-07 2020-05-26 南京邮电大学 一种群体智能的边缘网络控制系统及多任务调度方法
CN111506413A (zh) * 2020-07-02 2020-08-07 上海有孚智数云创数字科技有限公司 一种基于业务效率优化的智能任务调度方法及系统
CN111506413B (zh) * 2020-07-02 2020-09-18 上海有孚智数云创数字科技有限公司 一种基于业务效率优化的智能任务调度方法及系统
WO2022141300A1 (zh) * 2020-12-30 2022-07-07 华为技术有限公司 一种任务调度方法及装置
CN114418771A (zh) * 2022-03-28 2022-04-29 深圳希施玛数据科技有限公司 一种数据传输的方法及相关装置
CN115840632A (zh) * 2023-02-21 2023-03-24 铜牛能源科技(山东)有限公司 基于时序数据库的分布式调度管理方法及系统
CN117093345A (zh) * 2023-09-05 2023-11-21 上海合芯数字科技有限公司 任务链表的执行方法、装置、终端设备及存储介质
CN117093345B (zh) * 2023-09-05 2024-05-07 上海合芯数字科技有限公司 任务链表的执行方法、装置、终端设备及存储介质

Similar Documents

Publication Publication Date Title
CN109947552A (zh) 基于进程与线程调度的边缘控制器动态任务调度方法
US10754706B1 (en) Task scheduling for multiprocessor systems
CN108762896B (zh) 一种基于Hadoop集群任务调度方法及计算机设备
CN107291547B (zh) 一种任务调度处理方法、装置及系统
Goel et al. A comparative study of cpu scheduling algorithms
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN109697122B (zh) 任务处理方法、设备及计算机存储介质
US6988268B2 (en) IO completion architecture for user-mode networking
WO2024021489A1 (zh) 一种任务调度方法、装置及Kubernetes调度器
CN109491775B (zh) 一种用于边缘计算环境下的任务处理与调度方法
CN110187956B (zh) 一种多智能体平台的分层实时任务调度方法和系统
CN106569887B (zh) 一种云环境下细粒度任务调度方法
CN114579285B (zh) 一种任务运行系统、方法及计算设备
CN112162835A (zh) 一种异构云环境下实时任务的调度优化方法
CN109582436A (zh) 基于容器集群平台的细粒度抢占式资源调度系统及方法
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
CN114077486B (zh) 一种MapReduce任务调度方法及系统
WO2019029721A1 (zh) 任务的调度方法、装置、设备及存储介质
Yadav et al. Priority based task scheduling by mapping conflict-free resources and Optimized workload utilization in cloud computing
CN109656716B (zh) 一种Slurm作业调度方法及系统
Mostafa Proportional weighted round robin: A proportional share CPU scheduler in time sharing systems
CN111930488B (zh) 一种操作系统任务调度的优先级继承方法及系统
CN113656150A (zh) 深度学习算力虚拟化系统
CN110347461B (zh) 基于迁移工作流的飞机驾驶舱人机界面信息调度系统及方法
CN114661415A (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: 20190628