CN103631736B - 设备资源控制方法和装置 - Google Patents
设备资源控制方法和装置 Download PDFInfo
- Publication number
- CN103631736B CN103631736B CN201310617818.3A CN201310617818A CN103631736B CN 103631736 B CN103631736 B CN 103631736B CN 201310617818 A CN201310617818 A CN 201310617818A CN 103631736 B CN103631736 B CN 103631736B
- Authority
- CN
- China
- Prior art keywords
- processor
- interrupt requests
- equipment
- hot swap
- equipment hot
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种设备资源控制方法和装置,应用于多处理器系统中,所述多处理器系统包括第一处理器,所述方法包括:所述第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求;所述第一处理器调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求,其中,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。通过本申请实施例,提高了处理器的运行效率。
Description
技术领域
本申请涉及计算机处理技术领域,更具体的说是涉及一种控制方法和装置。
背景技术
在计算机系统中,设备资源包括内存、处理器、I/O卡、控制器以及其他节点等硬件资源,设备资源配置主要是指设备的添加、替换或升级等操作,其中,热插拔即是一种设备资源配置方式。
多处理器系统统是指包含多个处理器的计算机系统,由于多处理器系统规模庞大,对于设备的热插拔有更高的要求。
在进行设备热插拔时,系统中能够处理设备热插拔的处理器会中断当前执行业务,通过调用并执行固件程序来执行设备热插拔操作。但是由于多处理器系统中,对于热插拔要求很高,不能影响当前执行业务,因此处理器当前执行的业务不能中断时间太长。现有技术中是将处理器调用并执行固件程序执行设备热插拔的操作进行分片,切换成多个分片执行。处理器每接收到一个中断请求,即执行一个分片的操作。执行完成一个分片的操作后,保存当前执行进度并退出该中断,此时处理器可以恢复当前执行业务,同时由定时器控制,当到达预设时间后再向处理器发送中断请求,处理器则再次中断当前执行业务,继续调用固件程序以执行下一个分片的操作,如此循环往复,直至设备热插拔的操作执行完成。
但是,在实现本发明的过程中,发明人发现,现有技术的这种控制方式,处理器需要定时接收中断请求以调用固件程序执行设备热插拔的操作,处理器当前执行业务需要被反复打断,导致处理器运行效率降低。
发明内容
有鉴于此,本申请提供了一种设备资源控制方法和装置,用以解决现有技术中处理器运行效率较低的技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,提供了一种设备资源控制方法,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,所述方法包括:
所述第一处理器接收到设备热插拔第一中断请求,响应所述设备热插拔第一中断请求时,调用并执行固件程序,生成设备热插拔第二中断请求;
所述第一处理器向空闲处理器发送所述设备热插拔第二中断请求,其中,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
在所述第一方面的第一种可能实现方式中,所述设备热插拔第一中断请求具体为基板管理控制器接收到设备热插拔请求时发送的。
结合所述第一方面或所述第一方面的第一种可能实现方式,还提供了所述第一方面的第三种可能实现方式,所述调用并执行固件程序,生成设备热插拔第二中断请求,包括:
调用并执行固件程序,生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
第二方面,提供了一种设备资源控制方法,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,所述方法包括:
基板管理控制器接收设备热插拔请求;
所述基板管理控制器生成设备热插拔第一中断请求,并发送至所述第一处理器,以便于所述第一处理器响应该设备热插拔第一中断请求时,调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
在所述第二方面的第一种可能实现方式中,所述生成设备热插拔第一中断请求之前,所述方法还包括:
所述基板管理控制器生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
则所述生成设备热插拔第一中断请求后,所述方法还包括:
所述基板管理控制器检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线,所述第三处理器为所述多处理器系统中能够处理所述处理器上线中断请求的任一处理器。
第三方面,提供了一种设备资源控制方法,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,所述方法包括:
空闲处理器响应所述第一处理器发送的设备热插拔第二中断请求,所述设备热插拔第二中断请求为所述第一处理器接收到设备热插拔第一中断请求,响应所述设备热插拔第一中断请求后,调用并执行固件程序生成的;
所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作。
第四方面,提供了一种设备资源控制装置,应用于多处理器系统中,其中,所述多处理系统包括第一处理器,所述装置包括:
中断请求生成模块,用于当所述第一处理器接收并响应设备热插拔第一中断请求时,生成设备热插拔第二中断请求;
中断请求发送模块,用于向空闲处理器发送所述中断请求生成模块生成的所述设备热插拔第二中断请求;
其中,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
在所述第四方面的第一种可能实现方式中,所述中断请求生成模块包括:
处理器下线模块,用于生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
中断请求生成子模块,用于当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
结合所述第四方面的第一种可能实现方式,还提供了所述第四方面的第二种可能实现方式,所述装置还包括:
处理器上线模块,用于当响应所述空闲处理器执行设备热插拔的操作结束时发送的设备热插拔第三中断请求时,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线,所述第三处理器为所述多处理器系统中能够处理所述处理器上线中断请求的任一处理器。
结合所述第四方面的上述任一种可能实现方式,还提供了所述第四方面的第三种可能实现方式,当热插拔类型为热移除时,所述中断请求生成模块包括:
第一设备下线模块:用于生成设备下线中断请求,所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线,所述第四处理器为所述多处理器系统中能够处理所述设备下线中断请求的任一处理器;
中断请求生成子模块,用于当检测到所述设备下线成功时,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求。
结合所述第四方面的上述任一种可能实现方式,还提供了所述第四方面的第四种可能实现方式,当热插拔类型为热添加时,所述装置还包括:
第一设备上线模块,用于当确定所述空闲处理器执行设备热插拔的操作执行成功时,生成设备上线中断请求,所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线,所述第五处理器为所述多处理器系统中能够处理所述设备上线中断请求的任一处理器。
第五方面,提供了一种设备资源控制装置,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,所述装置包括:
请求接收模块,用于接收设备热插拔请求;
第一中断生成模块,用于当所述请求接收模块接收到所述设备热插拔请求时,生成设备热插拔第一中断请求,并发送至第一处理器,以便于所述第一处理器响应该设备热插拔第一中断请求,调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
在所述第五方面的第一种可能实现方式中,所述装置还包括:
处理器下线模块,用于生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
处理器上线模块,用于检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线,所述第三处理器为所述多处理器系统中能够处理所述处理器上线中断请求的任一处理器。
第六方面,提供一种设备资源控制装置,应用于多处理器系统中,其中,所述多处理系统包括第一处理器,所述装置包括:
热插拔执行模块,用于当空闲处理器响应第一处理器发送的设备热插拔第二中断请求时,执行设备热插拔的操作;所述设备热插拔第二中断请求为所述第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求,调用并执行固件程序生成的。
在所述第六方面的第一种可能实现方式中,当热插拔类型为热移除时,所述热插拔执行模块包括:
第二设备下线模块,用于生成设备下线中断请求,所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线,所述第四处理器为所述多处理器系统中能够处理所述述设备下线中断请求的任一处理器;
第一操作执行模块,用于当检测到设备下线成功时,执行设备热插拔的操作;或者,
当热插拔类型为热添加时,所述第二中断响应模块包括:
第二操作执行模块,用于执行设备热插拔的操作;
第二设备上线模块,用于当所述设备热插拔的操作执行成功时,生成设备上线中断请求,所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线,所述第五处理器为所述多处理器系统中能够处理所述述设备上线中断请求的任一处理器。
经由上述的技术方案可知,与现有技术相比,本申请提供了一种设备资源控制方法和装置。第一处理器接收到设备热插拔第一中断请求时,响应该设备热插拔第一中断请求,通过调用并执行固件程序,生成设备热插拔第二中断请求发送至空闲处理器,空闲处理器响应该设备热插拔第二中断请求,通过调用并执行固件程序,实现设备热插拔的操作。设备热插拔操作由空闲处理器执行,当前执行业务无需被反复中断,从而提高了处理器运行效率。且由于空闲处理器当前无业务执行,因此其执行的设备热插拔的操作无需被反复打断,保证了设备热插拔的执行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种设备资源控制方法一个实施例的流程图;
图2为本申请实施例提供的一种设备资源控制方法另一个实施例的流程图;
图3为本申请实施例提供的一种设备资源控制方法又一个实施例的流程图;
图4为本申请实施例提供的一种设备资源控制方法又一个实施例的流程图;
图5为本申请实施例提供的一种设备资源控制方法又一个实施例的流程图;
图6为本申请实施例提供的一种设备资源控制方法又一个实施例的流程图;
图7为本申请实施例提供的一种设备资源控制装置一个实施例的结构示意图;
图8为本申请实施例提供的一种设备资源控制装置另一个实施例的结构示意图;
图9为本申请实施例提供的一种设备资源控制装置又一个实施例的结构示意图;
图10为本申请实施例提供的一种设备资源控制装置又一个实施例的结构示意图;
图11为本申请实施例提供的一种设备资源控制装置又一个实施例的结构示意图;
图12为本申请实施例提供的一种基板管理控制器一个实施例的结构示意图;
图13为本申请实施例提供的一种设备资源控制装置又一个实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的主要思想之一可以包括:
第一处理器接收到设备热插拔第一中断请求时,响应该设备热插拔第一中断请求,通过调用并执行固件程序,生成设备热插拔第二中断请求发送至空闲处理器,空闲处理器响应该设备热插拔第二中断请求,通过调用并执行固件程序,实现设备热插拔的操作。设备热插拔操作由空闲处理器执行,因此第一处理器当前执行业务无需被反复中断,保证了业务执行效率,提高了处理器运行效率,且空闲处理器当前无业务执行,因此其执行的设备热插拔的操作也无需被反复打断,因此在保证处理器运行效率的同时,保证了设备热插拔的执行效率。
图1为本申请实施例提供的一种设备资源控制方法一个实施例的流程图,本申请实施例技术方案具体应用于多处理器系统中,多处理器系统包含两台或多台功能相近的处理器,处理器之间彼此可以交换数据,所有处理器共享内存,I/O设备,控制器,及外部设备等设备资源,整个多处理器系统由统一的操作系统控制,该多处理器系统中包括第一处理器。
该方法可以包括以下几个步骤:
101:第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求。
当需要进行设备热插拔操作时,可以通过例如南桥硬件芯片等硬件结构触发中断产生。
在多处理器系统中,每一处理器均可以接收到中断请求,各个处理器可以根据自身运行情况,选择是否处理中断请求。
因此第一处理器即为多处理系统中可以处理设备热插拔第一中断请求的处理器。
该第一处理器即是处理设备热插拔的主处理器。
第一处理器接收到设备热插拔第一中断请求时,响应该第一中断请求,即中断当前执行业务,进行中断处理。
第一处理器进行中断处理,其他处理器也可能进入中断,直至第一处理器退出该中断处理。
热插拔是指允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的设备,从而提高系统对灾难的及时恢复能力、扩展性和灵活性等。而设备进行热插拔时,系统需要在设备资源中添加或移除该设备,实现对设备资源的控制。
本实施例中,热插拔的类型主要包括热添加和热移除。
102:第一处理器调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送该设备热插拔第二中断请求。
所述第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
本实施例中,第一处理器进行中断处理时,是调用固件程序进行。第一处理器通过执行该固件程序,触发第一处理器生成第二设备热插拔第二中断请求,并向空闲处理器发送设备热插拔第二中断请求。第一处理器向空闲处理器发送设备热插拔第二中断请求后,即会退出当前中断处理,恢复当前执行业务。
空闲处理器接收到该设备热插拔第二中断请求后,响应该设备热插拔第二中断请求,通过调用并执行固件程序,执行设备热插拔的操作。
空闲处理器执行的设备热插拔的操作包括设备上电初始化或设备下电等操作。
固件程序是指固化在集成电路内部的程序代码,负责控制和协调集成电路的功能,例如BIOS(Basic Input Output System,基本输入输出系统)程序,是固化到计算机内主板上一个芯片上的程序,其包括用于处理设备热插拔中断请求的中断处理程序。
其中,本申请实施例中,该设备热插拔第一中断请求触发的中断的类型可以是PMI(Platform Management Interrupt,平台管理中断)或SMI(SystemManagement Interrupt,系统管理中断),该设备热插拔第二中断请求触发的中断的类型可以为IPI(Inter-Processor Interrupt,处理器间中断)。
在本实施例中,第一处理器响应设备热插拔第一中断请求时,调用并执行固件程序,此时并不是由第一处理器执行设备热插拔操作,而是生成设备热插拔第二中断请求,发送至空闲处理器。由空闲处理器响应该设备热插拔第二中断请求,执行设备热插拔操作,第一处理器即退出中断处理,可以恢复其中断的执行业务。由于设备热插拔操作由空闲处理器执行,第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。
且由于空闲处理器没有业务执行,因此可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
图2为本申请实施例中一种设备资源控制方法另一个实施例的流程图,本申请实施例技术方案具体应用于多处理器系统中,该多处理器系统包括第一处理器,该方法可以包括以下几个步骤:
201:第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求。
其中,为了方便对设备热插拔的触发和监控,本实施例中可以通过基板管理控制器向第一处理器发送设备热插拔第一中断请求。该设备热插拔第一中断请求可以是基板管理器或服务管理器接收到设备热插拔请求后生成的。
基板管理控制器(BMC,Baseboard management controller)是计算机主板上的微控制器,也可以称为管理处理器(SP,Service Processor)。基板管理器独立于操作系统,可以监控多处理器系统在任何时刻的硬件状态。
基板管理控制器一般都包括操作界面,用户可以通过操作界面触发设备热插拔的操作,并对其进行控制,操作性强,从而实现可视化监控。
当然该设备热插拔第一中断请求也可以是通过用户操作主板上的按键或机框上的按钮,通过南桥硬件芯片等硬件结构来触发。
202:第一处理器调用并执行固件程序,生成处理器下线中断请求。
所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器。
第一处理器或第二处理器为多处理器系统中能够处理处理器下线中断请求的处理器。其中将不包括自身的任一处理器下线作为空闲处理器具体可以将不包括自身的,且业务处理压力相对较小的处理器下线作为空闲处理器。
处理器下线中断请求由多处理器系统任意一个能够处理处理器下线中断请求的处理器处理,该能够处理处理器器下线中断请求的处理器可能是第一处理器,或者多处理器系统中不包括第一处理器的任意一个处理器,为了描述方便,本申请实施例中定义为第二处理器。
其中,下线是指业务迁移,将任一处理器下线即是将任一处理器的业务进行迁移,可以迁移到其他处理器或设备执行,使得该处理器处于不执行业务的空闲状态,即作为空闲处理器。
其中,该处理器下线中断请求触发的中断的类型可以为SCI(SystemConfiguration Interrupt,系统配置中断)。
203:第一处理器当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求,并向所述空闲处理器发送该设备热插拔第二中断请求。
当空闲处理器下线成功时,即生成设备热插拔第二中断请求,发送至空闲处理器。此时第一处理器即退出当前中断处理,返回接收到设备热插拔第一中断请求时,当前执行业务的断点继续执行。
第一处理器生成处理器下线中断请求,以及生成设备热插拔第二中断请求,可以理解成第一处理器执行嵌套中断的过程。即第一处理器响应设备热插拔第一中断请求,即调用固件程序,通过执行固件程序生成处理器下线中断请求,此时由于有中断产生,若第一处理器可以处理该处理器下线中断请求,则暂停处理设备热插拔中断请求,而处理处理器下线中断请求,将不包括自身的任一处理器下线,之后第一处理器即退出该处理器下线中断请求的中断处理,继续设备热插拔中断请求的中断处理,从而生成设备热插拔第二中断请求。
当然第一处理器还可以将该处理器下线中断请求发送至可以处理处理器下线中断请求的第二处理器进行处理。
处理器下线中断请求的处理由多处理器系统的操作系统控制处理器执行。
第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器时,可以先判断当前执行业务是否满足预设条件,以确定当前执行业务是否不繁忙,当当前执行业务不繁忙时,再选择任一处理器下线。
空闲处理器接收到设备热插拔第二中断请求,响应该设备热插拔第二中断请求,调用并执行该固件程序,实现设备热插拔的操作。空闲处理器无其他业务执行,因此设备热插拔的操作无需被反复打断。
空闲处理器执行的设备热插拔的操作包括设备上电初始化或设备下电操作,根据热插拔类型不同而确定。
热插拔类型为热移除时,空闲处理器执行设备热插拔的操作时,需要保证设备已经下线,即将该设备中的业务进行迁移。设备下线可以由第一处理器或任一处理器执行,与现有技术相同不再赘述。
热插拔类型为热添加时,设备热插拔的操作执行成功时,需要将设备上线,即将设备添加至设备资源中,设备上线可以由第一处理器或任一处理器执行,与现有技术相同不再赘述。
其中,空闲处理器执行设备热插拔的操作完成时,还可以向第一处理器发送设备热插拔第三中断请求。
第一处理器响应该设备热插拔第三中断请求,调用并执行固件程序,可以生成处理器上线中断请求。该处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线。
第一处理器或第三处理器为多处理器系统中能够处理该处理器上线中断请求的处理器。
处理器上线中断请求由多处理器系统任意一个能够处理处理器下线中断请求的处理器处理,该能够处理处理器器上线中断请求的处理器可能是第一处理器,或者多处理器系统中不包括第一处理器的任意一个处理器,为了描述方便,本申请实施例中定义为第三处理器。
该第三处理器与该第二处理器可能为同一处理器或者不同的处理器。
其中,该设备热插拔第一中断请求触发的中断的类型可以是PMI或SMI。
该处理器下线中断请求触发的中断的类型可以为SCI。
当然,第一处理器调用并执行固件程序的操作,还可以包括判断设备热插拔的操作是否执行成功等,并进行标识以通知用户。例如通过主板或机框上的二极管的亮灭进行标识。
在本实施例中,第一处理器响应设备热插拔第一中断请求时,可以生成处理器下线中断请求,触发将不包括第一处理器的任一处理器下线作为空闲处理器。因此第一处理器通过执行固件程序,生成设备热插拔第二请求时,可以将该设备热插拔第二请求发送至该空闲处理器,由于设备热插拔操作由空闲处理器执行,第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。
且由于空闲处理器没有业务执行,因此可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
由于空闲处理器没有业务执行,同时避免了中断处理出错时,处理器陷入中断无法退出,而导致中断业务被无限期中止的问题。
图3为本申请实施例中一种设备资源控制方法又一个实施例的流程图,本申请实施例技术方案具体应用于多处理器系统中,该多处理器系统包括第一处理器,该方法可以包括以下几个步骤:
301:第一处理器接收基板管理控制器发送的处理器下线中断请求。
通过基板管理控制器,可以方便对设备资源配置过程进行可视化监控。
302:第一处理器响应该处理器下线中断请求,将不包括自身的任一处理器下线作为空闲处理器。
第一处理器响应该处理器下线中断请求,进行中断处理,使得将不包括自身的任一处理器下线作为空闲处理器。
本实施例中以第一处理器可以处理处理器下线中断请求为例进行介绍,在实际应用中,该第一处理器可能由于当前自身运行情况不能处理该处理器下线中断请求,则可以由任一可以处理该处理器下线中断请求的处理器进行中断处理。
303:第一处理器接收所述基板管理控制器发送的设备热插拔第一中断请求,并响应所述设备热插拔第一中断请求。
作为一种可能实现方式,第一处理器在响应该处理器下线中断请求时,可以判断当前执行业务是否满足预设条件,以确定当前执行业务是否不繁忙,当当前执行业务不繁忙时,在将不包括自身的任一处理器下线作为空闲处理器。
基板管理控制器可以监控处理器下线中断请求的处理结果,当空闲处理器下线成功时,再向第一处理器发送设备热插拔第一中断请求。
304:第一处理器调用并执行固件程序,生成设备热插拔第二中断请求,并向所述空闲处理器发送该设备热插拔第二中断请求。
其中,所述设备热插拔第二中断请求用于触发所述空闲处理器执行设备热插拔的操作。
空闲处理器执行设备热插拔的操作完成时,可以向第一处理器发送设备热插拔第三中断请求。
第一处理器响应该设备热插拔第三中断请求,调用并执行固件程序,可以对设备热插拔执行结果进行检测,确定热插拔的操作是否成功,并进行标识。
基板管理控制器可以获取该第一处理器标识的设备热插拔执行结果,并通过可视化界面输出提示信息,以通知用户。
同时,基板管理控制器检测到设备热插拔执行结果,或者在预设时间内未检测到设备热插拔执行结果时,则可以生成处理器上线中断请求。由第一处理器或第三处理器将空闲处理器上线。
第一处理器或第三处理器为多处理器系统中能够处理该处理器上线中断请求的处理器。
在本实施例中,基板管理控制器可以首先生成处理器下线中断请求,触发第一处理器将任一处理器下线作为空闲处理器,然后生成设备热插拔第一中断请求。第一处理器响应该设备热插拔第一中断请求,固件程序作为该设备热插拔第一中断请求的中断处理程序被调用和执行,从而使得第一处理器生成设备热插拔第二中断请求,发送至空闲处理器,由空闲处理器对该固件程序调用和执行,实现设备热插拔的操作。由于设备热插拔操作由空闲处理器执行,处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。且设备热插拔操作可由基板管理控制器控制,方便了对处理流程的监控,还能够实现可视化监控。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。
且由于空闲处理器没有业务执行,因此可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
图4为本申请实施例中一种设备资源控制方法又一个实施例的流程图,本申请实施例技术方案具体应用于多处理器系统中,该多处理器系统包括第一处理器,该方法可以包括以下几个步骤:
401:第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求。
该设备热插拔第一中断请求可以是基板管理控制器生成的。
第一处理器为多处理系统中可以处理设备热插拔第一中断请求的处理器。
402:第一处理器调用并执行固件程序。
403:第一处理器当确定热插拔类型为热移除时,生成设备下线中断请求。
所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线。
第一处理器或第四处理器为多处理器系统中能够处理该设备下线中断请求的处理器。
设备下线中断请求由多处理器系统中任意一个能够处设备下线中断请求的处理器处理,该能够处理处理器器下线中断请求的处理器可能是第一处理器,或者多处理器系统中不包括第一处理器的任意一个处理器,为了描述上方便,本申请实施例中定义为第四处理器。
该第四处理器与第三处理器或第二处理器可能为同一处理器,或者不同处理器。
404:第一处理器检测到所述设备下线成功时,生成设备热插拔第二中断请求,并向空闲处理器发送该设备热插拔第二中断请求。
空闲处理器响应该设备热插拔第二中断请求,调用并执行固件程序,执行设备热插拔操作。
本领域技术人员可知的是,热插拔类型为热移除时,必然包括设备下线的操作,以使得执行设备热插拔操作时,不至于系统崩溃,在进行设备资源控制时,可以预先将设备进行下线,或者如本实施例中第一处理器进行中断处理再触发将设备下线。
当然,作为另一实施例,该设备下线中断请求还可以是在空闲处理器响应设备热插拔第二中断请求时生成的,当设备下线成功时,再执行设备热插拔操作。
405:第一处理器当确定热插拔类型为热添加时,生成设备热插拔第二中断请求,并向所述空闲处理器发送第二中断请求。
406:第一处理器检测到所述设备热插拔的操作成功时,生成设备上线中断请求。
所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线。
第一处理器或第五处理器为多处理器系统中能够处理该设备上线中断请求的处理器。
设备上线中断请求由多处理器系统任意一个能够处理设备上线中断请求的处理器处理,该能够处理设备上线中断请求的处理器可能是第一处理器,或者多处理器系统中不包括第一处理器的任意一个处理器,为了描述上方便,本申请实施例中定义为第五处理器。
设备热插拔的操作成功后,将设备上线后,即可以在使用该设备资源。
作为又一实施例,该设备上线中断请求也可以是空闲处理器执行设备热插拔操作成功时生成的。
其中,作为一种可能实现方式,该空闲处理器可以是第一处理器调用并执行固件程序时,生成处理器下线中断请求,由第一处理器或第二处理器响应处理器下线中断请求,将不包括自身的任一处理器下线得到的。当第一处理器确定空闲处理器下线成功时,再执行步骤403或步骤405的操作。
第一处理器当检测到空闲处理器的设备热插拔第三中断请求时,还可以生成处理器上线中断请求。当热插拔类型为热添加时,该处理器上线中断请求可以是在确定设备上线成功后再生成。
作为另一种可能实现方式,该空闲处理器可以是基板管理控制器生成处理器下线请求,由第一处理器或第二处理器响应处理器下线中断请求,将不包括自身的任一处理器下线得到。当基板管理控制器确定空闲处理器下线成功时,生成设备热插拔第一中断请求。
基板管理控制器当检测到设备热插拔的操作执行结果或在预设时间内未检测到设备热插拔的操作执行结果时,还可以生成处理器上线中断请求。当然该处理器上线中断请求还可以是第一处理器接收到空闲处理器发送的设备热插拔第三中断请求后,响应该设备热插拔第三中断请求生成的。
其中,该设备上线中断请求以及设备下线中断请求触发的中断的类型可以是PMI或SMI。
图5为本申请实施例提供的一种设备资源控制方法又一个实施例的流程图,本申请实施例技术方案具体应用于多处理器系统中,该处理器系统包括第一处理器,该方法可以包括以下几个步骤:
501:基板管理控制器接收设备热插拔请求。
502:基板管理控制器生成设备热插拔第一中断请求,并发送至第一处理器。
第一处理器响应该设备热插拔第一中断请求,调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
此外,基板管理控制器接收设备热插拔请求之前,还可以生成处理器下线中断请求。
该处理器下线中断请求可以触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器。
则本实施例所述方法还可以包括:
基板管理控制器检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线。
空闲处理器执行设备热插拔的操作结束时,可以生成设备热插拔第三中断请求,以通知第一处理器,第一处理器响应该设备热插拔第三中断请求,获取空闲处理器设备热插拔的操作的执行结果,并可以进行标识。
基板管理控制器检测的设备热插拔的操作执行结果可以是根据第一处理器的标识结果得到,例如第一处理器将执行结果用发光二极管是否点亮表示,基板管理控制器根据发光二极管是否点亮,可以获得该设备热插拔的操作的执行结果。
检测到设备热插拔的操作执行结果时,表明设备热插拔的操作结束,从而可以触发空闲处理器上线。
当然,还可以设置超时机制,如果在预设时间内未检测到设备热插拔的操作执行结果,可以确定设备热插拔的操作执行失败,此时,可以触发第一处理器将空闲处理器唤醒,并触发空闲处理器上线。
基板管理控制器检测到设备热插拔的执行结果时,还可以输出提示信息。
在本实施例中,通过基板管理控制器可以实现对设备资源控制的有效监控,由空闲处理器执行设备热插拔的操作,第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。
且由于空闲处理器没有业务执行,因此可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
图6为本申请实施例提供的一种设备资源控制方法又一个实施例的流程图,本申请实施例技术方案具体应用于多处理器系统中,该处理器系统包括第一处理器,该方法可以包括以下几个步骤:
601:空闲处理器接收第一处理器发送的设备热插拔第二中断请求,所述设备热插拔第二中断请求为第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求,调用并执行固件程序生成的;
602:空闲处理器响应所述设备热插拔第二中断请求。
空闲处理器响应设备热插拔第二中断请求,可以调用并执行所述固件程序,实现执行设备热插拔的操作,由于热插拔类型不同,因此空闲处理器执行的操作可能不同,可以包括:
603:空闲服务器当确定热插拔类型为热移除时,生成设备下线中断请求。
所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线。
所述第四处理器为所述多处理器系统中能够处理所述述设备下线中断请求的任一处理器。
604:空闲服务器检测到设备下线成功时,执行设备热插拔的操作。
空闲处理器确定热插拔类型为热移除时,若设备并未下线,则此时可以生成设备下线中断请求,请求下线该设备。
605:空闲服务器当确定热插拔类型为热添加时,执行设备热插拔的操作;
606:空闲服务器当确定所述设备热插拔的操作执行成功时,生成设备上线中断请求。
所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线。
所述第五处理器为所述多处理器系统中能够处理所述述设备上线中断请求的任一处理器。
设备热插拔的操作执行成功,即可以触发设备上线,使得系统可以使用该设备。
其中,本实施例中的空闲处理器执行设备热插拔的操作成功时,还可以向第一处理器发送设备热插拔第三中断请求。
第一处理器响应该设备热插拔第三中断请求,可以通过调用并执行固件程序,执行例如获取设备热插拔的操作执行结果并进行标识等中断处理。
当该空闲处理器是在进行设备资源控制时,将业务迁移后得到的,则第一处理器器响应该设备热插拔第三中断请求,还可以通过调用并执行固件程序,执行触发空闲处理器上线的操作。
在本实施例中,空闲处理器根据第一处理器通过执行固件程序发送的设备热插拔第二中断请求,执行设备热插拔的操作,由于设备热插拔操作由空闲处理器执行,第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。
且由于空闲处理器没有业务执行,因此可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
图7为本申请实施例提供的一种设备资源控制装置一个实施例的结构示意图,本申请实施例技术方案具体应用于多处理器系统中,该多处理器系统包括第一处理器,该装置可以包括:
中断请求生成模块701,用于当该第一处理器接收并响应设备热插拔第一中断请求时,生成设备热插拔第二中断请求。
中断请求发送模块702,用于向空闲处理器发送所述设备热插拔第二中断请求。
其中,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
该中断请求生成模块生成设备热插拔第二中断请求以及中断请求发送模块实现的功能,是通过固件程序在第一处理器中运行实现的。第一处理器为接收设备热插拔第一中断请求并进行响应的处理器。
为了方便对设备热插拔的触发和监控,作为一种可能的实现方式,该设备热插拔第一中断请求可以是基板管理器或服务管理器接收到设备热插拔请求后生成的。
基板管理控制器(BMC,Baseboard management controller)是计算机主板上的微控制器,也可以称为管理处理器(SP,Service Processor)。基板管理器独立于操作系统,可以监控多处理器系统在任何时刻的硬件状态。
基板管理控制器一般都包括操作界面,用户可以通过操作界面触发设备热插拔的操作,并对其进行控制,操作性强,从而实现可视化监控。
当然该设备热插拔第一中断请求也可以是通过用户操作主板上的按键或机框上的按钮,通过南桥硬件芯片等硬件结构来触发的。
在本实施例中,在第一处理器接收并响应设备热插拔第一中断请求时,通过该设备资源控制装置生成设备热插拔第二中断请求,发送至空闲处理器,由空闲处理器响应该设备热插拔第二中断请求,执行设备热插拔操作,第一处理器即退出中断处理,可以恢复其中断的执行业务。由于设备热插拔操作由空闲处理器执行,第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。且空闲处理器可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
图8为本申请实施例提供的一种设备资源控制方法另一个实施例的结构示意图,本申请实施例技术方案具体应用于多处理器系统中,该多处理器系统包括第一处理器,该装置可以包括:
中断请求生成模块801,用于当该第一处理器接收并响设备热插拔第一中断请求时,生成设备热插拔第二中断请求;
其中,本实施例中,该中断请求生成模块801可以包括:
处理器下线模块8011,用于生成处理器下线中断请求。
所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器。
第一处理器或第二处理器为多处理器系统中能够处理处理器下线中断请求的处理器。其中将不包括自身的任一处理器下线作为空闲处理器具体可以将不包括自身的,且业务处理压力相对较小的处理器下线作为空闲处理器。
第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器时,可以先判断当前执行业务是否满足预设条件,以确定当前执行业务是否不繁忙,当当前执行业务不繁忙时,再选择任一处理器下线。
中断请求生成子模块8012,用于当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
当空闲处理器下线成功时,即生成设备热插拔第二中断请求,发送至空闲处理器。此时第一处理器即退出当前中断处理,返回接收到设备热插拔第一中断请求时,当前执行业务的断点继续执行。
中断请求发送模块802,用于向空闲处理器发送所述设备热插拔第二中断请求。
空闲处理器接收到设备热插拔第二中断请求,响应该设备热插拔第二中断请求,调用并执行该固件程序,实现设备热插拔的操作。
空闲处理器执行的设备热插拔的操作包括设备上电初始化或设备下电操作,根据热插拔类型不同而确定。
热插拔类型为热移除时,空闲处理器执行设备热插拔的操作时,需要保证设备已经下线,即将该设备中的业务进行迁移。设备下线可以由第一处理器或任一处理器执行,与现有技术相同不再赘述。
热插拔类型为热添加时,设备热插拔的操作执行成功时,需要将设备上线,即将设备添加至设备资源中,设备上线可以由第一处理器或任一处理器执行,与现有技术相同不再赘述。
空闲处理器执行设备热插拔的操作完成时,还可以生成设备热插拔第三中断请求。
因此,本实施例中,该装置还可以包括:
处理器上线模块803,用于当所述第一处理器响应所述空闲处理器执行设备热插拔的操作结束时发送的设备热插拔第三中断请求时,生成处理器上线中断请求。
所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线。
第一处理器或第三处理器为多处理器系统中能够处理该处理器上线中断请求的处理器。
当然,本实施例中设备资源控制装置还可以判断设备热插拔的操作是否执行成功等,并进行标识以通知用户。例如通过主板或机框上的二极管的亮灭进行标识。
在本实施例中,当第一处理器响应设备热插拔第一中断请求时,该装置生成处理器下线中断请求,触发将不包括第一处理器的任一处理器下线作为空闲处理器。当空闲处理器下线成功时,生成设备热插拔第二请求时,发送至该空闲处理器,由空闲处理器执行设备热插拔操作,因此第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率。
空闲处理器没有业务执行,不会影响整个系统的运行效率,因此还可以提高整个系统运行效率。且空闲处理器可以一次执行完成对设备热插拔的操作,也无需被反复打断,保证了设备热插拔的执行效率。
其中,作为另一个实施例,处理器下线中断请求可以是基板管理控制器生成并发送至第一处理器。
基板管理控制器还可以生成设备热插拔第一中断请求发送至第一处理器,第一处理器响应设备热插拔该第一中断请求时,可以通过本申请实施例提供的设备资源控制装置生成设备热插拔第二中断请求,并发送至空闲处理器。
基板管理控制器可以对设备热插拔执行结果进行检测,
检测到设备热插拔执行结果,或者在预设时间内未检测到设备热插拔执行结果时,则可以生成处理器上线中断请求。由第一处理器或第三处理器将空闲处理器上线。
第一处理器或第三处理器为多处理器系统中能够处理该处理器上线中断请求的处理器。
图9为本申请实施例中一种设备资源控制方法又一个实施例的结构示意图,本申请实施例技术方案具体应用于多处理器系统中,该处理器系统包括第一处理器,该装置可以包括:
中断请求生成模块901,用于接收到设备热插拔第一中断请求。响应所述设备热插拔第一中断请求时,生成设备热插拔第二中断请求。
本实施例中,以热插拔类型为热移除时进行介绍。
因此该中断请求生成模块901可以包括:
第一设备下线模块9011:用于生成设备下线中断请求,所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线。
中断请求生成子模块9012,用于当检测到所述设备下线成功时,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求。
其中,作为一种可能的实现方式,该空闲处理器可以是第一处理器调用并执行固件程序时,生成处理器下线中断请求,由第一处理器或第二处理器响应处理器下线中断请求,将不包括自身的任一处理器下线得到的。
因此该中断请求生成模块还可以包括:
处理器下线模块,用于生成处理器下线中断请求。
所述处理器下线中断请求用于触发第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器。
则当热插拔类型为热移除时,该设备下线模块9011具体可以是在检测到所述空闲处理器下线成功时,生成设备下线中断请求,或者所述中断请求生成子模块9012具体可以是在检测到所述设备下线成功,且所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
作为另一种可能实现方式,该空闲处理器可以是基板管理控制器生成处理器下线请求,由第一处理器或第二处理器响应处理器下线中断请求,将不包括自身的任一处理器下线得到。当基板管理控制器确定空闲处理器下线成功时,生成设备热插拔第一中断请求。
中断请求发送模块902,用于向空闲处理器发送所述设备热插拔第二中断请求。
空闲处理器响应该设备热插拔第二中断请求,调用并执行固件程序,执行设备热插拔操作。
本领域技术人员可知的是,热插拔类型为热移除时,必然包括设备下线的操作,以使得执行设备热插拔操作时,不至于系统崩溃,在进行设备资源控制时,可以由任一处理器预先将设备进行下线,或者如本实施例中由设备资源控制装置进行中断处理时,触发将设备下线。
图10为本申请实施例中一种设备资源控制方法又一个实施例的结构示意图,本申请实施例技术方案具体应用于多处理器系统中,该处理器系统包括第一处理器,该装置可以包括:
中断请求生成模块1001,用于接收到设备热插拔第一中断请求。响应所述设备热插拔第一中断请求时,生成设备热插拔第二中断请求。
中断请求发送模块1002,用于向空闲处理器发送所述设备热插拔第二中断请求。
本实施例中,以热插拔类型为热添加时进行介绍,因此,该装置还可以包括:
第一设备上线模块1003,用于当确定所述空闲处理器执行设备热插拔的操作执行成功时,生成设备上线中断请求,所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线。
其中,作为一种可能的实现方式,该空闲处理器可以是第一处理器调用并执行固件程序时,生成处理器下线中断请求,由第一处理器或第二处理器响应处理器下线中断请求,将不包括自身的任一处理器下线得到的。
因此该中断请求生成模块1002可以包括:
处理器下线模块,用于生成处理器下线中断请求。
所述处理器下线中断请求用于触发第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器。
中断请求生成子模块,用于当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
因此该装置还可以包括:
处理器上线模块,用于响应所述空闲处理器执行设备热插拔的操作结束时发送的设备热插拔第三中断请求,生成处理器上线中断请求。
所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线。
作为另一种可能实现方式,该空闲处理器可以是基板管理控制器生成处理器下线请求,由第一处理器或第二处理器响应处理器下线中断请求,将不包括自身的任一处理器下线得到。当基板管理控制器确定空闲处理器下线成功时,生成设备热插拔第一中断请求。
基板管理控制器当检测到设备热插拔的操作执行结果或在预设时间内未检测到设备热插拔的操作执行结果时,还可以生成处理器上线中断请求。
当然该处理器上线中断请求还可以是第一处理器接收到空闲处理器发送的设备热插拔第三中断请求后,响应该设备热插拔第三中断请求生成并发送至基板管理控制器的。
上述图7~图10对应的设备资源控制装置,在实际应用中可以集成到固件程序中,该固件程序被第一处理器调用并执行,从而实现由空闲处理器执行设备热插拔操作,第一处理器的当前执行业务无需被反复中断,可以保证处理器的运行效率,同时空闲处理器执行的设备热插拔操作也无需被反复中断,保证了设备热插拔操作的执行效率。
因此本申请实施例还提供了一种固件程序,该固件程序包括图7~图10任一实施例中所述的设备资源控制装置。
图11为本申请实施例提供的一种设备资源控制装置又一个实施例的结构示意图,本申请技术方案具体应用于多处理器系统中,该处理器系统包括第一处理器,在实际应用中,该设备资源控制装置具体应用于基板管理控制器中,该装置可以包括:
请求接收模块1101,用于接收设备热插拔请求;
第一中断生成模块1102,用于生成设备热插拔第一中断请求,并发送至第一处理器。
第一处理器响应该设备热插拔第一中断请求,通过调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求。
空闲处理器响应该设备热插拔第二中断请求,通过调用并执行所述固件程序,执行设备热插拔的操作。
其中,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
作为一种可能的实现方式,该装置还可以包括:
处理器下线模块1103,用于生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器。
处理器上线模块1104,用于检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线。
空闲处理器执行设备热插拔的操作结束时,可以生成设备热插拔第三中断请求,以通知第一处理器,第一处理器响应该设备热插拔第三中断请求,获取空闲处理器设备热插拔的操作的执行结果,并可以进行标识。
处理器上线模块检测的设备热插拔的操作执行结果可以是根据第一处理器的标识结果得到,例如第一处理器将执行结果用发光二极管是否点亮表示,基板管理控制器根据发光二极管是否点亮,可以获得该设备热插拔的操作的执行结果。
检测到设备热插拔的操作执行结果时,表明设备热插拔的操作结束,从而可以触发空闲处理器上线。
当然,还可以设置超时机制,如果处理器上线模块在预设时间内未检测到设备热插拔的操作执行结果,可以确定设备热插拔的操作执行失败,此时,可以触发第一处理器将空闲处理器唤醒,并触发空闲处理器上线。
另外,该装置还可以包括:
信息输出模块1105,用于检测到设备热插拔的执行结果时,输出提示信息。以通知用户设备热插拔的执行结果。
图11对应的设备资源控制置在实际应用中具体应用于基板管理控制器中,通过部署本实施例设备资源控制装置的基板管理控制器可以对方便对设备热插拔操作的控制,还可以实现可视化监控。
通过以上描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。参见图12,本发明实施例还提供了一种基板管理控制器,该基板管理控制器可以包括:
接收器1201,用于接收设备热插拔请求;
控制器1202,用于生成设备热插拔第一中断请求,并发送至第一处理器。
第一处理器响应该设备热插拔第一中断请求,通过调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求。
空闲处理器响应该设备热插拔第二中断请求,通过调用并执行所述固件程序,执行设备热插拔的操作。
其中,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
此外,该控制器1202还可以用于生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器;当检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线。
图13为本申请实施例提供的一种设备资源控制装置又一个实施例的结构示意图,本申请实施例技术方案具体应用于多处理器系统中,该多处理器系统包括第一处理器,该装置可以包括:
热插拔执行模块1301,用于当空闲服务器响应第一处理器发送的设备热插拔第二中断请求时,执行设备热插拔的操作。
其中,设备热插拔第二中断请求为所述第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求,调用并执行固件程序生成的。
该热插拔执行模块执行设备热插拔的操作根据热插拔的类型而不同。
当设备热插拔类型为热移除时,该热插拔执行模块1301可以包括:
第二设备下线模块1311,用于生成设备下线中断请求,所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线,所述第四处理器为所述多处理器系统中能够处理所述述设备下线中断请求的任一处理器。
第一操作执行模块1321,用于当检测到设备下线成功时,执行设备热插拔的操作。
当设备热插拔类型为热添加时,该热插拔执行操作可以包括:
第二操作执行模块1331,用于执行设备热插拔的操作;
第二设备上线模块1341,用于当所述设备热插拔的操作执行成功时,生成设备上线中断请求,所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线,所述第五处理器为所述多处理器系统中能够处理所述述设备上线中断请求的任一处理器。
其中,当设备热插拔操作执行完成时,该装置还可以向第一处理器发送设备热插拔第三中断请求。
第一处理器响应该设备热插拔第三中断请求,可以通过调用并执行固件程序,执行例如获取设备热插拔的操作执行结果并进行标识等中断处理。
当该空闲处理器是在进行设备资源控制时,将业务迁移后得到的,则第一处理器器响应该设备热插拔第三中断请求,还可以通过调用并执行固件程序,执行触发空闲处理器上线的操作。
在本实施例中,当空闲处理器响应设备热插拔第二中断中断请求时,执行设备热插拔的操作,由于设备热插拔操作由空闲处理器控制执行,第一处理器当前执行业务无需被反复中断,从而提高了处理器运行效率,且空闲处理器当前无执行业务,因此其执行的设备热插拔的操作无需被反复打断,保证了设备热插拔的执行效率。
上述图13对应的设备资源控制装置,在实际应用中可以集成到固件程序中,该固件程序被空闲处理器调用并执行,从而实现执行设备热插拔操作,使得第一处理器的当前执行业务无需被反复中断,可以保证处理器的运行效率,同时执行的设备热插拔操作也无需被反复中断,保证了设备热插拔操作的执行效率。
因此本申请实施例还提供了一种固件程序,该固件程序包括图13中所述的设备资源控制装置。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种设备资源控制方法,应用于多处理器系统,其中,所述多处理器系统包括第一处理器,其特征在于,所述方法包括:
所述第一处理器接收到设备热插拔第一中断请求,响应所述设备热插拔第一中断请求时,调用并执行固件程序,生成设备热插拔第二中断请求;
所述第一处理器向空闲处理器发送所述设备热插拔第二中断请求,其中,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
2.根据权利要求1所述的方法,其特征在于,所述设备热插拔第一中断请求具体为基板管理控制器BMC接收到设备热插拔请求后生成的。
3.根据权利要求1或2所述的方法,其特征在于,所述调用并执行固件程序,生成设备热插拔第二中断请求,包括:
调用并执行固件程序,生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
4.一种设备资源控制方法,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,其特征在于,所述方法包括:
基板管理控制器接收设备热插拔请求;
所述基板管理控制器生成设备热插拔第一中断请求,并发送至所述第一处理器,以便于所述第一处理器响应该设备热插拔第一中断请求时,调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
5.根据权利要求4所述的方法,其特征在于,所述生成设备热插拔第一中断请求之前,所述方法还包括:
所述基板管理控制器生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
则所述生成设备热插拔第一中断请求后,所述方法还包括:
所述基板管理控制器检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果时,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线,所述第三处理器为所述多处理器系统中能够处理所述处理器上线中断请求的任一处理器。
6.一种设备资源控制方法,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,其特征在于所述方法包括:
空闲处理器响应所述第一处理器发送的设备热插拔第二中断请求,所述设备热插拔第二中断请求为所述第一处理器接收到设备热插拔第一中断请求,响应所述设备热插拔第一中断请求后,调用并执行固件程序生成的;
所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作。
7.一种设备资源控制装置,应用于多处理器系统中,其中,所述多处理系统包括第一处理器,其特征在于,所述装置包括:
中断请求生成模块,用于当所述第一处理器接收并响应设备热插拔第一中断请求时,生成设备热插拔第二中断请求;
中断请求发送模块,用于向空闲处理器发送所述中断请求生成模块生成的所述设备热插拔第二中断请求;
其中,所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
8.根据权利要求7所述的装置,其特征在于,所述中断请求生成模块包括:
处理器下线模块,用于生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线 作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
中断请求生成子模块,用于当检测到所述空闲处理器下线成功时,生成设备热插拔第二中断请求。
9.根据权利要求8所述的装置,其特征在于,还包括:
处理器上线模块,用于当响应所述空闲处理器执行设备热插拔的操作结束时发送的设备热插拔第三中断请求时,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线,所述第三处理器为所述多处理器系统中能够处理所述处理器上线中断请求的任一处理器。
10.根据权利要求7~9任一项所述的装置,其特征在于,热插拔类型为热移除时,所述中断请求生成模块包括:
第一设备下线模块:用于生成设备下线中断请求,所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线,所述第四处理器为所述多处理器系统中能够处理所述设备下线中断请求的任一处理器;
中断请求生成子模块,用于当检测到所述设备下线成功时,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求。
11.根据权利要求7~9任一项所述的装置,其特征在于,热插拔类型为热添加时,所述装置还包括:
第一设备上线模块,用于当确定所述空闲处理器执行设备热插拔的操作执行成功时,生成设备上线中断请求,所述设备上线中断请求用于触发所述第一处理器或第五处理器将所述设备上线,所述第五处理器为所述多处理器系统中能够处理所述设备上线中断请求的任一处理器。
12.一种设备资源控制装置,应用于多处理器系统中,其中,所述多处理器系统包括第一处理器,其特征在于,所述装置包括:
请求接收模块,用于接收设备热插拔请求;
第一中断生成模块,用于当所述请求接收模块接收到所述设备热插拔请求时,生成设备热插拔第一中断请求,并发送至第一处理器,以便于所述第一处理器响应该设备热插拔第一中断请求,调用并执行固件程序,生成设备热插拔第二中断请求,并向空闲处理器发送所述设备热插拔第二中断请求, 所述设备热插拔第二中断请求用于触发所述空闲处理器调用并执行所述固件程序,执行设备热插拔的操作,所述空闲处理器为所述多处理器系统中,当前无执行业务的处理器。
13.根据权利要求12所述的装置,其特征在于,还包括:
处理器下线模块,用于生成处理器下线中断请求,所述处理器下线中断请求用于触发所述第一处理器或第二处理器将不包括自身的任一处理器下线作为空闲处理器,所述第二处理器为所述多处理器系统中能够处理所述处理器下线中断请求的任一处理器;
处理器上线模块,用于检测到设备热插拔的操作执行结果,或者在预设时间内未检测到设备热插拔的操作执行结果,生成处理器上线中断请求,所述处理器上线中断请求用于触发所述第一处理器或第三处理器将所述空闲处理器上线,所述第三处理器为所述多处理器系统中能够处理所述处理器上线中断请求的任一处理器。
14.一种设备资源控制装置,应用于多处理器系统中,其中,所述多处理系统包括第一处理器,其特征在于,所述装置包括:
热插拔执行模块,用于当空闲处理器响应第一处理器发送的设备热插拔第二中断请求时,执行设备热插拔的操作;所述设备热插拔第二中断请求为所述第一处理器接收到设备热插拔第一中断请求时,响应所述设备热插拔第一中断请求,调用并执行固件程序生成的。
15.根据权利要求14所述的装置,其特征在于,当热插拔类型为热移除时,所述热插拔执行模块包括:
第二设备下线模块,用于生成设备下线中断请求,所述设备下线中断请求用于触发所述第一处理器或第四处理器将所述设备下线,所述第四处理器为所述多处理器系统中能够处理所述述设备下线中断请求的任一处理器;
第一操作执行模块,用于当检测到设备下线成功时,执行设备热插拔的操作;或者,
当热插拔类型为热添加时,所述第二中断响应模块包括:
第二操作执行模块,用于执行设备热插拔的操作;
第二设备上线模块,用于当所述设备热插拔的操作执行成功时,生成设备上线中断请求,所述设备上线中断请求用于触发所述第一处理器或第五处 理器将所述设备上线,所述第五处理器为所述多处理器系统中能够处理所述述设备上线中断请求的任一处理器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310617818.3A CN103631736B (zh) | 2013-11-27 | 2013-11-27 | 设备资源控制方法和装置 |
PCT/CN2014/086100 WO2015078215A1 (zh) | 2013-11-27 | 2014-09-09 | 设备资源控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310617818.3A CN103631736B (zh) | 2013-11-27 | 2013-11-27 | 设备资源控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631736A CN103631736A (zh) | 2014-03-12 |
CN103631736B true CN103631736B (zh) | 2016-08-17 |
Family
ID=50212818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310617818.3A Active CN103631736B (zh) | 2013-11-27 | 2013-11-27 | 设备资源控制方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103631736B (zh) |
WO (1) | WO2015078215A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631736B (zh) * | 2013-11-27 | 2016-08-17 | 华为技术有限公司 | 设备资源控制方法和装置 |
CN105677373B (zh) * | 2014-11-17 | 2019-04-19 | 杭州华为数字技术有限公司 | 一种节点热插拔的方法和numa节点装置 |
CN104572561A (zh) * | 2015-01-30 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 实现clump整体热插拔的方法和系统 |
CN105573868A (zh) * | 2015-12-10 | 2016-05-11 | 浪潮电子信息产业股份有限公司 | 适用于高端主机支持不停机在线更换计算节点的方法 |
CN106980588A (zh) * | 2016-01-18 | 2017-07-25 | 中兴通讯股份有限公司 | 一种设备热处理方法和装置 |
CN110955624B (zh) * | 2018-09-26 | 2023-08-15 | 阿里巴巴集团控股有限公司 | 一种pcie设备的热插拔方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201758A (zh) * | 2006-12-14 | 2008-06-18 | 英业达股份有限公司 | 计时器检测、多处理器切换及处理器热插拔支持的方法 |
CN102566739A (zh) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | 多核处理器系统及其动态电源管理方法与控制装置 |
CN102855218A (zh) * | 2012-05-14 | 2013-01-02 | 中兴通讯股份有限公司 | 数据处理系统、方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401157B1 (en) * | 1999-04-30 | 2002-06-04 | Compaq Information Technologies Group, L.P. | Hot-pluggable component detection logic |
US6990545B2 (en) * | 2003-04-28 | 2006-01-24 | International Business Machines Corporation | Non-disruptive, dynamic hot-plug and hot-remove of server nodes in an SMP |
US7321947B2 (en) * | 2005-03-10 | 2008-01-22 | Dell Products L.P. | Systems and methods for managing multiple hot plug operations |
CN101770401B (zh) * | 2008-12-30 | 2013-09-18 | 北京天融信网络安全技术有限公司 | 一种建立多核运行环境的方法 |
CN103631736B (zh) * | 2013-11-27 | 2016-08-17 | 华为技术有限公司 | 设备资源控制方法和装置 |
-
2013
- 2013-11-27 CN CN201310617818.3A patent/CN103631736B/zh active Active
-
2014
- 2014-09-09 WO PCT/CN2014/086100 patent/WO2015078215A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201758A (zh) * | 2006-12-14 | 2008-06-18 | 英业达股份有限公司 | 计时器检测、多处理器切换及处理器热插拔支持的方法 |
CN102566739A (zh) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | 多核处理器系统及其动态电源管理方法与控制装置 |
CN102855218A (zh) * | 2012-05-14 | 2013-01-02 | 中兴通讯股份有限公司 | 数据处理系统、方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103631736A (zh) | 2014-03-12 |
WO2015078215A1 (zh) | 2015-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631736B (zh) | 设备资源控制方法和装置 | |
EP3142011B9 (en) | Anomaly recovery method for virtual machine in distributed environment | |
US9141491B2 (en) | Highly available server system based on cloud computing | |
CN103294533B (zh) | 任务流控制方法及系统 | |
CN106612312A (zh) | 一种虚拟化数据中心调度系统和方法 | |
CN108446199A (zh) | 一种应用卡顿的检测方法及装置 | |
WO2016188100A1 (zh) | 信息系统故障场景信息收集方法及系统 | |
CN104391777B (zh) | 基于Linux操作系统的云平台及其运行监控方法和装置 | |
JP2013534664A5 (zh) | ||
CN104394194A (zh) | 一种基于PaaS平台的云系统运维监控方法及系统 | |
CN104065526A (zh) | 一种服务器故障报警的方法和装置 | |
CN109271273A (zh) | 一种通讯异常恢复的方法、异常恢复设备及存储介质 | |
CN106796642A (zh) | 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品 | |
US20110153073A1 (en) | Fault tolerance method and apparatus for robot software component | |
CN110191016B (zh) | 云平台业务监控方法、装置、设备、系统及可读存储介质 | |
CN108401453A (zh) | 一种控制显示屏的方法、装置和智能终端 | |
CN103902401A (zh) | 基于监控的虚拟机容错方法及装置 | |
WO2021258696A1 (zh) | 通信数据处理方法、装置、计算机设备和存储介质 | |
CN104486149A (zh) | 一种用于地面测试的有限状态机方法 | |
CN110209497B (zh) | 一种主机资源动态扩缩容的方法及系统 | |
CN109688232B (zh) | 一种镜像回溯方法、镜像回溯系统及代理服务器 | |
CN102549510B (zh) | 用于检查操作系统的实时特性的方法 | |
CN109995597A (zh) | 一种网络设备故障处理方法及装置 | |
CN105242915A (zh) | 一种数据操作的处理方法及装置 | |
CN110519393B (zh) | 自助设备的监管方法、装置、设备、服务器和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |