CN104462003A - 一种计算机系统的分区方法、装置和计算机系统 - Google Patents
一种计算机系统的分区方法、装置和计算机系统 Download PDFInfo
- Publication number
- CN104462003A CN104462003A CN201410811750.7A CN201410811750A CN104462003A CN 104462003 A CN104462003 A CN 104462003A CN 201410811750 A CN201410811750 A CN 201410811750A CN 104462003 A CN104462003 A CN 104462003A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- partition
- combination
- submatrix
- 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
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供一种计算机系统的分区方法、装置和计算机系统。该方法包括:建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;还包括:根据分区指令,确定所有可能的节点分区组合;根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示值;根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。本发明能够提高计算机系统的分区效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种计算机系统的分区方法、装置和计算机系统。
背景技术
在某些高端计算机系统中存在数量众多的节点。在实际业务中,需要将计算机系统分区,每一个分区需要包括计算机系统中的部分节点。
随着计算机技术的发展,计算机系统的节点数量及节点连接拓扑越来越复杂。比如,目前出现了64路高端计算机系统,其广泛应用于银行交易与结算、证券交易、通信、电力调度、民航空管等关键系统的关键应用,其对性能和可靠性有极高的要求。
对于诸如64路高端计算机系统,目前的分区方式是通过手动方式人为进行分区。然而,由于计算机系统的节点数量众多且连接拓扑往往比较复杂,人为分区的方式则大大降低了分区的效率,比如,实施人员往往很难选出最优互连无故障节点来完成分区。
发明内容
本发明提供一种计算系统的分区方法、装置和计算机系统,能够自动进行分区,提高分区效率。
一种计算机系统的分区方法,建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;
还包括:
还包括:
根据分区指令,确定所有可能的节点分区组合;
根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示值;
根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。
所述建立节点连接模拟矩阵包括:
根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
根据分区命令,列出所有可能的分区组合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
当所述子矩阵中包括0时,计算所述子矩阵的连接相乘次数值包括:
子矩阵与自身相乘得新矩阵,检查新矩阵中每个元素的值,若还包括0,继续与原子矩阵相乘,直到使所有矩阵元素值都不为0,记录使第一次使矩阵元素值都不为0的相乘次数,将该最小相乘次数作为所述子矩阵的连接相乘次数值。
在得到最短连接距离的节点分区组合之后,进一步包括:实时获取该节点分区组合中每一个节点对应的运行参数,根据运行参数确定每一个节点是否发生故障,
如果均未发生故障,则将该节点分区组合确定为有效的节点分区组合;则,所述从所有组合中选出节点连接最为紧密的节点组合包括:从所有节点分区组合中选择一个连接最紧密的有效节点分区组合;
如果不存在有效的节点分区组合,则,所述从一个以上的节点分区组合中选择一个节点分区组合包括:根据预先设置的错误容忍策略,从一个以上的节点分区组合中选择一个节点分区组合。
所述运行参数包括如下中的一种或多种的组合:
各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效CPU个数和在位信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端口链路状态。
一种计算机系统的分区装置,包括:
建立单元,用于建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;
确定单元,用于根据分区指令,确定所有可能的节点分区组合;
生成单元,用于根据所述模拟矩阵建立单元建立的所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示值;
选择单元,根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。
所述建立单元根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
所述选择单元,根据分区命令,列出所有可能的分区组合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
一种计算机系统,包括两个以上的节点,管理系统和节点控制器,其中,
所述管理系统包括故障排除单元以及上述任意一种计算机系统的分区装置,
所述故障排除单元,用于从每一个所述节点和节点控制器处获取运行参数,根据获取的运行参数判断当前选择的节点分区组合中的节点及其节点控制器是否存在故障,如果存在,则触发所述选择单元重新选择一个节点分区组合。
本发明提供的计算系统的分区方法、装置和计算机系统,利用计算机能够处理的矩阵来模拟出计算机系统中的所有节点及其是否连接的互连拓扑,而无需人为记录和查找等处理,之后,当需要确定优选的分区组合时,从上述能够体现全局节点及其连接情况的节点连接模拟矩阵中,生成各个备选节点分区组合对应的子矩阵,也就是说,每一个子矩阵体现其对应的节点分区组合中包括的具体节点之间是否直接连接的情况,根据这一情况,也就是说根据子矩阵,则可以从备选的各个节点分区组合中由计算机自动选择出一个优选的节点分区组合,从而实现了计算机自动进行分区,提高了分区效率。
附图说明
图1是本发明一个实施例中对计算机系统进行分区的流程图。
图2是本发明另一个实施例中对计算机系统进行分区的流程图。
图3是本发明一个实施例中系统包括8个节点及其连接拓扑的示意图。
图4是本发明一个实施例中对计算机系统进行分区的装置的示意图。
图5是本发明另一个实施例中对计算机系统进行分区的装置的示意图。
图6是本发明一个实施例中计算机系统的示意图。
具体实施方式
本发明一个实施例提出了一种计算机系统的分区方法,参见图1,包括如下步骤:
步骤101:建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值。
步骤102:根据分区指令,确定所有可能的节点分区组合。
步骤103:根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的值为连接指示值或非连接指示值。
步骤104:根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。
对于上述步骤101,其具体的实现可以是:根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
可见,在本发明的该实施例中,利用计算机能够处理的矩阵来模拟出计算机系统中的所有节点及其是否连接的互连拓扑,如上述使用矩阵的每一行的0和1值来记录,而无需人为记录和查找等处理,之后,当需要确定优选的分区组合时,从上述能够体现全局节点及其连接情况的节点连接模拟矩阵中,生成各个备选节点分区组合对应的子矩阵,也就是说,每一个子矩阵体现其对应的节点分区组合中包括的具体节点之间是否直接连接的情况,根据这一情况,也就是说根据子矩阵,则可以从备选的各个节点分区组合中由计算机自动选择出一个优选的节点分区组合,从而实现了计算机自动进行分区,提高了分区效率。
在本发明的一些实施例中,备选的各个节点分区组合中很可能存在部分或全部组合中的一些节点不直接连接的情况,也就是说,部分组合或全部组合对应的子矩阵中包括0值,为了从中找出优选的节点分区组合,可以使用矩阵乘积算法,来计算出为了使得0值对应的两个节点通过其他中转节点实现间接连接而需要的连接相乘次数,该连接相乘次数体现了使得两个节点实现最终连接需要经过的中转节点的数量。基于此思想,在本发明的一些实施例中,对于上述步骤104,选择节点分区组合的具体实现可以包括步骤1040:对于生成的每一个子矩阵,检查是否存在0值,若存在,该子矩阵和自身相乘,所得新矩阵,若新矩阵中依然存在0值,则新矩阵继续与原子矩阵相乘,直到第一次实现所得矩阵中值全不为0,该相乘次数记录为连接相乘次数值即得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合即连接相乘次数值最小的子矩阵对应的节点分区组合。
在本发明的一些实施例中,当子矩阵中包括0时,上述步骤1040中计算子矩阵的连接相乘次数值可以包括:选择中转连接节点;根据所述连接模拟矩阵,计算所述0值对应的两个节点及所述中转连接节点对应的矩阵值乘积,记录使矩阵值乘积为1的最小相乘次数,将该最小相乘次数作为所述子矩阵的连接相乘次数值。
在本发明的一些实施例中,还可以进一步实现故障节点自动隔离。此时,在上述步骤102确定一个以上的节点分区组合之后,可以进一步包括:对于每一个所述节点分区组合,实时获取该节点分区组合中每一个节点对应的运行参数,根据运行参数确定该节点分区组合中的每一个节点是否发生故障,如果均未发生故障,则将该节点分区组合确定为有效的节点分区组合,否则,将该节点分区组合确定为无效的节点分区组合;则,步骤104中,是从当前有效的节点分区组合中选择一个节点分区组合,从而实现故障节点的自动隔离。
进一步地,在本发明的一些实施例中,对于无效的节点分区组合,也可以允许用户设立错误容忍度,如果无效的节点分区组合的故障属于该错误容忍度之内,则还可以视为可用的节点分组组合而被选择使用。比如,如果不存在有效的节点分区组合,则,上述步骤104中,可以根据预先设置的错误容忍策略,从一个以上的无效节点分区组合中选择一个节点分区组合。
在本发明的一些实施例中,上述实现故障隔离而使用的运行参数包括如下中的一种或多种的组合:各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效CPU个数和在位信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端口链路状态。
在本发明的一些实施例中,在上述步骤104之后,节点可以在互连之前完成单节点CPU,内存初始化程序,之后再通过路由修改,全分区内存映射建立等设置完成整个分区的全局配置。这样可以实现在节点互连之前得出CPU、内存状态,实现在出现故障节点时及时隔离,不影响整个分区的启动。
图2是本发明另一个实施例中对计算机系统进行分区的流程图。参见图2,在另一个实施例中,对计算机系统进行分区的过程包括:
步骤201:建立节点连接模拟矩阵。
本步骤中建立的节点连接模拟矩阵为:
参见该矩阵,计算机系统中总共包括k个节点,xij表示第i个节点和第j个节点是否直接连接。xij的值可以为0或1,1表示直接相连,0表示不直接相连。在该节点连接模拟矩阵中,第一行中的各个元素表示节点1与计算机系统中其它所有节点是否直接相连,以此类推。
举例说明本步骤的实现。例A:比如计算机系统中包括8个节点,该8个节点连接方式如图3所示,根据图3所示的节点总数和两两节点是否直连的情况,则建立的节点连接模拟矩阵为矩阵
步骤202:接收分区指令。
本步骤中,分区指令包括目标分区需要包括几个节点,是否指定主节点等信息。
步骤203:根据接收到的分区指令,确定一个以上的节点分区组合。
本步骤中,可以首先确定当前剩余的节点,然后从剩余的所有节点中列出满足分区指令要求的所有的节点分区组合。分区指令为n个节点组成分区,剩余有效节点数为m个,则共可以组成种节点分区组合。若分区指令指定某个节点为主节点,则可组成种节点分区组合。
比如,仍以上述例A为例,8个节点中当前剩余的有效节点比如为节点1,节点3和节点5。分区指令指示需要2个节点来分区,则可以确定总共3个节点分区组合,即节点分区组合1包括节点1和节点3,节点分区组合2包括节点1和节点5,节点分区组合3包括节点3和节点5。如果分区指令进一步指定了主节点为节点1,那么,本步骤中,则可以总共确定2个节点分组组合,即节点分区组合1包括节点1和节点3,节点分区组合2包括节点1和节点5。
步骤204:根据节点连接模拟矩阵,生成对应于每一个节点分区组合的一个以上的子矩阵。
本步骤中,对应于每一个节点分区组合,从节点连接模拟矩阵中获取表示该组合中任意每两个节点是否直接连接的0或1值,从而生成对应于每一个节点分区组合的子矩阵。
比如生成的子矩阵为
若子矩阵中所有元素都为‘1’,则对应的节点分区组合内节点全互连,记录其连接系数为1。若子矩阵中存在‘0’,表示对应的节点分区组合内存在不直接连接即不可互访的节点。
仍以上述例A为例,对于步骤203处描述的节点分区组合1包括节点1和节点3,从矩阵S中获取第一行的第一个和第三个元素,作为子矩阵中第一行的第一个和第二个元素,从矩阵S中获取第三行的第一个和第三个元素,作为子矩阵中第二行的第一个和第二个元素,得到对应于节点分区组合1的子矩阵A,如下
对于步骤203处描述的节点分区组合2包括节点1和节点5,从矩阵S中获取第一行的第一个和第五个元素,作为子矩阵中第一行的第一个和第二个元素,从矩阵S中获取第五行的第一个和第五个元素,作为子矩阵中第二行的第一个和第二个元素,得到对应于节点分区组合2的子矩阵B,如下
对于步骤203处描述的节点分区组合3包括节点3和节点5,从矩阵S中获取第三行的第三个和第五个元素,作为子矩阵中第一行的第一个和第二个元素,从矩阵S中获取第五行的第三个和第五个元素,作为子矩阵中第二行的第一个和第二个元素,得到对应于节点分区组合3的子矩阵C,如下
步骤205:对于生成的每一个子矩阵,利用节点连接模拟矩阵和该子矩阵的值计算该子矩阵的连接相乘次数值。
对于一个子矩阵,如果该子矩阵中所有元素都为‘1’,则该子矩阵的连接相乘次数值为0。
对于一个子矩阵,如果该子矩阵中存在元素‘0’,则存在不直接相连的2个节点,其需要经过其他节点中转。该子矩阵与自身相乘。
如上,生成新矩阵B,bij的值表示经过一次中继后第i个节点和第j个节点是否可以实现互连。不为‘0’则可以互连,为‘0’则不可互连。若依然存在‘0’值,则表示还是不可互访。继续进行相乘计算,直到计算出所有元素值不为0。记录相乘次数值。本步骤中,最大相乘次数为n-2,也就是说,若经过n-2次相乘都没有实现子矩阵中的全非0,则表示即使经过中转节点,相应的两个节点也无法实现连接,则标记为无效节点分区组合。
对于上述例A,子矩阵A和B的连接相乘次数值为0,C的最大相乘次数为2-2=0,C为无效节点组合。
步骤206:对连接相乘次数值进行排序,从所有有效的节点分区组合中选择连接相乘次数值最小的子矩阵对应的节点分区组合,作为最优节点分区。
步骤207:对于选中的连接最优的节点分区组合,实时获取该节点分区组合中每一个节点对应的运行参数。
本步骤中,运行参数可以包括如下中的一种或多种的组合:各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效CPU个数和在位信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端口链路状态。
步骤208:根据运行参数确定该节点分区组合中的每一个节点是否发生故障,如果均未发生故障,则将该节点分区组合确定为有效的节点分区组合,进而确定为最优分区组合,否则,将该节点分区组合确定为无效的节点分区组合。
步骤209:从步骤206中的排序中,选择后续组合并重复步骤207-209,若找到无故障有效组合,结束流程,若没有找到无故障有效组合,则执行步骤210。
对于上述例A,子矩阵A和B的连接相乘次数值均为0,C为无效节点组合,所以可以从子矩阵A和B中选择一个,比如选择子矩阵A对应的节点分区组合1,若分区组合1中存在故障节点,则选择B对应的节点组合2。
步骤210:根据预先设置的错误容忍策略,从所有无效的节点分区组合中选择节点分区组合,作为最优节点分区。
本步骤中,错误容忍度是指:在某节点上检测到非致命错误(比如,节点中非主CPU故障,部分内存故障)时,多少个CPU故障及多少容量内存故障时,在没有其他选择时,可以使用这个节点组分区。系统一般会设置一个全局默认的值,用户可在每次分区时选择使用默认值或使用一个新的值。
在本发明的一些实施例中,分别针对各个模块的处理进行说明。
节点中的计算模块:
计算模块需要实现的功能为节点互连之前执行自检程序,并将状态信息报告给管理系统。
首先,计算模块在上电后,进行CPU,内存初始化,完成单节点4路CPU自检及拓扑建立,并完成这4颗CPU下内存扫描。
然后将CPU个数,CPU在位情况,内存容量,内存在位情况。4个CPU各个端口链路连接状态发送给管理系统。
管理系统根据这些信息(包括NC的信息)决定是否需要隔离节点。若需要,对对应节点关机,若不需要,计算节点即运行节点组合算法,根据分区信息,与分区内其他节点组成一个完整的系统。
节点组合算法包括:RTID的重新分配,节点间路由设定,节点间内存映射设定,节点间内存目录设定,节点间缓存一致性设定,中断APIC ID重新分配,重建PCIE内存映射空间,重建legacy IO映射空间,主CPU选定。
待完成节点组合算法后,每个CPU都可以访问到分区内任意CPU,任意内存地址。之后,由主CPU引导,建立一些必要的数据结构(报告给操作系统),并进入操作系统。
NC处理包括:
首先,需要先确定NC和管理系统的交互的接口。一般以NC的寄存器为接口,管理系统以SMBUS方式实现对NC芯片上的寄存器的访问。
在本发明的一些实施例中,需要用到两类寄存器:分区信息寄存器,链路状态寄存器。
分区信息寄存器:用于存储管理系统分区命令。NC芯片根据该寄存器,计算出对应连接节点,进而计算出连接端口,并开启该端口物理连接。该寄存器每次被写入时,NC会自动进行进行一次物理连接。
链路状态寄存器:NC芯片上每个连接端口对应一个寄存器,标记其是否与远端NC连接成功。
管理系统在决定好分区之后,将分区信息写入NC分区寄存器中,NC模块在上电后,根据分区寄存器中的信息,与对应节点建立连接,并将连通状态存储于链路状态寄存器中。在开机一定时间后,管理系统读取对应端口的NC链路状态寄存器,之后,进行判断是否需要隔离节点,若需要,则将故障节点断电。若分区信息有变化,将新的分区信息写入,NC会自动进行新分区链接。
本发明一个实施例还提出了一种计算机系统的分区装置。参见图4,包括:
建立单元401,用于建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;
确定单元402,用于根据分区指令,确定所有可能的节点分区组合;
生成单元403,用于根据所述建立单元401建立的所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或和非连接指示值;
选择单元404,根据生成单元403生成的子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。
在本发明的一些实施例中,建立单元401根据计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息,建立节点连接模拟矩阵,节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
在本发明的一些实施例中,选择单元404,根据分区命令,列出所有可能的分区组合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
参见图5,在本发明一些实施例中,进一步包括:处理单元501,其中,
所述处理单元501在得到最短连接距离的节点分区组合之后,获取该节点分区组合中包括的每一个节点对应的运行参数,根据运行参数确定每一个节点是否发生故障,
如果均未发生故障,则所述处理单元501将该节点分区组合确定为有效的节点分区组合;则,所述选择单元404从所有节点分区组合中选择一个连接最紧密的有效节点分区组合;
如果不存在有效的节点分区组合,则,所述选择单元404根据预先设置的错误容忍策略,从一个以上的节点分区组合中选择一个节点分区组合。
在本发明一些实施例中,所述处理单元501获取每一个节点和节点控制器的状态信息,作为该节点对应的运行参数。
本发明的一个实施例还提出了一种计算机系统。参见图6,包括两个以上的节点601,管理系统602和节点控制器603,其中,
所述管理系统602包括故障排除单元6021以及本发明上述任一实施例提出的计算机系统的分区装置,
所述故障排除单元6021,用于从每一个所述节点和节点控制器处获取运行参数,根据获取的运行参数判断当前选择的节点分区组合中的节点及其节点控制器是否存在故障,如果存在,则触发所述选择单元404重新选择一个节点分区组合。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种计算机系统的分区方法,其特征在于,建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;
还包括:
根据分区指令,确定所有可能的节点分区组合;
根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示值;
根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从而从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。
2.根据权利要求1所述的方法,其特征在于,所述建立节点连接模拟矩阵包括:
根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
3.根据权利要求1所述的方法,其特征在于,根据分区命令,列出所有可能的分区组合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
4.根据权利要求3所述的方法,其特征在于,当所述子矩阵中包括0时,计算所述子矩阵的连接相乘次数值包括:
子矩阵与自身相乘得新矩阵,检查新矩阵中每个元素的值,若还包括0,继续与原子矩阵相乘,直到使所有矩阵元素值都不为0,记录使第一次使矩阵元素值都不为0的相乘次数,将该最小相乘次数作为所述子矩阵的连接相乘次数值。
5.根据权利要求1至4中任一所述的方法,其特征在于,
在得到最短连接距离的节点分区组合之后,进一步包括:实时获取该节点分区组合中每一个节点对应的运行参数,根据运行参数确定每一个节点是否发生故障,
如果均未发生故障,则将该节点分区组合确定为有效的节点分区组合;则,所述从所有组合中选出节点连接最为紧密的节点组合包括:从所有节点分区组合中选择一个连接最紧密的有效节点分区组合;
如果不存在有效的节点分区组合,则,所述从一个以上的节点分区组合中选择一个节点分区组合包括:根据预先设置的错误容忍策略,从一个以上的节点分区组合中选择一个节点分区组合。
6.根据权利要求5所述的方法,其特征在于,所述运行参数包括如下中的一种或多种的组合:
各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效CPU个数和在位信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端口链路状态。
7.一种计算机系统的分区装置,其特征在于,包括:
建立单元,用于建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;
确定单元,用于根据分区指令,确定所有可能的节点分区组合;
生成单元,用于根据所述模拟矩阵建立单元建立的所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示值;
选择单元,根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从而从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。
8.根据权利要求7所述的装置,其特征在于,所述建立单元根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
9.根据权利要求7所述的装置,其特征在于,所述选择单元,根据分区命令,列出所有可能的分区组合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
10.一种计算机系统,包括两个以上的节点,管理系统和节点控制器,其中,
所述管理系统包括故障排除单元以及如权利要求7至11中任一所述的计算机系统的分区装置,
所述故障排除单元,用于从每一个所述节点和节点控制器处获取运行参数,根据获取的运行参数判断当前选择的节点分区组合中的节点及其节点控制器是否存在故障,如果存在,则触发所述选择单元重新选择一个节点分区组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410811750.7A CN104462003A (zh) | 2014-12-23 | 2014-12-23 | 一种计算机系统的分区方法、装置和计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410811750.7A CN104462003A (zh) | 2014-12-23 | 2014-12-23 | 一种计算机系统的分区方法、装置和计算机系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104462003A true CN104462003A (zh) | 2015-03-25 |
Family
ID=52908080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410811750.7A Pending CN104462003A (zh) | 2014-12-23 | 2014-12-23 | 一种计算机系统的分区方法、装置和计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462003A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260275A (zh) * | 2015-10-27 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种适用于高端主机的自动配置分区的开关机测试方法 |
CN105389288A (zh) * | 2015-12-30 | 2016-03-09 | 山东海量信息技术研究院 | 一种支持多分区计算机系统中的数据交互方法 |
CN105827453A (zh) * | 2016-04-25 | 2016-08-03 | 浪潮电子信息产业股份有限公司 | 一种复杂拓扑结构的计算机系统中numa域设置方法 |
CN106873548A (zh) * | 2015-10-11 | 2017-06-20 | 计算系统有限公司 | 具有标准资产健康状况的工厂工艺管理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932175A (zh) * | 2012-10-29 | 2013-02-13 | 华为技术有限公司 | 划分节点分区的方法、装置及服务器 |
-
2014
- 2014-12-23 CN CN201410811750.7A patent/CN104462003A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932175A (zh) * | 2012-10-29 | 2013-02-13 | 华为技术有限公司 | 划分节点分区的方法、装置及服务器 |
Non-Patent Citations (1)
Title |
---|
姚玉斌: "基于邻接矩阵准平方法网络拓扑分析", 《电力系统保护与控制》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873548A (zh) * | 2015-10-11 | 2017-06-20 | 计算系统有限公司 | 具有标准资产健康状况的工厂工艺管理系统 |
CN105260275A (zh) * | 2015-10-27 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种适用于高端主机的自动配置分区的开关机测试方法 |
CN105389288A (zh) * | 2015-12-30 | 2016-03-09 | 山东海量信息技术研究院 | 一种支持多分区计算机系统中的数据交互方法 |
CN105827453A (zh) * | 2016-04-25 | 2016-08-03 | 浪潮电子信息产业股份有限公司 | 一种复杂拓扑结构的计算机系统中numa域设置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104885212B (zh) | 利用分区多跳网络的裸片堆叠装置 | |
CN104462003A (zh) | 一种计算机系统的分区方法、装置和计算机系统 | |
CN104049687B (zh) | 基于fpga的嵌入式立方星星务计算机及其重构方法 | |
CN101778017A (zh) | 一种大型机联机交易的故障事件处理方法及服务器 | |
CN104541257A (zh) | 利用元数据管理的堆栈存储器设备 | |
CN112100693B (zh) | 一种基于petri网的芯片安全分析方法 | |
WO2020131859A1 (en) | Communicating trace information between security zones | |
Baig et al. | An island-style-routing compatible fault-tolerant FPGA architecture with self-repairing capabilities | |
CN102739470A (zh) | 一种实现hadoop系统测试的方法和装置 | |
CN109189327A (zh) | 区块链数据的压缩处理方法和装置 | |
CN103605560B (zh) | 一种继电保护与安全自动装置的连锁故障并行仿真方法 | |
CN101025625A (zh) | 一种基于dsp的嵌入式智能控制器 | |
CN106155822A (zh) | 一种处理能力评估方法及装置 | |
CN103186435B (zh) | 系统错误处理方法与使用该方法的服务器系统 | |
CN109031983B (zh) | Dram的帮浦系统及其操作方法 | |
CN111997692B (zh) | 井下通风监测点布置方法、监测方法、装置及存储介质 | |
CN104699067B (zh) | 一种系统故障综合申报处理方法 | |
CN202102448U (zh) | 基于SoC芯片外部数据安全存储架构 | |
CN107562382A (zh) | 一种基于定时任务的磁盘自动动态扩容方法及系统 | |
US8386844B2 (en) | Self-repairing electronic data system | |
CN109558657B (zh) | 供电模式可靠性计算方法、装置、存储介质及计算设备 | |
Vasar et al. | Markov models for wireless sensor network reliability | |
JP2014187624A (ja) | ネットワークの修復方法および修復プログラム | |
CN114039838B (zh) | 基于最大不相交双路由的电力通信网故障分析方法及相关设备 | |
Druk et al. | The system approach to the organization of heterogeneous data storage system for decision support system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150325 |