CN105911962A - 对气象数据处理模块进行负载均衡的优化方法 - Google Patents
对气象数据处理模块进行负载均衡的优化方法 Download PDFInfo
- Publication number
- CN105911962A CN105911962A CN201610065226.9A CN201610065226A CN105911962A CN 105911962 A CN105911962 A CN 105911962A CN 201610065226 A CN201610065226 A CN 201610065226A CN 105911962 A CN105911962 A CN 105911962A
- Authority
- CN
- China
- Prior art keywords
- mask
- match
- search
- extrap
- optimization method
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4144—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using multiplexing for control system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33334—Load balancing, distribution between processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种对气象数据处理模块进行负载均衡的优化方法主要对METGRID模块中的子函数search_extrap进行优化,以通过保存各个顶点的广度优先搜索的遍历记录来减少子函数search_extrap在广度优先搜索中迭代的次数,该优化方法包括以下步骤:创建一个子程序search_match_mask,用以遍历所有的顶点和保存遍历记录,该子程序主要实现search_extrap第一个for循环的功能;再对子函数search_extrap的代码进行相应修改。本发明有益效果:解决了METGRID负载不均衡的问题,提高了METGRID模块的计算速度,进而极大提升了IAP AGCM4.0与WRF耦合计算的效率。
Description
技术领域
本发明涉及数据处理大规模气候数据处理,特别涉及一种对气象数据处理模块进行负载均衡的优化方法。
背景技术
地球系统模式ESM是一个耦合的气候模式,能用来模拟地球在不同时期的气候状态,许多国家都开发了自己的地球系统模式。最著名的地球系统模式是通用地球系统模式CESM,主要由美国国家大气研究中心研发。中国科学院地球系统模式CAS-ESM由中国科学院大气物理研究所(IAP)研发而成。在CAS-ESM系统中,大气模式是IAP开发的大气环流模式IAP AGCM4.0,海洋模式是IAP开发的海洋模式LICOM2.0版本,陆面模式是北京师范大学开发的CoLM模式,陆冰模式是GLC模式,海冰模式是CICE4,大气化学模式是IAP开发的GEATM模式。
大气环流模式常用于模拟粗分辨率的全球气候,而区域气候模式用于模拟高分辨率区域的气候和地表特征。为了更好地模拟气候,许多研究使用全球模式降尺度来驱动区域模式。CAS-ESM实现了IAP AGCM4.0与WRF的在线耦合。通过耦合器CPL7,IAP AGCM4.0的输出用于驱动WRF,即IAP AGCM4.0在线地为WRF提供初始条件和侧边界条件。
在WRF中,METGRID(meteorological grid)模块主要功能是把大量中间格式的气象数据水平插值到计算网格中。METGRID支持的插值方法有:average_4pt、average_16pt、wt_average_4pt、wt_average_16pt、nearest_neighbor、four_pt、sixteen_pt、search_extrap和average_gcell,其中search_extrap是广度优先搜索插值。广度优先搜索插值方法具体的操作是:首先将源数据序列看作一个二维网格图,不管每个源数据点是否有效,都用一个顶点来表示;然后,从顶点(x, y)(该顶点缺失或被屏蔽)最邻近的一个顶点开始广度优先搜索,直到找到表示有效源数据点的一个顶点(不被屏蔽或不缺失)才停止;最后将该值赋给顶点(x, y)。这种广度优先搜索插值方法也可以被认为是寻找“最有效的近邻”。
使用64 个CPU核心运行CAS-ESM系统对美国南部大平原2000年3月份气旋形成过程进行初步模拟,模拟的时间段为2000年3月1日00时(世界标准时间UTC)至2000年3月6日00时,WRF模式端处理器划分形式是8×8。如图1所示,模拟过程中发现,整个CAS-ESM系统计算时间主要花费在WRF运算上。而在WRF模式中,METGRID和REAL模块的计算时间之和占WRF整个运行时间的80%以上。通过分析各进程执行METGRID所花费的时间,我们发现各进程METGRID的计算时间存在严重的负载不均衡。从0号进程到7号进程,METGRID的计算时间逐次递减。但是,从24号进程到31号进程,METGRID的计算时间先递减、后递增。虽然对于各个进程来说,METGRID的计算时间无统一规律,但是METGRID计算时间的不均衡确实存在。
因为METGRID的计算时间占WRF整体计算时间的比重较大,所以解决METGRID的负载不均衡问题对于提高WRF端的计算效率至关重要。通过进一步测试,发现子函数search_extrap造成了METGRID模块的负载不均衡。为了解决METGRID负载不均衡问题,只要解决search_extrap负载不均衡问题即可。
因此,为了解决METGRID负载不均衡的问题,本发明提出了一种对气象数据处理模块METGRID进行负载均衡的优化方法。
发明内容
本发明的目的是提供一种对气象数据处理模块进行负载均衡的优化方法,以解决search_extrap的负载不均衡问题,进而也解决了METGRID模块的负载不均衡问题。
本发明提出一种对气象数据处理模块进行负载均衡的优化方法,主要对METGRID模块中的子函数search_extrap进行优化,通过保存各个顶点的广度优先搜索的遍历记录来减少子函数search_extrap在广度优先搜索中迭代的次数。
进一步的,本发明所述的对气象数据处理模块进行负载均衡的优化方法包括以下步骤:创建一个子程序search_match_mask,用以遍历所有的顶点和保存遍历记录,该子程序主要实现search_extrap第一个for循环的功能;以及对子函数search_extrap的代码进行相应的修改。
函数search_extrap的主要功能是寻找一个非有效源数据点的最有效近邻,然后把该最有效近邻的值插值给该数据点。在第一次调用函数search_extrap之前,各个进程可以通过执行第一个for循环遍历所有的顶点,找到每个顶点对应的最有效近邻,然后保存该遍历记录。这样,每当调用search_extrap时,就可以直接从遍历记录中读取对应的记录,而不用再执行第一个for循环。在保持程序正确和模拟结果准确的前提下,通过保存各个顶点的广度优先搜索的遍历记录来减少子函数search_extrap在广度优先搜索中迭代的次数。通过这样的方式,可以有效地减少第一个for循环的内部迭代次数(或查找次数)。
本发明的有益效果为:根据此方法对METGRID模块进行优化后,METGRID模块负载不均衡问题得到一定程度上的解决;当使用64 CPU核心计算时,优化后的METGRID和REAL模块的计算速度比优化前大约快7.2倍,优化后的CAS-ESM总体计算速度提升217.53%。当用不同CPU 核心数进行试验时,具有类似的加速效果;说明该方法不但能解决METGRID 负载不均衡的问题,而且能大大提升METGRID模块的计算性能。
附图说明
图1为各进程执行子程序METGRID所花费的计算时间统计情况;
图2为各进程执行子程序METGRID和函数search_extrap所花费的计算时间比较情况;
图3为各进程的search_extrap内部循环的迭代次数统计情况,其中循环迭代总次数表示第一个和第二个for循环内部迭代总次数之和;
图4-1和图4-2为优化前后3月5日00时的累计降雨量(mm)模拟情况;
图5为各进程METGRID优化前后的计算时间比较情况。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明保护的范围。
本发明为了解决METGRID负载不均衡问题,对METGRID计算模块进行进一步测试,并统计了各个进程METGRID模块中子函数search_extrap的计算时间。如图2可知两点,一是各个进程执行search_extrap所花费的时间是不一样的,也存在严重的负载不均衡;二是各进程search_extrap计算时间的变化趋势与METGRID一致,并且其计算时间与METGRID几乎相当。因此,子函数search_extrap造成了METGRID模块的负载不均衡问题。为了解决METGRID负载不均衡的问题,只要解决search_extrap的负载不均衡即可。
函数search_extrap的主要功能是寻找一个非有效源数据点的最有效近邻,然后把该最有效近邻的值插值给该数据点。search_extrap的伪代码如表1所示。
表1为函数search_extrap的伪代码
从表1可知,函数search_extrap包括两个for循环。在search_extrap中,第一个和第二个for循环内部迭代总次数以及这两个循环内部迭代总次数之和如图3所示。在图3中,从0号进程到63号进程,search_extrap两个for循环内部迭代总次数的变化趋势与图1METGRID计算时间一致,所以造成METGRID负载不均衡的根本原因是search_extrap这两个for循环内部迭代的总次数不一致。另外,第二个for循环内部迭代的总次数相对比较少,而第一个for循环内部迭代的总次数几乎等于这两个for循环内部迭代总次数之和。因此,函数search_extrap第一个for循环最终导致了各进程METGRID负载不均衡。为了解决METGRID负载不均衡的问题,最好的方法是降低函数search_extrap第一个for循环的内部迭代总次数。
通过分析函数search_extrap的代码可知,各个进程的参数array(三维数组)是不同的,但是参数mask_array(二维数组)相同。通过测试发现,当可选参数mask_array和maskval存在时,表1中的判断条件(if (mask_array(i,j) /= maskval))对search_extrap第一个for循环的内部迭代次数有重大的影响。每当调用函数search_extrap时就执行第一个for循环代码一次,而第一个for循环代码被执行一次可能需要多次内部迭代,这样是没必要的。因此,在第一次调用函数search_extrap之前,各个进程可以通过执行第一个for循环遍历所有的顶点,找到每个顶点对应的最有效近邻,然后保存该遍历记录。这样,每当调用search_extrap时,就可以直接从遍历记录中读取对应的记录,而不用再执行第一个for循环。通过这样的方式,可以有效地减少第一个for循环的内部迭代次数(或查找次数)。某种程度上,METGRID负载不均衡的问题也能得到解决。
为此,首先需要创建一个子程序search_match_mask用以遍历所有的顶点和保存遍历记录。这个子程序主要目的是实现search_extrap第一个for循环的功能,后续再对函数search_extrap的代码进行相应的修改。
尽管各进程参数mask_array相同,但参数maskval不同。因为maskval的值是0或1,所以进行遍历需要分maskval=0或1两种情况。并且,在查找每个顶点最有效近邻时,不但要存储每个顶点对应的最有效近邻的坐标信息,还要存储遍历过程中用到的队列q(见表1)。因为在函数search_extrap第二个for循环中还需用到q。
本发明实施例所述的一种对气象数据处理模块METGRID进行负载均衡的优化方法,包括以下步骤:
1)创建6个二维数组形式的公共变量:match_mask_array0、match_mask_array0、 match_mask_queue0、match_mask_queue1、match_mask_found_valid0和match_mask_ found_valid1,其中,match_mask_array0用来存储maskval=0时每个顶点对应的最有效近邻的坐标;match_mask_array1用来存储maskval=1时每个顶点对应的最有效近邻的坐标;在搜索顶点最有效近邻时,match_mask_queue0用来存储maskval=0时的队列q;同理,match_mask_queue1用来存储maskval=1时的队列q;match_mask_found_valid0用来存储maskval=0时每个顶点是否找到最有效的近邻;match_mask_found_valid1用来存储maskval=1时每个顶点是否找到最有效的近邻。
2)子程序search_match_mask的详细算法实现如表2所示,在每个进程调用函数search_extrap之前,需要先调用子程序search_match_mask把遍历记录赋值给二维数组match_mask_array0、match_mask_array0、match_mask_queue0、match_mask_queue1、 match_mask_found_valid0和match_mask_found_valid1。
表2为子程序search_match_mask的伪代码
3)对函数search_extrap进行相应的修改,修改后的函数search_extrap如表3所示,主要是对search_extrap第一个for循环代码部分进行了修改,第二个for循环代码基本保持不变。
表3为优化后search_extrap的伪代码
为了验证METGRID优化后代码的正确性,对优化前后的模拟结果进行比较。这里,取3月5日00时的强降雨情况进行比较。优化前的强降雨情况如图4-1所示,优化后的则如图4-2所示。通过比较我们发现,图4-1和图4-2完全一样,证明了METGRID优化后的代码的正确性。同时,我们逐一比较了优化前后模式的输出数据,结果完全相同。
使用64个CPU核心对这5天的气旋形成事件进行模拟,优化前后各进程METGRID的计算时间如图5所示。从中可以看出,优化后不但在一定程度上解决了METGRID负载不均衡的问题,而且大量减少了METGRID的计算时间。同时,0号进程优化后METGRID的计算速度比优化前大约快11倍。如果对CAS-ESM进行为期更长时间的模拟,优化后的METGRID更能体现它的价值。
因为在WRF积分之前加了MPI同步操作,所以每个进程METGRID和REAL计算时间的总和是一样的。同样以上述为期5天的模拟为例,当对CAS-ESM系统使用不同CPU核心时,优化前后CAS-ESM、METGRID和REAL模块计算总时间的情况如表4所示。
表4为优化前后METGRID和REAL模块、CAS-ESM系统运行时间的比较情况
从表4可以得出:
1)优化前(Before optimizing)METGRID和REAL模块计算时间占CAS-ESM系统总计算时间的70%以上,比重较大。从侧面反映了对METGRID负载均衡优化的重要性。
2)同样是用64个CPU核心,优化后(After optimizing) METGRID和REAL模块的计算速度比优化前大约快7.2倍,优化后CAS-ESM总体计算速度提升217.53%。从而,进一步验证了我们提出的优化算法的高效性。
3)当用不同处理器个数重新运行CAS-ESM时,METGRID和REAL模块计算速度有类似的加速效果。
按照以上介绍,本发明完成了一种对气象数据处理模块METGRID进行负载均衡的方法。在METGRID模块中创建子程序search_match_mask用以遍历所有的顶点和保存遍历记录,每当调用search_extrap时,就可以直接从遍历记录中读取对应的记录,而不用再执行search_extrap的第一个for循环。通过这样的方式,可以有效地减少第一个for循环内部迭代的总次数。该方法解决了METGRID 模块负载不均衡的问题,并且提升了该模块和整个地球系统模式CAS-ESM的计算性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种对气象数据处理模块进行负载均衡的优化方法其特征在于:主要对METGRID模块中的子函数search_extrap进行优化,以通过保存各个顶点的广度优先搜索的遍历记录来减少子函数search_extrap在广度优先搜索中迭代的次数。
2.根据权利要求1所述的对气象数据处理模块进行负载均衡的优化方法其特征在于,该优化方法包括以下步骤:
创建一个子程序search_match_mask,用以遍历所有的顶点和保存遍历记录,该子程序主要实现search_extrap第一个for循环的功能;以及对子函数search_extrap的代码进行相应修改。
3.根据权利要求2所述的对气象数据处理模块进行负载均衡的优化方法其特征在于:在第一次调用函数search_extrap之前,各个进程可以通过执行第一个for循环遍历所有的顶点,找到每个顶点对应的最有效近邻,然后保存遍历记录。
4.根据权利要求3所述的对气象数据处理模块进行负载均衡的优化方法其特征在于:每当调用search_extrap时,就直接从所述遍历记录中读取对应的记录,不用再执行所述第一个for循环。
5.根据权利要求4所述的对气象数据处理模块进行负载均衡的优化方法其特征在于,创建6个二维数组形式的公共变量:match_mask_array0、match_mask_array0、match_mask_ queue0、match_mask_queue1、match_mask_found_valid0和match_mask_found_valid1,其中,match_mask_array0用来存储maskval=0时每个顶点对应的最有效近邻的坐标;match_ mask_array1用来存储maskval=1时每个顶点对应的最有效近邻的坐标;在搜索顶点最有效近邻时,match_mask_queue0用来存储maskval=0时的队列q;同理,match_mask_queue1用来存储maskval=1时的队列q;match_mask_found_valid0用来存储maskval=0时每个顶点是否找到最有效的近邻;match_mask_found_valid1用来存储maskval=1时每个顶点是否找到最有效的近邻。
6.根据权利要求5所述的对气象数据处理模块进行负载均衡的优化方法其特征在于,在每个进程调用函数search_extrap之前,需要先调用子程序search_match_mask把遍历记录赋值给二维数组match_mask_array0、match_mask_array0、match_mask_queue0、match_ mask_queue1、match_mask_found_valid0和match_mask_found_valid1。
7.根据权利要求6所述的对气象数据处理模块进行负载均衡的优化方法其特征在于:主要是对search_extrap第一个for循环代码部分进行了修改,第二个for循环代码基本保持不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610065226.9A CN105911962B (zh) | 2016-01-29 | 2016-01-29 | 对气象数据处理模块进行负载均衡的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610065226.9A CN105911962B (zh) | 2016-01-29 | 2016-01-29 | 对气象数据处理模块进行负载均衡的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105911962A true CN105911962A (zh) | 2016-08-31 |
CN105911962B CN105911962B (zh) | 2019-03-15 |
Family
ID=56744339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610065226.9A Active CN105911962B (zh) | 2016-01-29 | 2016-01-29 | 对气象数据处理模块进行负载均衡的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105911962B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054808A1 (en) * | 2011-08-31 | 2013-02-28 | International Business Machines Corporation | Management of storage cluster performance with hybrid workloads |
CN103336790A (zh) * | 2013-06-06 | 2013-10-02 | 湖州师范学院 | 基于Hadoop的邻域粗糙集快速属性约简方法 |
CN103973586A (zh) * | 2014-05-14 | 2014-08-06 | 江苏省无线电科学研究所有限公司 | 一种实现自动气象站无线组网负载平衡的方法 |
-
2016
- 2016-01-29 CN CN201610065226.9A patent/CN105911962B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054808A1 (en) * | 2011-08-31 | 2013-02-28 | International Business Machines Corporation | Management of storage cluster performance with hybrid workloads |
CN103336790A (zh) * | 2013-06-06 | 2013-10-02 | 湖州师范学院 | 基于Hadoop的邻域粗糙集快速属性约简方法 |
CN103973586A (zh) * | 2014-05-14 | 2014-08-06 | 江苏省无线电科学研究所有限公司 | 一种实现自动气象站无线组网负载平衡的方法 |
Non-Patent Citations (1)
Title |
---|
王玉柱等: "IAP AGCM4.0与WRF嵌套的并行机制研究", 《2014全国高性能计算学术年会论文集》 * |
Also Published As
Publication number | Publication date |
---|---|
CN105911962B (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fan et al. | Temporal and spatial change detecting (1998–2003) and predicting of land use and land cover in Core corridor of Pearl River Delta (China) by using TM and ETM+ images | |
Nair et al. | The mass-conservative cell-integrated semi-Lagrangian advection scheme on the sphere | |
KR101675778B1 (ko) | 화산재해 대응 의사결정 지원 시스템 | |
CN103871102B (zh) | 一种基于高程点和道路轮廓面的道路三维精细建模方法 | |
CN111080070A (zh) | 一种基于空间误差的城市土地利用模拟元胞自动机方法 | |
CN102057368B (zh) | 利用最大连续场在三维体积模型中分布性质 | |
CN104360896A (zh) | 一种基于gpu集群的并行流体仿真加速方法 | |
CN101976468A (zh) | 一种多分辨率动态地形可视化方法及系统 | |
CN114047770A (zh) | 一种多内心搜寻改进灰狼算法的移动机器人路径规划方法 | |
CN116774292B (zh) | 一种地震波走时确定方法、系统、电子设备及存储介质 | |
CN104574449A (zh) | 基于dem的投影面积计算方法 | |
CN112632874A (zh) | 一种直升机流场数值模拟的优化方法及系统 | |
CN111310344A (zh) | 一种林火蔓延模拟中考虑风场与火场耦合作用的方法 | |
Kao et al. | Using particle swarm optimization to establish a local geometric geoid model | |
CN109961129A (zh) | 一种基于改进粒子群的海上静止目标搜寻方案生成方法 | |
CN108509532B (zh) | 一种应用于地图的聚点方法和装置 | |
CN105678844A (zh) | 一种基于地物散乱点逐点增加的轮廓构建算法 | |
Dyken et al. | Semi‐Uniform Adaptive Patch Tessellation | |
CN104156268B (zh) | 一种GPU上MapReduce的负载分配和线程结构优化方法 | |
CN105911962A (zh) | 对气象数据处理模块进行负载均衡的优化方法 | |
Lettich et al. | Processing streams of spatial k-NN queries and position updates on manycore GPUs | |
CN108197613B (zh) | 一种基于深度卷积级联网络的人脸检测优化方法 | |
CN103150711A (zh) | 一种基于OpenCL的图像修复方法 | |
CN112419493B (zh) | 页岩储层三维属性模型建立方法及装置 | |
CN110765130B (zh) | 一种分布式环境下基于Ripley’s K函数的时空POI数据点模式分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |