CN109298932A - 基于OpenFlow的资源调度方法、调度器及系统 - Google Patents

基于OpenFlow的资源调度方法、调度器及系统 Download PDF

Info

Publication number
CN109298932A
CN109298932A CN201810994305.7A CN201810994305A CN109298932A CN 109298932 A CN109298932 A CN 109298932A CN 201810994305 A CN201810994305 A CN 201810994305A CN 109298932 A CN109298932 A CN 109298932A
Authority
CN
China
Prior art keywords
reduce
task
node
dispatched
cost
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.)
Granted
Application number
CN201810994305.7A
Other languages
English (en)
Other versions
CN109298932B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201810994305.7A priority Critical patent/CN109298932B/zh
Publication of CN109298932A publication Critical patent/CN109298932A/zh
Application granted granted Critical
Publication of CN109298932B publication Critical patent/CN109298932B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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

Abstract

本发明公开了一种基于OpenFlow的资源调度方法、调度器及系统,包括:当待调度Reduce任务到达时,获得集群当前的拓扑信息;根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径;将待调度Reduce任务调度到执行节点,并根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务。本发明能够最小化Reduce阶段计算资源和网络资源的使用代价总和,从而提高任务的执行效率。

Description

基于OpenFlow的资源调度方法、调度器及系统
技术领域
本发明属于云计算资源调度领域,更具体地,涉及一种基于OpenFlow的云计算资源联合调度方法。
背景技术
Hadoop是目前最流行的开源云计算平台之一,其MapReduce编程模型利用集群的并行运作来进行高速运算和存储,以分析和处理海量数据。在MapReduce的资源调度问题上,Map阶段的Map任务大小相同且数量多,能取得较好的负载均衡;而Reduce阶段由于Reduce任务粒度差异大、Reduce节点能力异构等原因,当中间数据量很大时容易出现Reduce节点负载不均衡、传输路径拥堵、任务排队时间过长等情况。
由于在MapReduce中执行任务既需要计算资源(CPU、内存等)又需要网络资源(带宽等),任何一方面的缺失都会影响到任务的执行效率,而现有的针对Hadoop及其核心设计MapReduce中的资源调度问题所提出的多种资源调度方法,如注重数据本地性的调度算法,注重负载均衡的调度算法,自适应感知调度算法,公平调度算法等,均没有同时考虑网络资源分配和计算资源分配,因此关于计算资源和网络资源的联合优化分配问题值得进一步研究。
目前已有一些研究提出了基于OpenFlow的调度方法来优化Hadoop/MapReduce中的数据传输,这些方法都利用了OpenFlow的带宽控制能力来优化网络带宽资源的调度,但没有进一步在优化调度目标中将计算资源与网络带宽资源统一化进行综合衡量。因此,本发明从资源联合调度优化的角度出发,基于OpenFlow的带宽控制技术,针对云平台Hadoop中的MapReduce计算框架,采用了资源联合分配的最小执行代价策略,以此来优化资源的分配。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种基于OpenFlow的云计算资源联合调度方法,其目的在于,从资源联合调度的角度出发,基于OpenFlow的带宽控制技术,针对云平台Hadoop中MapReduce计算框架的Reduce阶段,采用资源联合分配的最小执行代价策略,最小化Reduce阶段计算资源和网络资源的使用代价总和,以提高任务的执行效率。
为实现上述目的,按照本发明的第一方面,提供了一种基于OpenFlow的资源调度方法,在Reduce阶段对网络资源和计算资源进行联合调度,包括如下步骤:
(1)当待调度Reduce任务到达时,获得集群当前的拓扑信息;
(2)根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;其中,执行代价为网络资源使用代价和计算资源使用代价的总和;
(3)将待调度Reduce任务调度到执行节点,并根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
(4)按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务。
重复执行步骤(1)~(4),直至当前作业的所有Reduce任务均完成调度,就能够以最小的总执行代价完成当前作业在Reduce阶段的调度。
进一步地,步骤(2)包括:
(21)对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径;
(22)计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v所需的传输时间,由此计算将待调度Reduce任务所对应的中间结果数据传输到Reduce节点v的网络资源使用代价wk1,计算公式如下:
(23)计算由Reduce节点v执行待调度Reduce任务所需的计算时间和执行待调度Reduce任务时单位时间内的计算资源使用代价,由此计算由Reduce节点v执行待调度Reduce任务的计算资源使用代价wk2,计算公式如下:
(24)计算网络资源使用代价wk1和计算资源使用代价wk2的加权和,从而得到待调度Reduce任务的执行代价为:wk=α·wk1+β·wk2
(25)遍历所有空闲的Reduce节点,并执行步骤(21)~(24),从而得到使得待调度Reduce任务的执行代价最小的空闲Reduce节点,将该Reduce节点确定为执行节点,并将对应的第二传输路径确定为第一传输路径;
其中,k为待调度Reduce任务所对应的key值区间编号,M为当前作业所生成的Map任务总数,i的取值范围为1~M,ui表示执行第i个Map任务的Map节点,Ri表示第i个Map任务产生的中间结果数据量,表示将第i个Map任务的第k个key值区间的中间结果数据传输到Reduce节点v的传输带宽,表示将第i个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,qk为第k个key值区间的中间结果数据在Map任务产生的中间结果数据总量中所占的比重,sk表示根据第k个key值区间的中间结果数据执行待调度Reduce任务时单位时间内的计算资源使用代价,pv为Reduce节点v的计算能力,α和β分别代表网络资源使用代价和计算资源使用代价的权重。
更进一步地,步骤(21)包括:
对于任意一个Map任务,获得其执行节点ui到Reduce节点v之间的所有完整路径,从而得到路径集合;
对于路径集合中的任意一条路径Path,计算其权重GPath,计算公式如下:
其中,为构成路径Path的所有链路的可用带宽的算术平均值,σlinks为构成路径Path的所有链路的可用带宽的标准差;
根据路径集合中每一条路径的权重计算将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价计算公式为:
其中,h为用于衡量链路带宽使用代价的定值参数,max表示取最大值;
将路径集合中权重最大的路径确定为将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的路径,从而确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径。
按照本发明的第二方面,提供了一种基于OpenFlow的资源调度器,包括:集群拓扑模块、执行代价计算模块以及Reduce任务调度模块;
集群拓扑模块用于在待调度Reduce任务到达时获得集群当前的拓扑信息;
执行代价计算模块用于根据根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;其中,执行代价为网络资源使用代价和计算资源使用代价的总和;
Reduce任务调度模块用于将待调度Reduce任务调度至执行节点;
集群拓扑模块还用于通知OpenFlow控制器根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息。
进一步地,执行代价计算模块根据根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小,包括:
(S1)对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径;
(S2)计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v所需的传输时间,由此计算将待调度Reduce任务所对应的中间结果数据传输到Reduce节点v的网络资源使用代价wk1,计算公式如下:
(S3)计算由Reduce节点v执行待调度Reduce任务所需的计算时间和执行待调度Reduce任务时单位时间内的计算资源使用代价,由此计算由Reduce节点v执行待调度Reduce任务的计算资源使用代价wk2,计算公式如下:
(S4)计算网络资源使用代价wk1和计算资源使用代价wk2的加权和,从而得到待调度Reduce任务的执行代价为:wk=α·wk1+β·wk2
(S5)遍历所有空闲的Reduce节点,并执行步骤(S1)~(S4),从而得到使得待调度Reduce任务的执行代价最小的空闲Reduce节点,将该Reduce节点确定为执行节点,并将对应的第二传输路径确定为第一传输路径;
其中,k为待调度Reduce任务所对应的key值区间编号,M为当前作业所生成的Map任务总数,i的取值范围为1~M,ui表示执行第i个Map任务的Map节点,Ri表示第i个Map任务产生的中间结果数据量,表示将第i个Map任务的第k个key值区间的中间结果数据传输到Reduce节点v的传输带宽,表示将第i个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,qk为第k个key值区间的中间结果数据在Map任务产生的中间结果数据总量中所占的比重,sk表示根据第k个key值区间的中间结果数据执行待调度Reduce任务时单位时间内的计算资源使用代价,pv为Reduce节点v的计算能力,α和β分别代表网络资源使用代价和计算资源使用代价的权重。
更进一步地,执行代价计算模块对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径,包括:
对于任意一个Map任务,获得其执行节点ui到Reduce节点v之间的所有完整路径,从而得到路径集合;
对于路径集合中的任意一条路径Path,计算其权重GPath,计算公式如下:
其中,为构成路径Path的所有链路的可用带宽的算术平均值,σlinks为构成路径Path的所有链路的可用带宽的标准差;
根据路径集合中每一条路径的权重计算将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价计算公式为:
其中,h为用于衡量链路带宽使用代价的定值参数,max表示取最大值;
将路径集合中权重最大的路径确定为将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的路径,从而确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径。
按照本发明的第三方面,提供了一种基于OpenFlow的资源调度系统,包括:调度器、OpenFlow控制器以及OpenFlow交换机;
OpenFlow交换机用于处理数据流;
调度器为本发明第二方面所提供的基于OpenFlow的资源调度器,用于根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;调度器还用于将待调度Reduce任务调度至执行节点,以及通知OpenFlow控制器根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
OpenFlow控制器用于维护集群当前拓扑信息,并根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息,以及通过控制命令使得相关的OpenFlow交换机按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务;
其中,相关的OpenFlow交换机为第一传输路径所覆盖的OpenFlow交换机,执行代价为网络资源使用代价和计算资源使用代价的总和。
按照本发明的第四方面,提供了一种基于本发明第三方面所提供的基于OpenFlow的资源调度系统的调度方法,其特征在于,在Reduce阶段对网络资源和计算资源进行联合调度,包括如下步骤:
(1)当待调度Reduce任务到达时,调度器从OpenFlow控制器获得集群当前拓扑信息;
(2)调度器根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;
(3)调度器将待调度Reduce任务调度至执行节点,并通知OpenFlow控制器根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
(4)OpenFlow控制器向相关的OpenFlow交换机下发控制命令,使得相关的OpenFlow交换机按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务。
重复执行步骤(1)~(4),直至当前作业的所有Reduce任务均完成调度,就能够以最小的总执行代价完成当前作业在Reduce阶段的调度。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:对于云计算中的资源调度问题,本发明从联合优化资源分配的角度寻找资源调度策略,将计算资源(CPU、内存等)和网络带宽资源的调度综合考虑;并且本发明利用了OpenFlow的带宽控制技术,增加了决策过程的自由度和灵活性。发明采用资源联合分配的最小执行代价策略,通过计算Reduce阶段执行当前作业的资源使用代价总和,找到作业的最小执行代价,以此来优化资源的联合分配。
(1)本发明所提供的基于OpenFlow的资源调度方法,在对Reduce任务进行调度时,综合考虑待调度Reduce任务的网络资源使用代价和计算资源使用代价,通过确定使得执行待调度Reduce任务所需的执行代价最小的执行节点和第一传输路径,并按照所确定的执行节点和第一传输路径对待调度Reduce任务进行调度,由此能够使得经过调度后Reduce任务所使用的资源总量最小,进而能够最小化整个作业在Reduce阶段网络资源使用代价和计算资源使用代价的总和,提高任务的执行效率。
(2)本发明所提供的基于OpenFlow的资源调度方法,在确定中间结果数据的传输路径后,利用OpenFlow的带宽控制技术为Reduce任务预留带宽,增加了决策过程的自由度和灵活性。
(3)本发明所提供的基于OpenFlow的资源调度方法,首先获得Map节点和Reduce节点之间的所有路径,然后根据构成路径的链路可用带宽的算术平均值和标准差计算路径权重,并根据路径权重最大的路径计算中间结果数据传输在单位时间内的网络资源使用代价并确定相应的传输路径,由此能够使得选择的传输路径的可用带宽多且避免由于路径中某条链路拥堵而造成的带宽瓶颈。
附图说明
图1为现有的MapReduce计算框架的运行机制示意图;
图2为现有的OpenFlow工作架构示意图;
图3为本发明实施例提供的基于OpenFlow的资源调度方法流程图;
图4为本发明实施例提供的基于OpenFlow的资源调度器框图;
图5为本发明实施例提供的基于OpenFlow的资源调度系统示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在详细解释本发明的技术方案之前,先对MapReduce计算框架的运行机制和OpenFlow工作架构进行简要介绍。
在一个存在m个Map节点和n个Reduce节点的MapReduce集群中,当采用MapReduce计算框架执行一个MapReduce作业时,分为Map阶段和Reduce阶段。如图1所示,在Map阶段,先将作业划分为M个Map任务并分别交由M个Map节点进行处理,即图1所示的split(分片)步骤;在Reduce阶段,这m个Map节点开始生成M个Map任务的中间数据结果,每个Reduce任务对应所有Map任务产生的中间数据的一个key值区间,具有相同key值的中间数据属于同一个Reduce任务;当调度器收到Map节点返回的中间数据位置信息后,将生成新的Reduce任务并将新任务放入等待调度任务列表,最终要执行N个Reduce任务,即图1所示的combiner(整合)步骤;接着选择合适的一个或多个Reduce节点来执行Reduce任务,即图1所示的shuffle(洗牌)步骤;当Reduce节点空闲或执行完上一个任务后,它会通知调度器自己可执行新的Reduce任务。
当一个Reduce任务到达时,分配到该Reduce任务的Reduce节点会从所有的Map节点中复制对应key区间的中间数据结果。通常情况下不同Reduce任务对应的中间数据分布量是不同的,对于N个Reduce任务,每个Map任务的中间数据会分为N个区间,当一次作业产生的中间结果数据量很大时,可以认为key值在不同Map节点产生的中间数据中是均匀分布的。在初始状态调度Reduce任务时,可以根据设定的划分函数预先得出各个Reduce任务对应的中间数据的分布情况。
由于一个Reduce任务包括所有Map节点产生的中间数据结果的一部分,故当执行一个Reduce任务的Reduce节点将所有Map节点上对应的中间数据结果都复制完成后,才开始进行Reduce计算。
如图2所示,OpenFlow工作架构包括三个组件:OpenFlow交换机、安全通道和OpenFlow控制器。OpenFlow交换机使用流表转发数据包,每个流表项有匹配字段,到达的数据包与每个流表项的匹配字段比较,如果匹配则数据包就根据流表项中的指令处理;OpenFlow控制器是一个负责操作交换机流表的软件程序,它使用OpenFlow协议;安全通道是连接控制器和所有交换机的接口,通过这个通道,控制器管理交换机,从交换机接受数据包,以及向交换机发送数据包。由于OpenFlow协议在决策过程中提供了更多的自由度和灵活性,而不会使路由器或交换机过载,因此可以基于OpenFlow的技术来优化MapReduce中的数据传输。
基于以上基本原理,本发明提供了一种基于OpenFlow的资源调度方法、调度器及系统,其基本思路是:当Reduce任务到达时,采取最小化Reduce任务的执行代价的调度策略,选择合适的执行节点与传输路径,将该Reduce任务所对应的中间结果数据按照所确定的传输路径复制到执行节点上执行。
本发明所提供的一种基于OpenFlow的资源调度方法,如图3所示,在Reduce阶段对网络资源和计算资源进行联合调度,包括如下步骤:
(1)当待调度Reduce任务到达时,获得集群当前的拓扑信息;
(2)根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;其中,执行代价为网络资源使用代价和计算资源使用代价的总和;
在一个可选的实施方式中,步骤(2)具体包括:
(21)对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径;具体包括:
对于任意一个Map任务,获得其执行节点ui到Reduce节点v之间的所有完整路径,从而得到路径集合;
对于路径集合中的任意一条路径Path,计算其权重GPath,计算公式如下:
其中,为构成路径Path的所有链路的可用带宽的算术平均值,越大说明该路径上链路平均可用带宽越多;σBlinks为构成路径Path的所有链路的可用带宽的标准差,σBlinks越小说明该路径上各链路可用带宽之间的差异越小,越不易因某条链路出现带宽瓶颈而引起拥塞;的值越大或σBlinks的值越小,则路径的权重越大,单位时间使用代价越小;
根据路径集合中每一条路径的权重计算将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价计算公式为:
其中,h为用于衡量链路带宽使用代价的定值参数,max表示取最大值,k为待调度Reduce任务所对应的key值区间编号;
将路径集合中权重最大的路径确定为将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的路径,从而确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径;
(22)计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v所需的传输时间,由此计算将待调度Reduce任务所对应的中间结果数据传输到Reduce节点v的网络资源使用代价wk1,计算公式如下:
其中,Ri表示第i个Map任务产生的中间结果数据量,qk为第k个key值区间的中间结果数据即待调度Reduce任务所对应的中间结果数据在Map任务产生的中间结果数据总量中所占的比重,其取值在初始状态下根据划分函数能准确推测出,第i个Map任务的第k个key值区间的中间结果数据量即为Ri·qk;Bui→v表示将第i个Map任务的第k个key值区间的中间结果数据传输到Reduce节点v的传输带宽,为系统设置的已知值,将第i个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v所需的时间即为 表示将第i个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,由步骤(21)获得,将第i个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的网络资源使用代价即为M为当前作业所生成的Map任务总数;
(23)计算由Reduce节点v执行待调度Reduce任务所需的计算时间和执行待调度Reduce任务时单位时间内的计算资源使用代价,由此计算由Reduce节点v执行待调度Reduce任务的计算资源使用代价wk2,计算公式如下:
其中,Ri表示第i个Map任务产生的中间结果数据量,M为当前作业所生成的Map任务总数,一次作业中M个Map任务产生的中间数据结果总量即为qk为第k个key值区间的中间结果数据即待调度Reduce任务所对应的中间结果数据在Map任务产生的中间结果数据总量中所占的比重,其取值在初始状态下根据划分函数能准确推测出,因此待调度Reduce任务所对应的中间结果数据量为pv为Reduce节点v的计算能力,在初始状态时,可通过统计得到,因此由Reduce节点v执行待调度Reduce任务所需的计算时间为sk表示根据第k个key值区间的中间结果数据执行待调度Reduce任务时单位时间内的计算资源使用代价,其计算公式为:sk=a·dk,a为定值,表示计算资源使用单价,dk为第k个Reduce任务,即待调度Reduce任务占用的资源量;
(24)计算网络资源使用代价wk1和计算资源使用代价wk2的加权和,从而得到待调度Reduce任务的执行代价为:wk=α·wk1+β·wk2;其中,α和β分别代表网络资源使用代价和计算资源使用代价的权重;
(25)遍历所有空闲的Reduce节点,并执行步骤(21)~(24),从而得到使得待调度Reduce任务的执行代价最小的空闲Reduce节点,将该Reduce节点确定为执行节点,并将对应的第二传输路径确定为第一传输路径;
其中,i的取值范围为1~M,ui表示执行第i个Map任务的Map节点,
(3)将待调度Reduce任务调度到执行节点,并根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
(4)按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务。
重复执行步骤(1)~(4),直至当前作业的所有Reduce任务均完成调度,就能够以最小的总执行代价完成当前作业在Reduce阶段的调度。
本发明还提供了一种基于OpenFlow的资源调度器,如图4所示,包括:集群拓扑模块、执行代价计算模块以及Reduce任务调度模块;
集群拓扑模块用于在待调度Reduce任务到达时获得集群当前的拓扑信息;
执行代价计算模块用于根据根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;其中,执行代价为网络资源使用代价和计算资源使用代价的总和;
Reduce任务调度模块用于将待调度Reduce任务调度至执行节点;
集群拓扑模块还用于通知OpenFlow控制器根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
在一个可选的实施方式中,执行代价计算模块根据根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小,具体包括:
(S1)对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径;具体包括:
对于任意一个Map任务,获得其执行节点ui到Reduce节点v之间的所有完整路径,从而得到路径集合;
对于路径集合中的任意一条路径Path,计算其权重GPath,计算公式如下:
其中,为构成路径Path的所有链路的可用带宽的算术平均值,σlinks为构成路径Path的所有链路的可用带宽的标准差;
根据路径集合中每一条路径的权重计算将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价计算公式为:
其中,h为用于衡量链路带宽使用代价的定值参数,max表示取最大值;
将路径集合中权重最大的路径确定为将该Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的路径,从而确定将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v的第二传输路径
(S2)计算将每个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v所需的传输时间,由此计算将待调度Reduce任务所对应的中间结果数据传输到Reduce节点v的网络资源使用代价wk1,计算公式如下:
(S3)计算由Reduce节点v执行待调度Reduce任务所需的计算时间和执行待调度Reduce任务时单位时间内的计算资源使用代价,由此计算由Reduce节点v执行待调度Reduce任务的计算资源使用代价wk2,计算公式如下:
(S4)计算网络资源使用代价wk1和计算资源使用代价wk2的加权和,从而得到待调度Reduce任务的执行代价为:wk=α·wk1+β·wk2
(S5)遍历所有空闲的Reduce节点,并执行步骤(S1)~(S4),从而得到使得待调度Reduce任务的执行代价最小的空闲Reduce节点,将该Reduce节点确定为执行节点,并将对应的第二传输路径确定为第一传输路径;
其中,k为待调度Reduce任务所对应的key值区间编号,M为当前作业所生成的Map任务总数,i的取值范围为1~M,ui表示执行第i个Map任务的Map节点,表示将第i个Map任务的第k个key值区间的中间结果数据传输到Reduce节点v的传输带宽,表示将第i个Map任务的第k个key值区间的中间结果数据传输至Reduce节点v时在单位时间内的网络资源使用代价,qk为第k个key值区间的中间结果数据即待调度Reduce任务所对应的中间结果数据在Map任务产生的中间结果数据总量中所占的比重,sk表示根据第k个key值区间的中间结果数据执行待调度Reduce任务时单位时间内的计算资源使用代价,pv为Reduce节点v的计算能力,α和β分别代表网络资源使用代价和计算资源使用代价的权重;在本实施例中,公式的具体含义可参考以上方法实施例中的解释,在此不再复述。
基于图4所示的基于OpenFlow的资源调度器,本发明还提供了一种基于OpenFlow的资源调度系统,如图5所示,包括:调度器、OpenFlow控制器以及OpenFlow交换机;
OpenFlow交换机用于处理数据流;
调度器为图4所示的基于OpenFlow的资源调度器,用于根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;调度器还用于将待调度Reduce任务调度至执行节点,以及通知OpenFlow控制器根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
OpenFlow控制器用于维护集群当前拓扑信息,并根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息,以及通过控制命令使得相关的OpenFlow交换机按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务;
其中,相关的OpenFlow交换机为第一传输路径所覆盖的OpenFlow交换机,执行代价为网络资源使用代价和计算资源使用代价的总和。
基于图5所示的基于OpenFlow的资源调度系统,本发明所提供的基于OpenFlow的资源调度方法,包括如下步骤:在Reduce阶段对网络资源和计算资源进行联合调度,包括如下步骤:
(1)当待调度Reduce任务到达时,调度器从OpenFlow控制器获得集群当前拓扑信息;
(2)调度器根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待待调度Reduce任务的执行节点和将待调度Reduce任务所对应的中间结果数据传输到执行节点的第一传输路径,以使得执行待调度Reduce任务所需的执行代价最小;
(3)调度器将待调度Reduce任务调度该执行节点,并通知OpenFlow控制器根据第一传输路径为待调度Reduce任务预留带宽并更新集群拓扑信息;
(4)OpenFlow控制器向相关的OpenFlow交换机下发控制命令,使得相关的OpenFlow交换机按照第一传输路径将待调度Reduce任务所对应的中间结果数据传输到执行节点,以由执行节点执行待调度Reduce任务。
重复执行步骤(1)~(4),直至当前作业的所有Reduce任务均完成调度,就能够以最小的总执行代价完成当前作业在Reduce阶段的调度。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于OpenFlow的资源调度方法,其特征在于,在Reduce阶段对网络资源和计算资源进行联合调度,包括如下步骤:
(1)当待调度Reduce任务到达时,获得集群当前的拓扑信息;
(2)根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行所述待调度Reduce任务的执行节点和将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点的第一传输路径,以使得执行所述待调度Reduce任务所需的执行代价最小;其中,执行代价为网络资源使用代价和计算资源使用代价的总和;
(3)将所述待调度Reduce任务调度到所述执行节点,并根据所述第一传输路径为所述待调度Reduce任务预留带宽并更新集群拓扑信息;
(4)按照所述第一传输路径将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点,以由所述执行节点执行所述待调度Reduce任务。
2.如权利要求1所述的基于OpenFlow的资源调度方法,其特征在于,所述步骤(2)包括:
(21)对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v的第二传输路径;
(22)计算将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v所需的传输时间,由此计算将所述待调度Reduce任务所对应的中间结果数据传输到所述Reduce节点v的网络资源使用代价wk1,计算公式如下:
(23)计算由所述Reduce节点v执行所述待调度Reduce任务所需的计算时间和执行所述待调度Reduce任务时单位时间内的计算资源使用代价,由此计算由所述Reduce节点v执行所述待调度Reduce任务的计算资源使用代价wk2,计算公式如下:
(24)计算所述网络资源使用代价wk1和所述计算资源使用代价wk2的加权和,从而得到所述待调度Reduce任务的执行代价为:wk=α·wk1+β·wk2
(25)遍历所有空闲的Reduce节点,并执行步骤(21)~(24),从而得到使得所述待调度Reduce任务的执行代价最小的空闲Reduce节点,将该Reduce节点确定为所述执行节点,并将对应的第二传输路径确定为所述第一传输路径;
其中,k为所述待调度Reduce任务所对应的key值区间编号,M为当前作业所生成的Map任务总数,i的取值范围为1~M,ui表示执行第i个Map任务的Map节点,Ri表示第i个Map任务产生的中间结果数据量,表示将第i个Map任务的第k个key值区间的中间结果数据传输到所述Reduce节点v的传输带宽,表示将第i个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价,qk为第k个key值区间的中间结果数据在Map任务产生的中间结果数据总量中所占的比重,sk表示根据第k个key值区间的中间结果数据执行所述待调度Reduce任务时单位时间内的计算资源使用代价,pv为所述Reduce节点v的计算能力,α和β分别代表网络资源使用代价和计算资源使用代价的权重。
3.如权利要求2所述的基于OpenFlow的资源调度方法,其特征在于,所述步骤(21)包括:
对于任意一个Map任务,获得其执行节点ui到所述Reduce节点v之间的所有完整路径,从而得到路径集合;
对于所述路径集合中的任意一条路径Path,计算其权重GPath,计算公式如下:
其中,为构成所述路径Path的所有链路的可用带宽的算术平均值,σlinks为构成所述路径Path的所有链路的可用带宽的标准差;
根据所述路径集合中每一条路径的权重计算将该Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价计算公式为:
其中,h为用于衡量链路带宽使用代价的定值参数,max表示取最大值;
将所述路径集合中权重最大的路径确定为将该Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v的路径,从而确定所述第二传输路径。
4.一种基于OpenFlow的资源调度器,其特征在于,包括:集群拓扑模块、执行代价计算模块以及Reduce任务调度模块;
所述集群拓扑模块用于在待调度Reduce任务到达时获得集群当前的拓扑信息;
所述执行代价计算模块用于根据根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行所述待待调度Reduce任务的执行节点和将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点的第一传输路径,以使得执行所述待调度Reduce任务所需的执行代价最小;其中,执行代价为网络资源使用代价和计算资源使用代价的总和;
所述Reduce任务调度模块用于将所述待调度Reduce任务调度至所述执行节点;
所述集群拓扑模块还用于通知OpenFlow控制器根据所述第一传输路径为所述待调度Reduce任务预留带宽并更新集群拓扑信息。
5.如权利要求4所述的基于OpenFlow的资源调度器,其特征在于,所述执行代价计算模块根据根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行所述待调度Reduce任务的执行节点和将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点的第一传输路径,以使得执行所述待调度Reduce任务所需的执行代价最小,包括:
(S1)对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v的第二传输路径;
(S2)计算将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v所需的传输时间,由此计算将所述待调度Reduce任务所对应的中间结果数据传输到所述Reduce节点v的网络资源使用代价wk1,计算公式如下:
(S3)计算由所述Reduce节点v执行所述待调度Reduce任务所需的计算时间和执行所述待调度Reduce任务时单位时间内的计算资源使用代价,由此计算由所述Reduce节点v执行所述待调度Reduce任务的计算资源使用代价wk2,计算公式如下:
(S4)计算所述网络资源使用代价wk1和所述计算资源使用代价wk2的加权和,从而得到所述待调度Reduce任务的执行代价为:wk=α·wk1+β·wk2
(S5)遍历所有空闲的Reduce节点,并执行步骤(S1)~(S4),从而得到使得所述待调度Reduce任务的执行代价最小的空闲Reduce节点,将该Reduce节点确定为所述执行节点,并将对应的第二传输路径确定为所述第一传输路径;
其中,k为所述待调度Reduce任务所对应的key值区间编号,M为当前作业所生成的Map任务总数,i的取值范围为1~M,ui表示执行第i个Map任务的Map节点,Ri表示第i个Map任务产生的中间结果数据量,表示将第i个Map任务的第k个key值区间的中间结果数据传输到所述Reduce节点v的传输带宽,表示将第i个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价,qk为第k个key值区间的中间结果数据量在Map任务产生的中间结果数据总量中所占的比重,sk表示根据第k个key值区间的中间结果数据执行所述待调度Reduce任务时单位时间内的计算资源使用代价,pv为所述Reduce节点v的计算能力,α和β分别代表网络资源使用代价和计算资源使用代价的权重。
6.如权利要求5所述的基于OpenFlow的资源调度器,其特征在于,所述执行代价计算模块对于空闲的Reduce节点v,分别计算将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价,并由此确定将每个Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v的第二传输路径,包括:
对于任意一个Map任务,获得其执行节点ui到所述Reduce节点v之间的所有完整路径,从而得到路径集合;
对于所述路径集合中的任意一条路径Path,计算其权重GPath,计算公式如下:
其中,为构成所述路径Path的所有链路的可用带宽的算术平均值,σlinks为构成所述路径Path的所有链路的可用带宽的标准差;
根据所述路径集合中每一条路径的权重计算将该Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v时在单位时间内的网络资源使用代价计算公式为:
其中,h为用于衡量链路带宽使用代价的定值参数,max表示取最大值;
将所述路径集合中权重最大的路径确定为将该Map任务的第k个key值区间的中间结果数据传输至所述Reduce节点v的路径。
7.一种基于OpenFlow的资源调度系统,其特征在于,包括:调度器、OpenFlow控制器以及OpenFlow交换机;
所述OpenFlow交换机用于处理数据流;
所述调度器为权利要求4-6任一项所述的基于OpenFlow的资源调度器,用于根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行待调度Reduce任务的执行节点和将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点的第一传输路径,以使得执行所述待调度Reduce任务所需的执行代价最小;所述调度器还用于将所述待调度Reduce任务调度至所述执行节点,以及通知所述OpenFlow控制器根据所述第一传输路径为所述待调度Reduce任务预留带宽并更新集群拓扑信息;
所述OpenFlow控制器用于维护集群当前拓扑信息,并根据所述第一传输路径为所述待调度Reduce任务预留带宽并更新集群拓扑信息,以及通过控制命令使得相关的OpenFlow交换机按照所述第一传输路径将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点,以由所述执行节点执行所述待调度Reduce任务;
其中,所述相关的OpenFlow交换机为所述第一传输路径所覆盖的OpenFlow交换机,执行代价为网络资源使用代价和计算资源使用代价的总和。
8.一种基于权利要求7所述的基于OpenFlow的资源调度系统的调度方法,其特征在于,在Reduce阶段对网络资源和计算资源进行联合调度,包括如下步骤:
(1)当待调度Reduce任务到达时,所述调度器从所述OpenFlow控制器获得集群当前拓扑信息;
(2)所述调度器根据集群当前的拓扑信息,从空闲的Reduce节点中确定用于执行所述待调度Reduce任务的执行节点和将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点的第一传输路径,以使得执行所述待调度Reduce任务所需的执行代价最小;
(3)所述调度器将所述待调度Reduce任务调度至所述执行节点,并通知所述OpenFlow控制器根据所述第一传输路径为所述待调度Reduce任务预留带宽并更新集群拓扑信息;
(4)所述OpenFlow控制器向相关的OpenFlow交换机下发控制命令,使得相关的OpenFlow交换机按照所述第一传输路径将所述待调度Reduce任务所对应的中间结果数据传输到所述执行节点,以由所述执行节点执行所述待调度Reduce任务。
CN201810994305.7A 2018-08-29 2018-08-29 基于OpenFlow的资源调度方法、调度器及系统 Expired - Fee Related CN109298932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810994305.7A CN109298932B (zh) 2018-08-29 2018-08-29 基于OpenFlow的资源调度方法、调度器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810994305.7A CN109298932B (zh) 2018-08-29 2018-08-29 基于OpenFlow的资源调度方法、调度器及系统

Publications (2)

Publication Number Publication Date
CN109298932A true CN109298932A (zh) 2019-02-01
CN109298932B CN109298932B (zh) 2020-07-10

Family

ID=65165737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810994305.7A Expired - Fee Related CN109298932B (zh) 2018-08-29 2018-08-29 基于OpenFlow的资源调度方法、调度器及系统

Country Status (1)

Country Link
CN (1) CN109298932B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198277A (zh) * 2019-05-10 2019-09-03 湖北交投智能检测股份有限公司 基于sdn的公路大数据云平台的资源优化方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317650A (zh) * 2014-10-10 2015-01-28 北京工业大学 一种面向Map/Reduce型海量数据处理平台的作业调度方法
CN104915407A (zh) * 2015-06-03 2015-09-16 华中科技大学 一种基于Hadoop多作业环境下的资源调度方法
CN106598733A (zh) * 2016-12-08 2017-04-26 南京航空航天大学 一种云计算能耗关键的三维度虚拟资源调度方法
CN107222843A (zh) * 2017-06-30 2017-09-29 西安电子科技大学 面向室内定位的雾网络实现系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317650A (zh) * 2014-10-10 2015-01-28 北京工业大学 一种面向Map/Reduce型海量数据处理平台的作业调度方法
CN104915407A (zh) * 2015-06-03 2015-09-16 华中科技大学 一种基于Hadoop多作业环境下的资源调度方法
CN106598733A (zh) * 2016-12-08 2017-04-26 南京航空航天大学 一种云计算能耗关键的三维度虚拟资源调度方法
CN107222843A (zh) * 2017-06-30 2017-09-29 西安电子科技大学 面向室内定位的雾网络实现系统和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198277A (zh) * 2019-05-10 2019-09-03 湖北交投智能检测股份有限公司 基于sdn的公路大数据云平台的资源优化方法及系统

Also Published As

Publication number Publication date
CN109298932B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
Li et al. Efficient online coflow routing and scheduling
Kumari et al. Task offloading in fog computing: A survey of algorithms and optimization techniques
Ge et al. GA-based task scheduler for the cloud computing systems
CN102681889B (zh) 一种云计算开放平台的调度方法
Liu et al. Resource preprocessing and optimal task scheduling in cloud computing environments
Liu et al. D-storm: Dynamic resource-efficient scheduling of stream processing applications
CN103699446A (zh) 基于量子粒子群优化算法的多目标工作流动态调度方法
CN104657221A (zh) 一种云计算中基于任务分类的多队列错峰调度模型及方法
Tantalaki et al. Pipeline-based linear scheduling of big data streams in the cloud
CN107122233A (zh) 一种面向tsn业务的多vcpu自适应实时调度方法
CN108737268A (zh) 软件定义工业物联网资源调度方法
CN106502790A (zh) 一种基于数据分布的任务分配优化方法
CN109710372A (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN109815009A (zh) 一种csp下的资源调度与优化方法
Yao et al. An intelligent scheduling algorithm for complex manufacturing system simulation with frequent synchronizations in a cloud environment
Ren et al. Joint optimization of VNF placement and flow scheduling in mobile core network
CN113190342B (zh) 用于云-边协同网络的多应用细粒度卸载的方法与系统架构
CN111782627B (zh) 面向广域高性能计算环境的任务与数据协同调度方法
Ma et al. Maximizing container-based network isolation in parallel computing clusters
CN109298932A (zh) 基于OpenFlow的资源调度方法、调度器及系统
Tao et al. Congestion-aware traffic allocation for geo-distributed data centers
AU2017100412A4 (en) Cloud task scheduling algorithm based on user satisfaction
Gamal et al. Mapping and scheduling for non-uniform arrival of virtual network function (VNF) requests
Stavrinides et al. Multi-criteria scheduling of complex workloads on distributed resources
Laredo et al. Designing a self-organized approach for scheduling bag-of-tasks

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200710

Termination date: 20210829

CF01 Termination of patent right due to non-payment of annual fee