CN103559092B - 异构并行计算结点的峰值功耗控制方法 - Google Patents
异构并行计算结点的峰值功耗控制方法 Download PDFInfo
- Publication number
- CN103559092B CN103559092B CN201310560455.4A CN201310560455A CN103559092B CN 103559092 B CN103559092 B CN 103559092B CN 201310560455 A CN201310560455 A CN 201310560455A CN 103559092 B CN103559092 B CN 103559092B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- node
- processor
- budget
- cpu
- 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
Links
Classifications
-
- 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
- Power Sources (AREA)
Abstract
本发明公开了一种异构并行计算结点的峰值功耗控制方法,目的是动态控制异构并行结点的峰值功耗,尽可能地减少功耗控制对结点执行性能的影响。技术方案是先构建由结点功耗描述文件、结点功耗预算设置子系统、协处理器负载监控子系统、处理器功耗设置子系统组成的异构并行计算结点峰值功耗控制系统;将结点的相关功耗参数记录在结点功耗描述文件中;结点功耗预算设置子系统设置结点功耗预算,协处理器负载监控子系统查询协处理器的实时运行负载Wco,处理器功耗设置子系统设置处理器的功耗阈值。采用本发明可确保计算结点的峰值功耗不会超过用户设定的功耗预算,对计算结点性能影响小,提高了结点的能耗效率。
Description
技术领域
本发明涉及计算机领域结点峰值功耗控制方法,具体涉及一种协处理器(Co-processor)异构并行计算(Heterogeneous Parallel Computing)结点的峰值功耗控制方法。
背景技术
大规模并行计算系统功耗巨大,导致供电开销、散热、可靠性、环境污染等一系列问题。这些计算系统由数以万计的计算结点组成,结点功耗控制是实现系统功耗控制的基础。因此,需要对计算结点的功耗加以控制,即将计算结点的运行功耗控制在某一阈值之内。
计算结点内异构并行体系结构是当前高性能计算领域的重要方向,2013年6月发布的全球计算系统性能排行榜(Top500)前10名中即有4个系统采用协处理器加速的结点内异构并行体系结构。
在协处理器异构并行体系结构中,如图1所示,计算结点包含处理器和协处理器两类执行设备,处理器与协处理器的峰值功耗约占整个结点峰值功耗的90%,是峰值功耗控制的主要目标设备。
当前,异构并行计算结点的典型配置是协处理器计算性能比处理器计算性能高1个量级(10倍左右),协处理器能效也比处理器高5倍左右。因此,异构并行计算结点中,协处理器的性能和能效都比处理器高,是异构并行计算任务的执行主体,功耗控制系统应该优先保障协处理器的功耗需求。
目前的功耗控制方法按设备功耗阈值的确定方式进行划分,分为静态阈值和动态阈值两种:静态阈值方法静态确定目标设备的功耗阈值,动态阈值方法则在结点运行过程中动态调节目标设备的功耗阈值。异构并行计算结点中,以处理器为功耗控制的目标设备,如果采用静态阈值方法,则当协处理器运行负载较轻、结点实时功耗低于预算,而处理器处于繁忙状态且是整个结点的性能瓶颈时,静态设置的处理器功耗阈值会导致处理器无法工作在最高性能状态,进而导致不必要的结点性能损失。目前的动态阈值方法都基于设备自身的运行行为来动态调节其功耗阈值。在异构并行计算结点中,处理器和协处理器都是重要的功耗设备,只基于处理器自身的运行行为无法判断协处理器的实时功耗,从而无法准确判断处理器的可用功耗额,也就无法准确调节处理器的功耗阈值。因此,目前的动态阈值方法不适用于异构并行计算结点的功耗控制。
发明内容
本发明要解决的技术问题是如何动态控制异构并行结点的峰值功耗,在确保结点运行功耗不超过结点功耗预算的前提下,尽可能地减少功耗控制对结点执行性能的影响。
本发明异构并行计算结点的峰值功耗控制方法的基本思想是:协处理器的性能和能效都比处理器高。当结点功耗预算无法同时满足处理器和协处理器的功耗需求时,首先保障协处理器的功耗需求,剩余功耗再分配给处理器。即当协处理器负载超过阈值、导致结点功耗需要被控制时,相应地设置处理器功耗阈值,限制处理器的运行功耗;而当协处理器负载低于阈值、结点功耗小于预算时,对处理器功耗不加限制,减少峰值功耗控制对处理器执行性能的影响。
本发明的技术方案为:根据用户设定的结点功耗预算,确定触发结点功耗控制所对应的协处理器负载阈值。实时查询协处理器的运行负载。如果协处理器负载超过阈值,则基于协处理器的当前负载计算协处理器的功耗需求,进而确定处理器的可用功耗配额,并以此配额作为处理器的功耗阈值;如果协处理器运行负载低于阈值,则取消对处理器功耗的控制。
具体技术方案包括如下步骤:
第一步,构建异构并行计算结点峰值功耗控制系统,该系统由结点功耗描述文件、结点功耗预算设置子系统、协处理器负载监控子系统、处理器功耗设置子系统组成。
结点功耗描述文件保存结点的相关功耗参数,共包含6项,分别为处理器最大功耗值(P_MAX_CPU)、协处理器最大功耗值(P_MAX_CO)、协处理器空闲功耗值(P_IDLE_CO)、结点内除处理器和协处理器之外其它所有设备的功耗最大值(P_MAX_OTHER)、结点空闲功耗值(P_IDLE_NODE)、结点最大功耗值(P_MAX_NODE)。
结点功耗预算设置子系统接收用户输入的结点功耗预算值Pbudget,读取保存在结点功耗描述文件中的相关功耗参数,计算触发功耗控制所对应的协处理器负载阈值Wco-th,并将Pbudget和Wco-th传递给协处理器负载监控子系统。
协处理器负载监控子系统从协处理器利用率查询接口读取协处理器的实时利用率,从结点功耗描述文件读取结点的功耗参数,从结点功耗预算子系统获得Pbudget和Wco-th,计算处理器的功耗阈值Pcpu-th,并将Pcpu-th传递给处理器功耗设置子系统。现有的安装在计算结点上的协处理器驱动程序均有实时统计协处理器利用率,并提供协处理器利用率查询接口的功能(如NVidia协处理器的nvidia-smi、AMD协处理器的fglrxinfo、Intel协处理器的micsmc)。协处理器负载监控子系统通过访问协处理器驱动程序提供的协处理器利用率查询接口来读取协处理器的实时利用率。
处理器功耗设置子系统从协处理器负载监控子系统获得Pcpu-th,操作处理器功耗控制接口,设置处理器的功耗阈值。现有处理器(如Intel的Sandy Bridge、Ivy Bridge处理器系列,AMD的Athlon、Opteron处理器系列)都内置了处理器功耗控制支持模块,处理器功耗控制支持模块控制处理器功耗不超过阈值,并向软件提供处理器功耗控制接口,软件可以操作该接口来动态设置处理器的功耗阈值。处理器功耗设置子系统基于功耗控制接口来控制处理器的功耗。
第二步,初始化结点功耗描述文件。查阅异构计算结点的功耗描述手册,获得结点的相关功耗参数,并将这些参数记录在结点功耗描述文件中。
第三步,结点功耗预算设置子系统设置结点功耗预算,方法是:
3.1接收用户设置的Pbudget。若P_IDLE_NODE≤Pbudget≤P_MAX_NODE,转3.2步;如果Pbudget小于P_IDLE_NODE,功耗预算无法满足结点的基本运行需求,结点功耗预算设置子系统向用户返回错误信息,要求用户重新输入,转3.1;如果Pbudget大于P_MAX_NODE,则结点功耗预算设置子系统自动设置Pbudget为P_MAX_NODE,转3.2步;
3.2初始化处理器功耗阈值设置标记THcpu为0。THcpu为布尔值变量,取值为0或1,0表示未设置处理器功耗阈值,1表示已设置处理器功耗阈值。
3.3计算Pbudget对应的Wco-th,即
第四步,协处理器负载监控子系统查询协处理器的实时运行负载Wco,即所有协处理器核的平均利用率,也即其中,μt为协处理器核t的利用率,通过协处理器利用率查询接口查询得到,T为结点中协处理器核的个数;
4.1如果Wco大于Wco-th,则基于Wco计算Pcpu-th,即Pcpu-th=Pbudget-(P_IDLE_CO+(P_MAX_CO-P_IDLE_CO)×Wco)-P_MAX_OTHER,转第五步;
4.2如果Wco小于或等于Wco-th,则:
4.2.1如果THcpu等于1,则将Pcpu-th值设为-1,转第五步;
4.2.2如果THcpu等于0,则检测用户是否输入新的Pbudget:
4.2.2.1如果用户输入新的Pbudget,转第三步;
4.2.2.2如果用户没有输入新的Pbudget,转第四步;
第五步,处理器功耗设置子系统设置处理器的功耗阈值:
5.1如果Pcpu-th等于-1,则操作处理器提供的功耗控制接口,停止功耗控制支持模块对处理器功耗的控制,设置THcpu为0,转第四步;
5.2如果Pcpu-th不等于-1,则操作处理器提供的功耗控制接口,设置处理器的功耗阈值为Pcpu-th并设置THcpu为1,启动处理器功耗控制支持模块对处理器功耗加以控制,转第四步;所述启动处理器功耗控制支持模块对处理器功耗进行控制的方法是:处理器功耗控制支持模块实时检测处理器功耗Pcpu,若发现Pcpu>Pcpu-th,则将处理器功耗降低为Pcpu-th,确保处理器功耗不超过Pcpu-th。
步骤4.2.2.1、步骤4.2.2.2、步骤5.1和步骤5.2显示本发明是个死循环,因为实际情况就是只要计算结点不关机,结点峰值功耗控制系统就不断地控制结点的实时功耗。除非计算结点关机或断电,本发明才强制停止运转。
采用本发明可以达到如下效果:
1.本发明4.1和5.2对处理器峰值功耗加以控制,确保计算结点的峰值功耗不会超过用户设定的功耗预算。
2.本发明4.2和5.1在协处理器负载较低、结点功耗预算满足了除处理器外所有设备的功耗需求后仍足以满足处理器的最大功耗需求时,对处理器功耗不加控制。并且,本发明第四步在控制结点功耗时,优先保障能效更高的协处理器的功耗需求,并基于协处理器的运行负载来动态调节处理器的功耗阈值。因此本发明在保证结点功耗低于预算的同时,对计算结点性能影响小,提高了结点的能耗效率。
附图说明
图1是本发明第一步构建的峰值功耗控制系统结构示意图。
图2是本发明基于协处理器负载确定处理器功耗阈值示意图。
图3是本发明总体流程图。
具体实施方式
图1是本发明构建的峰值功耗控制系统的结构示意图。异构并行计算结点包含处理器和协处理器两类执行设备。处理器内置功耗控制支持模块,并提供功耗控制接口。结点上协处理器驱动程序实时统计协处理器的利用率,并提供利用率查询接口。峰值功耗控制系统安装在异构并行结点中,在处理器上运行。峰值功耗控制系统包含结点功耗预算子系统、协处理器负载监控子系统和处理器功耗设置子系统三个软件模块,还设计了结点功耗描述文件来保存结点的相关功耗参数。结点功耗预算子系统接收用户输入Pbudget,从结点功耗描述文件读取结点功耗参数,计算Wco-th,并将Wco-th传递给协处理器负载监控子系统。协处理器负载监控子系统查询协处理器实时利用率,从结点功耗描述文件读取结点功耗参数,计算Pcpu-th,并将Pcpu-th传递给处理器功耗设置子系统。处理器功耗设置子系统从协处理器负载监控子系统获得Pcpu-th,基于处理器功耗控制接口,设置处理器的功耗阈值。
图2是本发明第4.1步中基于Wco来确定Pcpu-th的示意图。横坐标轴为Wco,取值范围为0~1,纵坐标轴为Pcpu-th。当Wco低于Wco-th时,结点功耗预算可以满足结点的用电需求,无需对处理器功耗加以控制,因此,Pcpu-th值对应的横坐标值从Wco-th开始。当Wco超过Wco-th时,为保障协处理器及结点中除处理器和协处理器之外的其它所有设备获得足够的功耗,并确保结点功耗不超过Pbudget,Pcpu-th为Pbudget减去协处理器功耗(P_IDLE_CO+(P_MAX_CO-P_IDLE_CO)×Wco)及结点中其它设备功耗P_MAX_OTHER后的剩余部分,即Pcpu-th=Pbudget-(P_IDLE_CO+(P_MAX_CO-P_IDLE_CO)×Wco)-P_MAX_OTHER。结合本发明第4.1步中Wco-th的计算公式,可知当Wco为Wco-th时,Pcpu-th为P_MAX_CPU。
图3是本发明总体的流程图,具体包括:
第一步,构建异构并行计算结点峰值功耗控制系统,包括结点功耗预算设置子系统、协处理器负载监控子系统和处理器功耗设置子系统等三个软件模块。
第二步,初始化结点功耗描述文件。
第三步,结点功耗预算设置子系统接收用户输入的Pbudget,判定Pbudget合法性,初始化THcpu为0,并计算触发结点功耗控制所对应的协处理器负载阈值Wco-th。
第四步,协处理器负载监控子系统查询协处理器利用率,计算Wco,并根据Wco与Wco-th的大小关系选择后续操作:
4.1如果Wco大于Wco-th,计算Pcpu-th,转第五步;
4.2如果Wco小于或等于Wco-th,则根据THcpu的当前值,进行不同的操作:
4.2.1如果THcpu为1,则将Pcpu-th赋值为-1,并转至第五步;
4.2.2如果THcpu为0,则检测用户是否输入新的Pbudget:
4.2.2.1如果用户输入新的Pbudget,转至第三步;
4.2.2.2如果用户没有输入新的Pbudget,转至第四步。
第五步,处理器功耗设置子系统设置处理器的功耗阈值:
5.1如果Pcpu-th等于-1,则操作处理器提供的功耗控制接口,停止功耗控制支持模块对处理器功耗的控制,设置THcpu为0,转第四步;
5.2如果Pcpu-th不等于-1,则操作处理器提供的功耗控制接口,设置处理器的功耗阈值为Pcpu-th并设置THcpu为1,启动处理器功耗控制支持模块对处理器功耗加以控制,转第四步。
Claims (1)
1.一种异构并行计算结点的峰值功耗控制方法,其特征在于包括以下步骤:
第一步,构建异构并行计算结点峰值功耗控制系统,该系统由结点功耗描述文件、结点功耗预算设置子系统、协处理器负载监控子系统、处理器功耗设置子系统组成;结点功耗描述文件保存结点的相关功耗参数,共包含6项,分别为处理器最大功耗值P_MAX_CPU、协处理器最大功耗值P_MAX_CO、协处理器空闲功耗值P_IDLE_CO、结点内除处理器和协处理器之外其它所有设备的功耗最大值P_MAX_OTHER、结点空闲功耗值P_IDLE_NODE、结点最大功耗值P_MAX_NODE;结点功耗预算设置子系统接收用户输入的结点功耗预算值Pbudget,读取保存在结点功耗描述文件中的相关功耗参数,计算触发功耗控制所对应的协处理器负载阈值Wco-th,并将Pbudget和Wco-th传递给协处理器负载监控子系统;协处理器负载监控子系统通过访问协处理器驱动程序提供的协处理器利用率查询接口来读取协处理器的实时利用率,从结点功耗描述文件读取结点的功耗参数,从结点功耗预算子系统获得Pbudget和Wco-th,计算处理器的功耗阈值Pcpu-th,并将Pcpu-th传递给处理器功耗设置子系统;处理器功耗设置子系统从协处理器负载监控子系统获得Pcpu-th,操作处理器功耗控制接口设置处理器的功耗阈值;
第二步,初始化结点功耗描述文件,查阅异构计算结点的功耗描述手册,获得结点的相关功耗参数,并将这些参数记录在结点功耗描述文件中;
第三步,结点功耗预算设置子系统设置结点功耗预算,方法是:
3.1接收用户设置的Pbudget,若P_IDLE_NODE≤Pbudget≤P_MAX_NODE,转3.2步;如果Pbudget小于P_IDLE_NODE,结点功耗预算设置子系统向用户返回错误信息,要求用户重新输入,转3.1;如果Pbudget大于P_MAX_NODE,则结点功耗预算设置子系统自动设置Pbudget为P_MAX_NODE,转3.2步;
3.2初始化处理器功耗阈值设置标记THcpu为0,THcpu为布尔值变量,取值为0或1,0表示未设置处理器功耗阈值,1表示已设置处理器功耗阈值;
3.3计算Pbudget对应的Wco-th,即
第四步,协处理器负载监控子系统查询协处理器的实时运行负载Wco,即所有协处理器核的平均利用率,其中,μt为协处理器核t的利用率,通过协处理器利用率查询接口查询得到,T为结点中协处理器核的个数;
4.1如果Wco大于Wco-th,则基于Wco计算Pcpu-th,Pcpu-th=Pbudget-(P_IDLE_CO+(P_MAX_CO-P_IDLE_CO)×Wco)-P_MAX_OTHER,转第五步;
4.2如果Wco小于或等于Wco-th,则:
4.2.1如果THcpu等于1,则将Pcpu-th值设为-1,转第五步;
4.2.2如果THcpu等于0,则检测用户是否输入新的Pbudget:
4.2.2.1如果用户输入新的Pbudget,转第三步;
4.2.2.2如果用户没有输入新的Pbudget,转第四步;
第五步,处理器功耗设置子系统设置处理器的功耗阈值:
5.1如果Pcpu-th等于-1,则操作处理器提供的功耗控制接口,停止功耗控制支持模块对处理器功耗的控制,设置THcpu为0,转第四步;
5.2如果Pcpu-th不等于-1,则操作处理器提供的功耗控制接口,设置处理器的功耗阈值为Pcpu-th并设置THcpu为1,启动处理器功耗控制支持模块对处理器功耗加以控制,转第四步;所述启动处理器功耗控制支持模块对处理器功耗进行控制的方法是:处理器功耗控制支持模块实时检测处理器功耗Pcpu,若发现Pcpu>Pcpu-th,则将处理器功耗降低为Pcpu-th,确保处理器功耗不超过Pcpu-th。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310560455.4A CN103559092B (zh) | 2013-11-12 | 2013-11-12 | 异构并行计算结点的峰值功耗控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310560455.4A CN103559092B (zh) | 2013-11-12 | 2013-11-12 | 异构并行计算结点的峰值功耗控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559092A CN103559092A (zh) | 2014-02-05 |
CN103559092B true CN103559092B (zh) | 2016-08-17 |
Family
ID=50013344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310560455.4A Active CN103559092B (zh) | 2013-11-12 | 2013-11-12 | 异构并行计算结点的峰值功耗控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559092B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445918B (zh) * | 2018-10-17 | 2021-06-18 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN112015259B (zh) | 2019-05-29 | 2022-06-21 | 芯原微电子(上海)股份有限公司 | 控制峰值功耗的方法及系统 |
CN113821396B (zh) * | 2020-06-18 | 2024-08-27 | 中车株洲电力机车研究所有限公司 | 处理器运行状态监视诊断方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116526A (zh) * | 2013-02-22 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 高性能异构并行计算机的最大功耗控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398403B2 (en) * | 2004-07-01 | 2008-07-08 | Matsushita Electric Industrial Co., Ltd. | Multiprocessor control apparatus, control method thereof, and integrated circuit |
-
2013
- 2013-11-12 CN CN201310560455.4A patent/CN103559092B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116526A (zh) * | 2013-02-22 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 高性能异构并行计算机的最大功耗控制方法 |
Non-Patent Citations (2)
Title |
---|
面向异构并行计算系统的流水线式压缩检查点;刘勇鹏;《电子学报》;20120215;第40卷(第2期);第223-229页 * |
高性能计算中处理器功耗特征的评测与分析;刘勇鹏 等;《计算机工程与科学》;20091115;第31卷(第11期);第103-105页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103559092A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101379453B (zh) | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 | |
US7930564B2 (en) | System and method for controlling processor low power states | |
CN100403229C (zh) | 桥接逻辑电源管理方法及装置 | |
US20130155081A1 (en) | Power management in multiple processor system | |
RU2010139638A (ru) | Энергосберегающее планирование потоков и динамическое использование процессоров | |
US20180210531A1 (en) | Bandwidth-aware multi-frequency performance estimation mechanism | |
CN101598969A (zh) | 基于等待时间准则的平台功率管理 | |
JP2009530709A5 (zh) | ||
WO2004063915A2 (en) | Data processing performance control | |
CN106970835B (zh) | 固定优先级资源受限系统层次能耗优化方法 | |
CN104216502A (zh) | 一种具有前瞻属性的SoC动态电压频率调节方法 | |
CN110795238B (zh) | 负载计算方法、装置、存储介质及电子设备 | |
CN103559092B (zh) | 异构并行计算结点的峰值功耗控制方法 | |
CN101697095B (zh) | 一种基于Linux嵌入式系统的动态电源管理的方法 | |
CN103914346A (zh) | 一种基于分组的实时操作系统双优先级任务调度节能方法 | |
CN103076868B (zh) | 电源管理方法及应用该方法的电子系统 | |
KR101655030B1 (ko) | 태스크 특성 기반의 여유시간 분배를 통한 동적 전압 주파수 스케일링 방법, 그 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램 및 그 매체 | |
KR101770736B1 (ko) | 응용프로그램의 질의 스케쥴링을 이용한 시스템의 소모전력 절감 방법 및 그 방법을 이용하여 소모전력을 절감하는 휴대단말기 | |
KR102060431B1 (ko) | 멀티 코어 시스템의 전력 관리 장치 및 방법 | |
CN101216727A (zh) | 嵌入式低功耗操作系统中动态频率调整的映射方法 | |
WO2014142847A1 (en) | Multi-core binary translation task processing | |
US9448617B2 (en) | Systems and methods for messaging-based fine granularity system-on-a-chip power gating | |
CN101604198B (zh) | 一种降低嵌入式系统功耗的方法 | |
CN111475008A (zh) | 一种供电模块工作模式的控制方法 | |
CN113254216A (zh) | 边缘计算模组及其功耗控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |