CN115033385A - 一种处理方法、装置及电子设备 - Google Patents
一种处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115033385A CN115033385A CN202210757216.7A CN202210757216A CN115033385A CN 115033385 A CN115033385 A CN 115033385A CN 202210757216 A CN202210757216 A CN 202210757216A CN 115033385 A CN115033385 A CN 115033385A
- Authority
- CN
- China
- Prior art keywords
- processor
- core
- cores
- application
- physical
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- 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
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提出了一种处理方法、装置及电子设备,在电子设备的操作系统运行应用时,可以向处理器发送能够表征该应用运行所需的处理器核心数量的核心调用指令,由处理器响应所获得的该核心调用指令,依据该处理器核心数量,灵活调整处理器的核心工作模式,这样,按照调整后的核心工作模式,执行该应用运行所创建的任务线程,可以充分利用处理器的所有核心参与计算,满足所需处理器核心数量不同的应用的使用需求,避免了处理资源浪费,大幅度提升了应用运行速度。
Description
技术领域
本申请主要涉及计算机应用领域,更具体地说是涉及一种处理方法、装置及电子设备。
背景技术
目前,为了提高电子设备的处理能力,通常使用多核处理器CPU,可以将每一个物理核心模拟成两个逻辑核心,通过多个任务线程,满足不同应用运行对逻辑核心(core,也称为内核或处理器)的使用需求。
其中,在实际应用中,操作系统确定应用运行所需的核心数量后,可以触发处理器调用对应数量的逻辑核心分配至该应用,跟踪处理该应用的多个任务线程。这样,在应用运行所需核心较少的情况下,未被分配的逻辑核心会被闲置,造成了CPU处理资源浪费。
发明内容
有鉴于此,本申请提供了一种处理方法,所述方法包括:
获得针对操作系统运行应用的核心调用指令;所述核心调用指令能够表征所述应用运行所需处理器核心数量;
响应所述核心调用指令,调整处理器的核心工作模式;其中,在不同所述核心工作模式下,所述处理器支持所述应用运行的核心数量不同;
按照调整后的核心工作模式,执行所述应用运行所创建的任务线程。
可选的,所述响应所述核心调用指令,调整处理器的核心工作模式,包括:
响应所述核心调用指令,确定与所述应用运行所需处理器核心数量对应的核心工作模式;
按照所确定的所述核心工作模式,将所述处理器具有的物理核心处理为至少一个逻辑核心;
所述按照调整后的核心工作模式,执行所述应用运行所创建的任务线程,包括:
由所得到的所述逻辑核心执行所述应用运行所创建的任务线程。
可选的,所述响应所述核心调用指令,调整处理器的核心工作模式,包括:
响应所述核心调用指令,获得所述应用的任务类型;所述任务类型由所述操作系统确定;
按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式;
其中,所述预设对应关系表征不同任务类型应用与处理器的不同核心工作模式之间的对应关系。
可选的,所述处理器的核心工作模式包括超线程工作模式和反向超线程工作模式,所述按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式,包括:
确定所述任务类型的应用运行所需的处理器核心数量;
若所需的处理器核心数量小于核心阈值,调整处理器进入所述反向超线程工作模式,将所述处理器具有的多个物理核心处理为所需的处理器核心数量的逻辑核心;所述核心阈值基于所述处理器具有的所述物理核心数量,以及每一个所述物理核心能够被处理成的所述逻辑核心数量确定;
若所需的处理器核心数量大于或等于所述核心阈值,调整处理器进入所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心,以使得所述处理器的逻辑核心数量大于或等于所需的处理器核心数量。
可选的,所述处理器的核心工作模式包括超线程工作模式和反向超线程工作模式,所述按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式,包括:
如果所述任务类型为单线程任务,调整处理器进入所述反向超线程工作模式,将所述处理器具有的多个物理核心处理为一个逻辑核心;
如果所述任务类型为多线程任务,调整处理器进入所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心。
可选的,所述将处理器具有的物理核心处理为一个或多个逻辑核心,包括:
对所述处理器具有的物理核心进行虚拟化处理,得到与所述操作系统运行应用所需处理器核心数量相同的一个或多个逻辑核心;或,
将处理器的所有物理核心封装为一个逻辑核心后挂载到总线上,以使所述操作系统能够感知到的一个逻辑核心;或,
对处理器的所有物理核心进行分组封装,将得到的多个逻辑核心挂载到总线上,以使所述操作系统能够感知到所述多个逻辑核心。
可选的,所述方法还包括:
接收所述操作系统发送的应用状态通知,确定所述单线程应用结束运行,调整所述处理器从所述反向超线程工作模式切换到所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心。
本申请还提出了一种处理装置,所述装置包括:
核心调用指令获得模块,用于获得针对操作系统运行应用的核心调用指令;所述核心调用指令能够表征所述应用运行所需处理器核心数量;
核心工作模式调整模块,用于响应所述核心调用指令,调整处理器的核心工作模式;在不同所述核心工作模式下,所述处理器支持所述应用运行的核心数量不同;
执行模块,用于按照调整后的核心工作模式,执行所述应用运行所创建的任务线程。
本申请还提出了一种电子设备,所述电子设备包括:
存储器,用于存储实现如上述的处理方法的程序;
处理器,所述处理器具有至少一个物理核心,用于加载执行所述存储器存储的所述程序,实现如上述的处理方法。
本申请还提出了一种计算机存储介质,其上存储有多个计算机指令,所述计算机指令被处理器执行,实现如上述的处理方法。
由此可见,本申请提出了一种处理方法、装置及电子设备,在电子设备的操作系统运行应用时,可以向处理器发送能够表征该应用运行所需的处理器核心数量的核心调用指令,由处理器响应所获得的该核心调用指令,依据该处理器核心数量,灵活调整处理器的核心工作模式,这样,按照调整后的核心工作模式,执行该应用运行所创建的任务线程,可以充分利用处理器所具有的所有逻辑核心,满足所需处理器核心数量不同的应用的使用需求,避免处理资源浪费的同时,提高应用运行速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为电子设备的一种处理器结构示意图;
图2为适用于本申请提出的处理方法的电子设备的一可选示例的硬件结构示意图;
图3为本申请提出的处理方法的一可选示例的流程示意图;
图4为本申请提出的处理方法的又一可选示例的流程示意图;
图5为本申请提出的处理方法的又一可选示例的流程示意图;
图6a为本申请提出的处理方法中,处理器处于反向超线程工作模式下的一可选结构示意图;
图6b为本申请提出的处理方法中,处理器处于反向超线程工作模式下的又一可选结构示意图;
图6c为本申请提出的处理方法中,处理器处于反向超线程工作模式下的又一可选结构示意图;
图6d为本申请提出的处理方法中,处理器处于超线程工作模式下的一可选结构示意图;
图7为本申请提出的处理方法的又一可选示例的流程示意图;
图8为本申请提出的处理装置的一可选示例的结构示意;
图9为本申请提出的处理装置的又一可选示例的结构示意;
图10为本申请提出的处理装置的又一可选示例的结构示意;
图11为本申请提出的处理装置的又一可选示例的结构示意。
具体实施方式
针对背景技术部分的描述,电子设备的多核处理器CPU可以采用超线程(Hyper-Threading,HT)技术,将每一个物理核心模拟为两个逻辑核心,这样,在一个逻辑核心跟踪处理一个任务线程(如执行浮点运算)时,另一个逻辑核心可以利用CPU的闲置资源,对另一个任务线程进行跟踪处理(如执行加法等整数运算),从而在每个时钟周期内完成更多工作,提高CPU的资源利用率以及相应的数据、指令的吞吐能力。
示例性的,如图1所示的处理器结构示意图,电子设备的CPU具有4个物理核心,利用HT技术可以将每一个物理核心(PhysicalCore)模拟成两个逻辑核心(Logic Core),这样,操作系统确定应用A运行需要N(8≥N≥1)个逻辑核心,处理器可以选择N个空闲的逻辑核心分配至该应用,运行N个任务线程,这种处理方式无法避免造成CPU处理资源浪费。
为了改善上述问题,本申请希望可以使用所有的逻辑核心来处理应用的任务线程,如将电子设备所具有的M个物理逻辑核心(如上述示例的4个Physical Core)处理为N个逻辑核心,分配至应用A运行N个任务线程,避免核心闲置造成处理资源浪费。基于此,在实际应用中,处理器CPU通过针对操作系统运行应用的核心调用指令,确定该应用运行所需处理器核心数量(即所需调用的逻辑核心数量)后,可以按照对应的核心工作模式(如HT工作模式,反向HT工作模式),对处理器具有的物理核心进行处理,由得到的逻辑核心执行该应用所创建的任务线程,满足不同应用对较多核心或较少核心的使用需求。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图2,为适用于本申请提出的处理方法的电子设备的一可选示例的硬件结构示意图,该电子设备可以是服务器,如独立的物理服务器、多台物理服务器构成的服务器集群,或者是能够实现云计算的云服务器等。在一些实施例中,该电子设备也可以是具有一定数据处理能够的用户终端,如台式计算机、机器人、平板电脑、智慧医疗设备、智慧交通设备、增强现实技术(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、车载设备、笔记本电脑等,可以依据场景需求确定电子设备产品类型。
如图2所示,该电子设备可以包括但并不局限于:至少一个存储器21和至少一个处理器22,其中:
存储器21可以用于存储实现下文各方法实施例描述的处理方法的程序;处理器22可以加载并执行存储器存储的该程序,以实现下文相应方法实施例描述的处理方法的各个步骤,具体实现过程可以参照下文实施例相应部分的描述,本实施例在此不做详述。
在实际应用中,存储器21和处理器22可以连接通信总线,通过该通信总线实现相互之间,以及与电子设备的其他结构(如接入通信总线的各种I/O(Input/Output,输入/输出)设备等)组成之间的数据交互,可以根据实际需求确定,本申请不做详述。
本申请实施例中,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器22,可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specificintegrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。本申请对上述存储器21和处理器22的结构及其型号不做限定,可以根据实际需求灵活调整。
应该理解的是,图2所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中,电子设备可以包括比图2所示的更多的部件,或者组合某些部件。示例性的,该电子设备还可以包括如感应触摸显示面板上的触摸事件的触摸感应单元、键盘、鼠标、摄像头、拾音器等至少一个输入组件;如显示器、扬声器、振动机构、灯等至少一个输出组件;天线;传感器模组;电源模组等,图2并未示出所列举的各输入组件和各输出组件,可以依据终端设备类型及其功能需求确定硬件结构,本申请在此不做一一列举。
参照图3,为本申请提出的处理方法的一可选示例的流程示意图,该方法可以由电子设备执行,如图3所示,该处理方法可以包括:
步骤S31,获得针对操作系统运行应用的核心调用指令;
结合上文对本申请技术方案的相关描述,在应用开发过程中会确定该应用运行所需处理器核心数量,这样,在电子设备的操作系统启动某一应用运行时,可以得知该应用运行所需处理器核心数量后,可以据此生成针对该应用的核心调用指令,将其发送至处理器,以请求满足应用的核心调用需求。可见,该核心调用指令能够表征该应用运行所需处理器核心数量,但本申请对该核心调用指令的内容及其生成方法不做限制。
步骤S32,响应该核心调用指令,调整处理器的核心工作模式;
本申请实施例中,在不同核心工作模式下,处理器所能够支持的应用运行的核心数量不同。结合上文对多核处理器的相关描述,处理器的不同核心工作模式下,对处理器具有的多个物理核心的模拟处理方式可以不同,如在第一核心工作模式下,处理器可以将每一个物理核心模拟处理为两个甚至更多数量的逻辑核心,以满足需要使用较多核心的应用运行需求;在第二核心工作模式下,处理器可以将多个物理核心模拟处理为较少数量甚至是一个逻辑核心,以满足需要使用较少核心的应用,甚至是单线程应用的运行需求的同时,实现对处理资源的充分利用,提高运行速度。
需要说明,本申请对处理器所支持的如上第一核心工作模式、第二核心工作模式的工作原理不做详述,可以结合超线程HT技术配置不同的核心工作模式,实现过程本申请实施例在此不做详述。
依据上述分析,处理器获得针对操作系统运行应用的核心调用指令后,通过解析该核心调用指令,确定该应用运行所需核心数量后,可以控制处理器进入对应的核心工作模式,按照该核心工作模式对应的处理方式,对处理器具有的各物理核心进行模拟处理,实现过程本申请实施例在此不做详述。
步骤S33,按照调整后的核心工作模式,执行该应用运行所创建的任务线程。
参照上文对处理器的不同核心工作模式的相关描述,若处理器处于第一核心工作模式(如超线程工作模式)下运行,可以将处理器具有的一个或多个物理核心处理成更多数量的逻辑核心;若处理器处于第二核心工作模式(如反向超线程工作模式)下运行,可以将处理器具有的多个物理核心模拟处理为更少数量的逻辑核心,本申请对这两种工作模式的处理方法不做详述。
可见,在处理器处于任一核心工作模式下,处理器的所有物理核心或其包含的所有逻辑核心都会参与应用运行,充分利用了处理器的可用处理资源,相对于仅一个或少量逻辑核心参与应用运行,本申请提出的这种处理方式大大提高运行速度。关于逻辑核心如何执行应用的任务线程,满足应用需求的实现过程,本申请实施例在此不做详述。
综上,在本申请实施例中,在电子设备的操作系统运行应用时,可以向处理器发送能够表征该应用运行所需的处理器核心数量的核心调用指令,由处理器响应所获得的该核心调用指令,依据该处理器核心数量,灵活调整处理器的核心工作模式,这样,按照调整后的核心工作模式,执行该应用运行所创建的任务线程,可以充分利用处理器所具有的所有逻辑核心,满足所需处理器核心数量不同的应用的使用需求,避免处理资源浪费的同时,提高应用运行速度。
参照图4,为本申请提出的处理方法的又一可选示例的流程示意图,该方法可以是对上文实施例描述的处理方法的一可选细化实现方式,但并不局限于本实施例描述的这种细化实现方法,且该细化实现方法仍可以由电子设备执行,如图4所示,该方法可以包括:
步骤S41,获得针对操作系统运行应用的核心调用指令;
结合上文实施例对应部分的描述,该核心调用指令能够表征应用运行所需处理器核心数量,该处理器核心数量通常是在应用开发过程中确定,该处理器核心数据的确定方法以及核心调用指令获取过程本申请在此不做详述。
步骤S42,响应该核心调用指令,确定与该应用运行所需处理器核心数量对应的核心工作模式;
参照上文对本申请处理器的核心工作模式的相关描述,由于不同核心工作模式下,处理器对所具有的各物理核心的处理方式不同,所得到的能够被操作系统检测到的逻辑核心数量不同,所能够满足的操作系统运行的应用类型不同。所以说,电子设备所启动的应用运行所需处理器核心数量,与处理器需要进入的核心工作模式之间具有一定的关联关系,可以依据该关联关系,实现对处理器核心的动态管理,满足不同应用运行需求。
因此,处理器通过获得的核心调用指令,确定操作系统运行应用所需的处理器核心数量后,可以依据上述关联关系,确定与该处理器核心数量对应的核心工作模式,本申请对该关联关系的表示方式及其确定方法不作限制,且处理器的核心工作模式包括但并不局限于上文描述的两种核心工作模式,可以依据实际情况配置核心工作模式的数量及其工作原理,以及各核心工作模式下处理器所模拟出的逻辑核心数量,本申请实施例在此不做详述。
示例性的,该应用所需的处理器核心数量较少,如所需的处理器核心数量小于核心阈值的情况下,为了充分利用处理器的所有逻辑核心,可以控制处理器进入反向超线程工作模式。反之,若应用所需的处理器核心数量较多,如大于或等于该核心阈值的情况下,为了提高应用运行速度,在相同时间内完成更多工作,可以控制处理器进入超线程工作模式运行。
步骤S43,按照所确定的核心工作模式,将处理器具有的物理核心处理为至少一个逻辑核心;
步骤S44,由所得到的逻辑核心执行该应用运行所创建的任务线程。
按照上文描述的方法确定处理器所处的核心工作模式后,处理器可以按照该核心工作模式对应的工作原理,对该处理器所具有的物理核心进行模拟处理,得到与该核心工作模式对应个数的逻辑核心。本申请对该如何将处理器所具有的所有物理核心模拟为至少一个逻辑核心的实现过程不做详述。
示例性的,参照上图1所述的处理器结构,按照第一核心工作模式,可能需要将处理器所具有的4个物理核心模拟处理为8个甚至更多或更少(这可以依据应用运行所需核心数量确定)的逻辑核心,或者按照第二核心工作模式,可能需要将处理器所具有的4个物理核心模拟处理为3/2/1个逻辑核心,以执行应用运行所创建的多个任务线程。
可见,本申请实施例中,处理器可以依据操作系统运行应用实际所需的处理器核心数量,进入对应的核心工作模式,将所具有的所有物理核心模拟处理为对应数量的逻辑核心,由每一个逻辑核心执行该应用所创建的一个任务线程,满足不同线程应用的核心使用需求,提高应用运行速度的同时,充分利用处理资源,避免了部分核心闲置所造成的处理资源浪费。
参照图5,为本申请提出的处理方法的又一可选示例的流程示意图,该方法可以是对上文实施例描述的处理方法的又一可选细化实现方式,如图5所示,该方法可以包括:
步骤S51,获得针对操作系统运行应用的核心调用指令;
其中,该核心调用指令能够表征该应用运行所需处理器核心数量,该处理器核心数量可以是大于或等于1,且小于或等于处理器所能够模拟的逻辑核心最大数量,本申请其数值不作限制,可视情况而定。
步骤S52,响应该核心调用指令,获得该应用的任务类型;
步骤S53,确定该任务类型的应用运行所需的处理器核心数量;
本申请实施例中,电子设备中各应用所属的任务类型通常可以在任务执行前由操作系统确定,如可以在应用开发阶段或后期升级过程中,确定该应用属于什么任务类型,如N线程应用,N为正整数,本申请对应用的各任务类型及其表示方式不作限制。
对于已知任务类型的任一应用被启动后,操作系统可以将包含该应用所需处理器核心数量的核心调用指令发送至处理器;也可以由处理器记录应用的不同任务类型与应用所需处理器核心数量之前的关联关系,这样,在处理器接收到针对操作系统所运行应用的核心调用指令后,可以依据该应用的应用标识等信息,确定该应用所属的任务类型,之后,利用该关联关系,确定属于该任务类型的应用所需调用的处理器核心数量等,本申请对应用的任务类型及其所需的处理器核心数量的获取方法不做限制。
在本申请提出的一些实施例中,在确定应用的任务类型后,可以调用能够表征不同任务类型应用与处理器的不同核心工作模式之间的对应关系,从而按照预设对应关系,调整处理器进入与该任务类型对应的核心工作模式,之后,可以参照下文描述的各核心工作模式的处理过程,对处理器的物理核心进行化处理,至少得到所需数量的逻辑核心,实现过程本实施例在此不做详述。
步骤S54,检测该处理器核心数量是否小于核心阈值,如果是,进入步骤S55;如果否,执行步骤S56;
参照上文对处理器的不同核心工作模式的相关描述,为了充分利用处理器的处理资源,避免核心闲置造成处理资源浪费,对于操作系统运行应用所需的处理器核心数量不同,可能需要处理器进入不同的核心工作模式,按照对应的处理方式,对处理器所具有的各物理核心进行模拟处理。
因此,为了确定针对操作系统运行应用的核心工作模式,可以分析不同核心工作模式之间的差异,预先确定用于区分不同核心工作模式对应的逻辑核心的核心阈值,这样,通过该应用运行所需处理器核心数量与该核心阈值进行比较,来确定处理器应该进入哪种核心工作模式下工作。
需要说明,上述核心阈值可以基于处理器具有的物理核心数量,以及每一个物理核心能够被处理成的逻辑核心数量确定,本申请对上述核心阈值的数值不做限制,可视情而定。
步骤S55,调整处理器进入反向超线程工作模式,将处理器具有的多个物理核心处理为所需的处理器核心数量的逻辑核心;
继上文描述,在确定应用运行所需的处理器核心数量小于核心阈值的情况下,可以认为该应用所需的处理器核心数量较少,如单线程应用、双线程应用、三线程应用等,若处理器仍将一个物理核心模拟成两个甚至更多个逻辑核心,调取对应数量的逻辑核心分配至该应用,将会导致其他未被分配的逻辑核心闲置,造成处理器的处理资源浪费,也会影响应用运行速度,影响处理器的数据、指令的吞吐能力。
为了改善上述问题,本申请实施例提出在确定应用运行所需的处理器核心数量小于核心阈值时,结合超线程技术的工作原理,即将处理器的每一个物理核心模拟处理为2个或更多个逻辑核心,由于此时需要展示给操作系统的逻辑核心数量较少,可以控制处理器进入反向超线程工作模式,采用与该超线程技术的工作原理的逆向处理方式,将处理器具有的多个物理核心模拟处理为较少数量的逻辑核心,如所得逻辑核心数量小于处理器所具有的物理核心数量,但与应用运行所需的处理器核心数量一致,这样,处理器的所有物理核心及其模拟得到的所有逻辑核心都会参与应用的线程执行任务,大大提高了应用运行速度,且避免了处理资源浪费。
示例性的,在如图1所示的处理器结构下,操作系统通知处理器进入反向超线程工作模式后,若应用运行需要使用两个核心,如图6a所示,可以将2个物理核心模拟为1个逻辑核心(如图6a中虚线框表示的一个逻辑核心);或者,如图6b所述,本申请也可以将所有物理核心中的3个物理核心模拟为1个逻辑核心,将剩余的一个物理核心模拟为一个逻辑核心,以使得操作系统可以感知到2个逻辑核心,支持这类应用运行;当然,根据应用需求,如单线程应用,如图6c所示,也可以将四个物理核心模拟处理为1个逻辑核心,更好地满足单线程应用的运行系统。需要说明,关于处理器的物理核心的反向超线程处理方法,包括但并不局限于本实施例描述的处理过程。
步骤S56,调整处理器进入超线程工作模式,将处理器具有的一个物理核心处理为多个逻辑核心,以使得处理器的逻辑核心数量大于或等于所需的处理器核心数量;
按照上述检测方式,确定应用运行所需处理器核心数量大于或等于核心阈值,说明该应用运行占用核心数量较多,往往大于处理器所具有的物理核心数量,为了满足这类应用的核心使用需求,可以调整处理器进入超线程工作模式,从而将该处理器具有的每一个物理核心模拟处理为多个逻辑核心,使得该处理器能够提供足够多的逻辑核心,满足这类应用对核心调用需求。
在实际应用中,控制处理器进入超线程工作模式后,处理器可以按照应用运行所需的处理器核心数量,将所具有的物理核心模拟处理为对应数量的逻辑核心,在如参照图1所示的处理器结构下,应用运行需要占用8个核心,处理器可以利用超线程技术,如图6d所示,将四个物理核心中的每一个物理核心模拟处理为两个逻辑核心,从而得到8个逻辑核心,将其分配至该应用;若应用运行需要占用12个核心,处理器可以将每一个物理核心模拟处理为3个逻辑核心,得到该应用所需的12个逻辑核心,也不会造成处理资源浪费。
需要说明,在对处理器的每一个物理核心进行模拟处理过程中,并不一定要求各物理核心所模拟得到的逻辑核心数量相同,得到与物理核心数量成倍数关系的逻辑核心;在一些实施例中,对于处理器的不同物理核心,可以分别模拟处理为不同数量的逻辑核心,如物理核心1可以模拟处理为2个逻辑核心,物理核心2可以模拟处理为3个逻辑核心,物理核心3可以模拟为4个逻辑核心等,可依据应用所需核心数量确定,本申请对各物理核心的虚拟化处理过程不做详述,可以参照但并不局限于超线程技术的工作原理。
步骤S57,由处理得到的逻辑核心执行该应用运行所创建的任务线程。
综上,在本申请实施例中,基于不同的应用对运行处理器核心数量的需求,动态管理处理器的核心工作模式,当应用通过操作系统调用处理器能够提供的最大数量(或较多数量,即至少超过物理核心数量)逻辑核心时,说明该应用主要运行在处理器的多核心(multi-core)模式,可以将处理器的核心工作模式切换为超线程工作模式;当应用通过操作系统调用处理器所能够提供的较少处理器核心数量(如只需要调用1或2个CPU),可以控制处理器切换到反向超线程工作模式,使得更多的物理核心甚至全部物理核心同时去完成该较少数量核心完成的工作,将CPU处理器性能利用最大化,提高应用运行速度。
参照图7,为本申请提出的处理方法的又一可选示例的流程示意图,该方法可以是对上文实施例描述的处理方法的又一可选细化实现方式,如图7所示,该方法可以包括:
步骤S71,获得针对操作系统运行应用的核心调用指令;
其中,该核心调用指令能够表征该应用运行所需处理器核心数量。
步骤S72,响应该核心调用指令,获得该应用的任务类型;
关于步骤S71和步骤S72的实现过程,可以参照上文实施例对应部分的描述,本实施例在此不做详述。
步骤S73,如果该任务类型为多线程任务,调整处理器进入超线程工作模式,将处理器具有的一个物理核心处理为多个虚拟逻辑核心;
步骤S74,由这多个虚拟逻辑核心分别执行多线程应用运行所创建的多个任务线程;
在实际应用中,用户启动电子设备的某一应用(本申请是指应用程序APP)运行,操作系统可以预判该应用是单线程(Singlei-Threading,ST)应用,还是多线程(Multi-Threading)应用,这通常是应用开发设计时确定。之后,可以依据检测预判结果,向处理器发送针对该应用的核心调用指令,或者操作系统确定运行应用为多线程应用或单线程应用后,再向处理器发送针对该应用的任务类型的核心调用指令,以使处理器得知操作系统运行的应用的任务类型,如多线程任务或单线程任务等。
需要说明,在本申请实施例中,上述多线程任务/应用是指所需处理器核心数量较多的应用,如在图1所示的处理器架构下,多线程应用运行所创建的任务线程数量可以大于4,如8线程应用等。因此,在确定启动的应用属于多线程应用的情况下,操作系统生成对应的核心调用指令发送至处理器,以通知处理器切换到超线程工作模式。
在处理器处于超线程工作模式下,参照图6d所示的处理器结构示意图,可以对处理器具有的物理核心进行虚拟化处理,得到与操作系统运行应用所需处理器核心数量相同的多个逻辑核心,以使得该应用运行所创建的每一个任务线程分配一个逻辑核心,充分利用处理器的处理资源,提高处理器的核心利用率以及相应数据、指令的吞吐能力。
步骤S75,如果该任务类型为单线程任务,调整处理器进入反向超线程工作模式,将处理器具有的多个物理核心处理为一个逻辑核心;
步骤S76,由该逻辑核心执行单线程应用运行所创建的单任务线程;
继上文描述,对应如Cinebench(一套CPU和显卡测试系统)这种单线程测试程序,通常只需要调用一个处理器核心运行,这样,面对如图1所示的处理器结构,为了避免处理资源浪费,本申请在处理器架构所具有的超线程功能基础上,对该处理器CPU增加配置了反向超线程功能,在操作系统OS的配合下,确定所运行的应用属于单线程应用,可以通知处理器进入反向超线程工作模式,从而利用处理器配置的反向超线程功能,对该处理器具有的所有物理核心进行虚拟化处理,将所有的物理核心模拟成一个逻辑核心,即得到操作系统运行应用所需处理器核心数量相同的一个逻辑核心,实现过程可以结合超线程技术的工作原理逆向处理方法,本实施例在此不做详述。
在一些实施例中,电子设备装配的多核心处理器CPU可以包括封装多核和原生多核,封装多核是指将多个核心直接封装在一起,得到一个逻辑核心挂载于电子设备的总线上;原生多核的每个核心之间是完全独立的,分别挂载于电子设备的总线上,避免冲突,降低性能损失。基于此,参照封装多核原理,本申请为了将处理器所具有的各物理核心处理为一个逻辑核心,可以将处理器的所有物理核心封装为一个逻辑核心后挂载到总线上,以使操作系统能够感知到的一个逻辑核心,用于执行单线程应用。
同理,在如上文实施例描述的所启动运行的应用所需处理器核心数量较少的情况下,如所需2个处理器核心,操作系统通知处理器切换到反向超线程工作模式,可以对处理器所具有的多个物理核心进行分组封装,得到对应的多个(本实施例以应用运行所需2个处理器核心为例进行说明)逻辑核心,如将4个物理核心分成两组(如图6a所示,将2个物理核心分为一组;或如图6b所示,一个物理核心为一组,另外三个物理核心为另一组),将一组物理核心封装为一个逻辑核心,将封装后的逻辑核心挂载于总线,以使得操作系统能够感知到两个逻辑核心,将其分配至所运行的2线程应用,充分利用处理器的所有处理资源,短时提升处理器处理应用的性能,甚至能够将CPU性能利用率达到最大化,从而大幅度提高该应用的运行速度。
应该理解,在电子设备的其他处理器架构下,由于处理器所具有的物理核心数量不同,对其进行虚拟化处理,所能够得到的逻辑核心可以不同,以使用全部的处理器核心,满足多种线程应用的核心使用需求。关于将多个物理核心(可以依据各物理核心的性能/可用处理资源等信息,对所有物理核心进行平均或不平均分组)封装为一个逻辑核心的虚拟化处理过程,可以参照上文对应部分的描述;对于将一个物理核心模拟为多个逻辑核心的虚拟化处理过程,可以参照上文超线程技术的描述,本实施例在此不做赘述。
由上述分析可知,电子设备的处理器架构不仅支持将一个物理核心模拟为两个甚至更多个逻辑核心,且支持将两个或更多个物理核心模拟为一个逻辑核心,使得该处理器架构支持的指令集包括超线程指令集和反向超线程指令集,通过针对处理器核心工作模式的管理控制单元,实现超线程工作模式与反向超线程工作模式之间的动态切换管理。关于如何依据应用对运行处理器核心数量的需求,对处理器核心工作模式的动态切换实现过程,可以参照上文实施例对应部分的描述。
步骤S77,接收操作系统发送的应用状态通知;
步骤S78,依据该应用状态通知,确定单线程应用结束运行,调整处理器从反向超线程工作模式切换到超线程工作模式,将处理器具有的一个物理核心处理为多个逻辑核心。
在电子设备启动运行单线程应用运行过程中,操作系统可以监测该应用所需处理器核心数量的变化情况,以便在所需处理器核心数量改变后,及时通知处理器切换核心工作模式,满足应用的实际需求。
在实际应用中,很多应用程序运行所需处理器核心数量较多,可以将处理器的核心工作模式默认为超线程工作模式,这样,在单线程应用运行过程中,操作系统可以检测该应用的运行状态信息,由此得知该应用的实时运行状态,确定应用运行结束时,可以将表征该应用运行结束的应用状态通知发送至处理器,在处理器接收到该应用状态通知后,可以将当前所处的反向超线程工作模式切换到超线程工作模式。关于应用状态监测以及通知获取方法本申请在此不做详述。
同理,在上述多线程应用运行过程中,也可以按照但并不局限于上文描述的方法,监测应用运行过程中所需处理器核心数量的变化情况,确定从多线程任务切换为单线程任务运行,可以按照上文描述方法,通知处理器切换到反向超线程工作模式处理,实现过程可以参照上文实施例对应部分的描述,本实施例在此不做详述。
综上,在本申请实际应用中,操作系统确定应用运行所需的处理器核心数量后,可以通过与预设的核心阈值进行比较,来通知处理器动态切换到对应的核心工作模式,超线程工作模式或反向超线程工作模式,从而将处理器所具有的所有物理核心处理器应用运行所需数量的逻辑核心,执行该应用的任务线程,这种将所有物理核心都参与应用计算的处理方法,提升了处理资源利用率,大幅度提高了应用运行速度。
参照图8,为本申请提出的处理装置的一可选示例的结构示意,该装置可以包括:
核心调用指令获得模块81,用于获得针对操作系统运行应用的核心调用指令;所述核心调用指令能够表征所述应用运行所需处理器核心数量;
核心工作模式调整模块82,用于响应所述核心调用指令,调整处理器的核心工作模式;在不同所述核心工作模式下,所述处理器支持所述应用运行的核心数量不同;
执行模块83,用于按照调整后的核心工作模式,执行所述应用运行所创建的任务线程。
在一些实施例中,如图9所示,上述核心工作模式调整模块82可以包括:
核心工作模式确定单元821,用于响应所述核心调用指令,确定与所述应用运行所需处理器核心数量对应的核心工作模式;
核心虚拟化处理单元822,用于按照所确定的所述核心工作模式,将所述处理器具有的物理核心处理为至少一个逻辑核心;
基于此,如图9所示,上述执行模块83可以包括:
第一执行单元831,用于由所得到的所述逻辑核心执行所述应用运行所创建的任务线程。
在又一些实施例中,如图10所示,上述核心工作模式调整模块82也可以包括:
任务类型获得单元823,用于响应所述核心调用指令,获得所述应用的任务类型;所述任务类型由所述操作系统确定;
核心工作模式调整单元824,用于按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式;
其中,所述预设对应关系表征不同任务类型应用与处理器的不同核心工作模式之间的对应关系。
可选的,上述处理器的核心工作模式包括超线程工作模式和反向超线程工作模式,如图11所示,上述核心工作模式调整单元824可以包括:
处理器核心数量确定单元8241,用于确定所述任务类型的应用运行所需的处理器核心数量;
第一处理单元8242,用于在所需的处理器核心数量小于核心阈值的情况下,调整处理器进入所述反向超线程工作模式,将所述处理器具有的多个物理核心处理为所需的处理器核心数量的逻辑核心;
其中,上述核心阈值可以基于所述处理器具有的所述物理核心数量,以及每一个所述物理核心能够被处理成的所述逻辑核心数量确定;
第二处理单元8243,用于在所需的处理器核心数量大于或等于所述核心阈值的情况下,调整处理器进入所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心,以使得所述处理器的逻辑核心数量大于或等于所需的处理器核心数量。
在又一些实施例中,上述核心工作模式调整单元824也可以包括:
第三处理单元,用于在上述任务类型为单线程任务,调整处理器进入所述反向超线程工作模式,将所述处理器具有的多个物理核心处理为一个逻辑核心;
第四处理单元,用于在上述所述任务类型为多线程任务,调整处理器进入所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心。
基于上文各实施例描述的处理装置,上述各处理单元可以包括:
第一化处理单元,用于对所述处理器具有的物理核心进行化处理,得到与所述操作系统运行应用所需处理器核心数量相同的一个或多个逻辑核心;或者,
第一封装处理单元,用于将处理器的所有物理核心封装为一个逻辑核心后挂载到总线上,以使所述操作系统能够感知到的一个逻辑核心;
第二封装处理单元,用于对处理器的所有物理核心进行分组封装,将得到的多个逻辑核心挂载到总线上,以使所述操作系统能够感知到所述多个逻辑核心。
可选的,上述处理装置还以包括:
应用状态通知接收模块,用于接收所述操作系统发送的应用状态通知;
核心工作模式恢复模块,用于依据应用状态通知,确定所述单线程应用结束运行,调整所述处理器从所述反向超线程工作模式切换到所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心。
需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
本申请还提供了一种计算机可读存储介质,其上可以存储有多个计算机指令,该计算机指令可以被处理器调用并加载,以实现上述实施例描述的处理方法的各个步骤。
最后,需要说明的是,关于上述各实施例中,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请涉及到的术语诸如“第一”、“第二”等仅用于描述目的,用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
另外,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、电子设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种处理方法,所述方法包括:
获得针对操作系统运行应用的核心调用指令;所述核心调用指令能够表征所述应用运行所需处理器核心数量;
响应所述核心调用指令,调整处理器的核心工作模式;其中,在不同所述核心工作模式下,所述处理器支持所述应用运行的核心数量不同;
按照调整后的核心工作模式,执行所述应用运行所创建的任务线程。
2.根据权利要求1所述的方法,所述响应所述核心调用指令,调整处理器的核心工作模式,包括:
响应所述核心调用指令,确定与所述应用运行所需处理器核心数量对应的核心工作模式;
按照所确定的所述核心工作模式,将所述处理器具有的物理核心处理为至少一个逻辑核心;
所述按照调整后的核心工作模式,执行所述应用运行所创建的任务线程,包括:
由所得到的所述逻辑核心执行所述应用运行所创建的任务线程。
3.根据权利要求1所述的方法,所述响应所述核心调用指令,调整处理器的核心工作模式,包括:
响应所述核心调用指令,获得所述应用的任务类型;所述任务类型由所述操作系统确定;
按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式;
其中,所述预设对应关系表征不同任务类型应用与处理器的不同核心工作模式之间的对应关系。
4.根据权利要求3所述的方法,所述处理器的核心工作模式包括超线程工作模式和反向超线程工作模式,所述按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式,包括:
确定所述任务类型的应用运行所需的处理器核心数量;
若所需的处理器核心数量小于核心阈值,调整处理器进入所述反向超线程工作模式,将所述处理器具有的多个物理核心处理为所需的处理器核心数量的逻辑核心;所述核心阈值基于所述处理器具有的所述物理核心数量,以及每一个所述物理核心能够被处理成的所述逻辑核心数量确定;
若所需的处理器核心数量大于或等于所述核心阈值,调整处理器进入所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心,以使得所述处理器的逻辑核心数量大于或等于所需的处理器核心数量。
5.根据权利要求3所述的方法,所述处理器的核心工作模式包括超线程工作模式和反向超线程工作模式,所述按照预设对应关系,调整处理器进入与所述任务类型对应的核心工作模式,包括:
如果所述任务类型为单线程任务,调整处理器进入所述反向超线程工作模式,将所述处理器具有的多个物理核心处理为一个逻辑核心;
如果所述任务类型为多线程任务,调整处理器进入所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心。
6.根据权利要求2或4或5所述的方法,所述将处理器具有的物理核心处理为一个或多个逻辑核心,包括:
对所述处理器具有的物理核心进行虚拟化处理,得到与所述操作系统运行应用所需处理器核心数量相同的一个或多个逻辑核心;或,
将处理器的所有物理核心封装为一个逻辑核心后挂载到总线上,以使所述操作系统能够感知到的一个逻辑核心;或,
对处理器的所有物理核心进行分组封装,将得到的多个逻辑核心挂载到总线上,以使所述操作系统能够感知到所述多个逻辑核心。
7.根据权利要求5所述的方法,所述方法还包括:
接收所述操作系统发送的应用状态通知,确定所述单线程应用结束运行,调整所述处理器从所述反向超线程工作模式切换到所述超线程工作模式,将所述处理器具有的一个物理核心处理为多个逻辑核心。
8.一种处理装置,所述装置包括:
核心调用指令获得模块,用于获得针对操作系统运行应用的核心调用指令;所述核心调用指令能够表征所述应用运行所需处理器核心数量;
核心工作模式调整模块,用于响应所述核心调用指令,调整处理器的核心工作模式;在不同所述核心工作模式下,所述处理器支持所述应用运行的核心数量不同;
执行模块,用于按照调整后的核心工作模式,执行所述应用运行所创建的任务线程。
9.一种电子设备,所述电子设备包括:
存储器,用于存储实现如权利要求1-7任一项所述的处理方法的程序;
处理器,所述处理器具有至少一个物理核心,用于加载执行所述存储器存储的所述程序,实现如权利要求1-7任一项所述的处理方法。
10.一种计算机存储介质,其上存储有多个计算机指令,所述计算机指令被处理器执行,实现如权利要求1-7任一项所述的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210757216.7A CN115033385A (zh) | 2022-06-30 | 2022-06-30 | 一种处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210757216.7A CN115033385A (zh) | 2022-06-30 | 2022-06-30 | 一种处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115033385A true CN115033385A (zh) | 2022-09-09 |
Family
ID=83127884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210757216.7A Pending CN115033385A (zh) | 2022-06-30 | 2022-06-30 | 一种处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115033385A (zh) |
-
2022
- 2022-06-30 CN CN202210757216.7A patent/CN115033385A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400008B (zh) | 计算资源调度方法、装置及电子设备 | |
US9946563B2 (en) | Batch scheduler management of virtual machines | |
US11681544B2 (en) | Interference-aware scheduling service for virtual GPU enabled systems | |
US10360050B2 (en) | Simulation of high performance computing (HPC) application environment using virtual nodes | |
US11755385B2 (en) | Cross-cluster load balancer | |
US11579908B2 (en) | Containerized workload scheduling | |
CN107025135B (zh) | Docker容器内应用进程管理方法、装置和介质 | |
CN112364897B (zh) | 分布式训练方法及装置、存储介质及电子设备 | |
CN111831410A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN110401700A (zh) | 模型加载方法及系统、控制节点及执行节点 | |
Kang et al. | ConVGPU: GPU management middleware in container based virtualized environment | |
US20200341789A1 (en) | Containerized workload scheduling | |
CN111459647B (zh) | 基于嵌入式操作系统的dsp多核处理器并行运算方法及装置 | |
CN113326226A (zh) | 一种虚拟化的方法、装置、板卡及计算机可读存储介质 | |
Galante et al. | A programming-level approach for elasticizing parallel scientific applications | |
WO2019117767A1 (en) | Method, function manager and arrangement for handling function calls | |
US20230185595A1 (en) | Method for realizing live migration, chip, board, and storage medium | |
KR20120083000A (ko) | 병렬 제어 모듈을 동적으로 할당하는 방법 | |
CN111459648B (zh) | 面向应用程序的异构多核平台资源优化方法和装置 | |
CN112766470B (zh) | 特征数据处理方法、指令序列生成方法、装置及设备 | |
CN112860396A (zh) | 一种基于分布式深度学习的gpu调度方法及系统 | |
CN115033385A (zh) | 一种处理方法、装置及电子设备 | |
CN110837415A (zh) | 一种基于risc-v多核处理器的线程调度方法和装置 | |
CN111340202B (zh) | 运算方法、装置及相关产品 | |
CN112114967A (zh) | 一种基于服务优先级的gpu资源预留方法 |
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 |