CN103559092A - 异构并行计算结点的峰值功耗控制方法 - Google Patents
异构并行计算结点的峰值功耗控制方法 Download PDFInfo
- Publication number
- CN103559092A CN103559092A CN201310560455.4A CN201310560455A CN103559092A CN 103559092 A CN103559092 A CN 103559092A CN 201310560455 A CN201310560455 A CN 201310560455A CN 103559092 A CN103559092 A CN 103559092A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- node
- cpu
- coprocessor
- budget
- 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
Links
Images
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,即
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,即
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 true CN103559092A (zh) | 2014-02-05 |
CN103559092B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445918A (zh) * | 2018-10-17 | 2019-03-08 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN112015259A (zh) * | 2019-05-29 | 2020-12-01 | 芯原微电子(上海)股份有限公司 | 控制峰值功耗的方法及*** |
CN113821396A (zh) * | 2020-06-18 | 2021-12-21 | 中车株洲电力机车研究所有限公司 | 处理器运行状态监视诊断方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005056A1 (en) * | 2004-07-01 | 2006-01-05 | Shinichiro Nishioka | Multiprocessor control apparatus, control method thereof, and integrated circuit |
CN103116526A (zh) * | 2013-02-22 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 高性能异构并行计算机的最大功耗控制方法 |
-
2013
- 2013-11-12 CN CN201310560455.4A patent/CN103559092B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005056A1 (en) * | 2004-07-01 | 2006-01-05 | Shinichiro Nishioka | Multiprocessor control apparatus, control method thereof, and integrated circuit |
CN103116526A (zh) * | 2013-02-22 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 高性能异构并行计算机的最大功耗控制方法 |
Non-Patent Citations (2)
Title |
---|
刘勇鹏 等: "高性能计算中处理器功耗特征的评测与分析", 《计算机工程与科学》 * |
刘勇鹏: "面向异构并行计算***的流水线式压缩检查点", 《电子学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445918A (zh) * | 2018-10-17 | 2019-03-08 | Oppo广东移动通信有限公司 | 任务调度方法、装置、终端及存储介质 |
CN112015259A (zh) * | 2019-05-29 | 2020-12-01 | 芯原微电子(上海)股份有限公司 | 控制峰值功耗的方法及*** |
CN112015259B (zh) * | 2019-05-29 | 2022-06-21 | 芯原微电子(上海)股份有限公司 | 控制峰值功耗的方法及*** |
CN113821396A (zh) * | 2020-06-18 | 2021-12-21 | 中车株洲电力机车研究所有限公司 | 处理器运行状态监视诊断方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103559092B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhong et al. | Dynamic economic dispatch considering transmission losses using quadratically constrained quadratic program method | |
Krioukov et al. | Integrating renewable energy using data analytics systems: Challenges and opportunities. | |
Liu et al. | Sleepscale: Runtime joint speed scaling and sleep states management for power efficient data centers | |
CN103092316B (zh) | 一种基于数据挖掘的服务器功耗管理*** | |
CN103150003A (zh) | 信息处理***、该信息处理***的节电控制方法和装置 | |
CN104850488A (zh) | 虚拟机功耗测量和管理 | |
CN103488532A (zh) | 一种调整处理器频率的方法和设备 | |
CN105677000A (zh) | 动态电压频率调整的***及方法 | |
CN104460911A (zh) | 一种散热控制方法、装置及*** | |
US10101784B2 (en) | System and method for controlling energy usage in a server | |
CN102110040A (zh) | Bmc根据不同功率cpu来调整cpu报警温度的方法 | |
CN101794169B (zh) | 基于改变控制模式进行机群***能耗管控的方法 | |
Zou et al. | Resilient adaptive control based on renewal particle swarm optimization to improve production system energy efficiency | |
CN105577796A (zh) | 集群的功耗控制方法及装置 | |
CN103559092A (zh) | 异构并行计算结点的峰值功耗控制方法 | |
Xiang et al. | Run-time management for multicore embedded systems with energy harvesting | |
Gupta et al. | Minimizing power consumption by personal computers: A technical survey | |
Zhang et al. | GreenDRL: managing green datacenters using deep reinforcement learning | |
Li et al. | Chameleon: Adapting throughput server to time-varying green power budget using online learning | |
Terzopoulos et al. | Performance evaluation of a real-time grid system using power-saving capable processors | |
Shoukourian et al. | Predicting energy consumption relevant indicators of strong scaling hpc applications for different compute resource configurations | |
CN114825337A (zh) | 一种电网分布式电压控制分布式电源优选*** | |
CN103685541A (zh) | IaaS云***运行速率动态控制装置、***及方法 | |
Xiong et al. | Online power-aware deployment and load distribution optimization for application server clusters | |
CN103064504A (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 |