一种服务器静默方法与系统的制作方法

文档序号:9579119阅读:471来源:国知局
一种服务器静默方法与系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种服务器静默方法与系统。
【背景技术】
[0002]在服务器,尤其是大型NUMA(Non-Uniform Memory Access,即非勻称内存访问)服务器中,需要在保持服务器运行的情况下,完成服务器的硬件替换,修改服务器的硬件配置。特别是在修改CPU、中断控制器、内存或者路由装置等硬件的时候,由于涉及到数据的通断,对服务器整体的运行产生显著的影响,所以这一类硬件配置的修改不可能在服务器常规运行的同时进行。对此,现有技术中可将服务器进入静默状态,并在静默状态下进行硬件配置的修改。
[0003]所谓静默状态也就是暂时中断CPU对内存或者输入/输出端口访问的一种特殊状态。而为了使服务器进入或解除静默状态,必须设置一个CPU为MCPU (monarch CPU,即君主处理器),用于发出指令以使其他CPU停止或恢复对外的访问活动;并且在静默状态之下,MCPU还负责修改服务器的硬件配置。
[0004]不过,某些大型的服务器,利用节点控制器(Node Controller,简称NC)延伸出额外的NC域(节点控制域),NC域内同样包括独立的CPU和内存等硬件。如果包括多个NC域的服务器需要进入或解除静默状态,就需要MCPU在指令所有NC域内的CPU停止或恢复对外的访问活动。
[0005]在多NC域的情况下,现有技术存在的缺陷是,MCPU跨NC域的指令耗时较长,增加了服务器静默的时间,即延长了服务器无法正常运行的时间;另外还可能在某些情况下,MCPU无法实现对于其他NC域内硬件配置的修改。

【发明内容】

[0006]有鉴于此,本发明的目的在于提供一种服务器静默方法与系统,所述方法中设置一个主君主处理器,并在各NC域均设置域君主处理器,各域君主处理器响应于主君主处理器的指令,独立的控制各自所在的NC域进入或解除静默状态,并且在静默状态中修改其所在NC域中的硬件配置。
[0007]为实现上述目的,本发明有如下技术方案:
[0008]一种服务器静默方法,所述服务器中包括一个主节点控制域和至少一个子节点控制域,主节点控制域中包括一个主君主处理器;子节点控制域中包括一个域君主处理器;所述方法包括:
[0009]所述主君主处理器向域君主处理器发送静默指令;
[0010]所述域君主处理器向自身所在的子节点控制域中的普通缓存代理转发所述静默指令;
[0011]所述子节点控制域中的普通缓存代理执行所述静默指令。
[0012]所述方法还包括:
[0013]所述主君主处理器向主节点控制域中的普通缓存代理发送静默指令;
[0014]所述主节点控制域中的普通缓存代理执行所述静默指令。
[0015]所述静默指令包括静默进入指令和静默解除指令;具体为:
[0016]当所述静默指令为静默进入指令,则所述执行静默指令为进入静默状态;
[0017]当所述静默指令为解除静默指令,则所述执行静默指令为解除静默状态。
[0018]所述方法还包括:
[0019]当主节点控制域中的普通缓存代理进入静默状态后,则所述主君主处理器根据预设的配置修改任务,修改主节点控制域中的硬件配置。
[0020]所述方法还包括:
[0021]主君主处理器预先将配置修改任务发送至相应的域君主处理器;
[0022]所述域君主处理器在所述子节点控制域中的普通缓存代理进入静默状态后,根据预设的配置修改任务,修改所述子节点控制域中的硬件配置。
[0023]当所述静默指令为静默进入指令,且所述静默进入指令包括深层静默进入指令和浅层静默进入指令,则所述普通缓存代理执行静默指令具体为:
[0024]接收到深层静默进入指令的普通缓存代理进入深层静默;
[0025]接收到浅层静默进入指令的普通缓存代理进入浅层静默。
[0026]所述方法还包括:
[0027]当主节点控制域中,存在进入浅层静默的缓存代理,则主君主处理器指令主节点控制域中的普通处理器,利用进入浅层静默状态的普通缓存代理,根据预设的配置修改任务,修改主节点控制域中的硬件配置。
[0028]所述方法还包括:
[0029]当子节点控制域中存在进入浅层静默的缓存代理,则域君主处理器指令子节点控制域中的普通处理器,利用进入浅层静默状态的普通缓存代理,根据预设的配置修改任务,修改主节点控制域中的硬件配置。
[0030]所述配置修改任务保存在所述主君主处理器和域君主处理器的不共享缓存中。
[0031]一种服务器静默系统,所述系统包括一个主节点控制域和至少一个子节点控制域,主节点控制域中包括一个主君主处理器;子节点控制域中包括一个域君主处理器及若干普通缓存代理;具体为:
[0032]主君主处理器,用于向域君主处理器发送静默指令;
[0033]域君主处理器,用于向自身所在的子节点控制域中的普通缓存代理转发所述静默指令;
[0034]则子节点控制域中的普通缓存代理用于执行所述静默指令。
[0035]主节点控制域中包括若干普通缓存代理,则所述主君主处理器还用于:
[0036]向主节点控制域中的普通缓存代理发送静默指令;
[0037]则所述主节点控制域中的普通缓存代理用于执行所述静默指令。
[0038]所述静默指令包括静默进入指令和静默解除指令;具体为:
[0039]当所述静默指令为静默进入指令,则所述执行静默指令为进入静默状态;
[0040]当所述静默指令为解除静默指令,则所述执行静默指令为解除静默状态。
[0041 ] 所述主君主处理器包括:
[0042]第一域内发送模块,用于向主节点控制域中的普通缓存代理发送静默指令;
[0043]第一域外发送模块,用于向域君主处理器发送静默指令;将配置修改任务发送至相应的域君主处理器;
[0044]第一配置修改模块,用于在主节点控制域中的普通缓存代理进入静默状态后,根据预设的配置修改任务修改主节点控制域中的硬件配置。
[0045]所述域君主处理器包括:
[0046]第二域内发送模块,用于向域君主处理器所在的子节点控制域中的普通缓存代理转发所述静默指令;
[0047]第二配置修改模块,用于在所述子节点控制域中的普通缓存代理进入静默状态后,根据预设的配置修改任务,修改所述子节点控制域中的硬件配置。
[0048]所述静默进入指令包括深层静默进入指令和浅层静默进入指令,则所述第一域内发送模块包括:
[0049]第一浅层静默单元,用于向主节点控制域中的普通缓存代理发送浅层静默进入指令,以使所述主节点控制域中的普通缓存代理进入浅层静默状态;
[0050]第一深层静默单元,用于向主节点控制域中的普通缓存代理发送深层静默进入指令,以使所述主节点控制域中的普通缓存代理进入深层静默状态;
[0051]第一静默解除单元,用于向主节点控制域中的普通缓存代理发送静默解除指令,以使所述主节点控制域中的普通缓存代理解除静默状态。
[0052]主节点控制域中还包括普通处理器;则所述第一配置修改模块具体包括:
[0053]第一主修改单元,用于在主节点控制域中的普通缓存代理进入静默状态后,根据预设的配置修改任务修改主节点控制域中的硬件配置;
[0054]第一辅修改单元,用于在主节点控制域中的普通缓存代理进入静默状态后,指令主节点控制域中的普通处理器,利用进入浅层静默状态的普通缓存代理,根据预设的配置修改任务,修改主节点控制域中的硬件配置。
[0055]所述静默进入指令包括深层静默进入指令和浅层静默进入指令,则所述第二域内发送模块包括:
[0056]第二浅层静默单元,用于向域君主处理器所在的子节点控制域中的普通缓存代理转发所述浅层静默进入指令,以使所述子节点控制域中的普通缓存代理进入浅层静默状态;
[0057]第二深层静默单元,用于向域君主处理器所在的子节点控制域中的普通缓存代理转发所述深层静默进入指令,以使所述子节点控制域中的普通缓存代理进入深层静默状态;
[0058]第二静默解除单元,用于向域君主处理器所在的子节点控制域中的普通缓存代理转发所述静默解除指令,以使所述子节点控制域中的普通缓存代理或解除静默状态。
[0059]所述子节点控制域中还包括普通处理器,则所述第二配置修改模块具体包括:
[0060]第二主修改单元,用于在所述子节点控制域中的普通缓存代理进入静默状态后,根据预设的配置修改任务,修改所述子节点控制域中的硬件配置;
[0061]第二辅修改单元,用于在子节点控制域中的普通缓存代理进入静默状态后,指令子节点控制域中的普通处理器,利用进入浅层静默状态的普通缓存代理,根据预设的配置修改任务,修改所述子节点控制域中的硬件配置。
[0062]所述主君主处理器和域君主处理器还包括:
[0063]不共享缓存模块,用于保存所述配置修改任务。
[0064]根据以上技术方案可知,本发明存在的有益效果是:通过SMCPU通过DMCPU向子NC域转发静默进入指令或静默解除指令的技术方案,使得在服务器静默过程中SMCPU向任意一个子NC域只需要一个往返的指令,避免了跨域发送大量指令带来的延迟,缩短了服务器进入静默状态的时间;SMCPU和DMCPU各自负责修改自身所在NC域中的硬件配置,避免了跨域进行硬件配置的修改,解决了由于不同的NC域之间存在着协议、地址解码等因素的限制,导致的MCPU无法
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1