一种计算机系统的分区方法、装置和计算机系统的制作方法

文档序号:6639825阅读:199来源:国知局
一种计算机系统的分区方法、装置和计算机系统的制作方法
【专利摘要】本发明提供一种计算机系统的分区方法、装置和计算机系统。该方法包括:建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示值和非连接指示值;还包括:根据分区指令,确定所有可能的节点分区组合;根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示值;根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并连接最紧密的组合作为最优分区。本发明能够提高计算机系统的分区效率。
【专利说明】一种计算机系统的分区方法、装置和计算机系统

【技术领域】
[0001] 本发明涉及计算机【技术领域】,特别涉及一种计算机系统的分区方法、装置和计算 机系统。

【背景技术】
[0002] 在某些高端计算机系统中存在数量众多的节点。在实际业务中,需要将计算机系 统分区,每一个分区需要包括计算机系统中的部分节点。
[0003] 随着计算机技术的发展,计算机系统的节点数量及节点连接拓扑越来越复杂。比 如,目前出现了 64路高端计算机系统,其广泛应用于银行交易与结算、证券交易、通信、电 力调度、民航空管等关键系统的关键应用,其对性能和可靠性有极高的要求。
[0004] 对于诸如64路高端计算机系统,目前的分区方式是通过手动方式人为进行分区。 然而,由于计算机系统的节点数量众多且连接拓扑往往比较复杂,人为分区的方式则大大 降低了分区的效率,比如,实施人员往往很难选出最优互连无故障节点来完成分区。


【发明内容】

[0005] 本发明提供一种计算系统的分区方法、装置和计算机系统,能够自动进行分区,提 高分区效率。
[0006] -种计算机系统的分区方法,建立节点连接模拟矩阵,所述节点连接模拟矩阵中 的值包括连接指示值和非连接指示值;
[0007] 还包括:
[0008] 还包括:
[0009] 根据分区指令,确定所有可能的节点分区组合;
[0010] 根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子 矩阵中的每个元素值为连接指示值或非连接指示值;
[0011] 根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从 所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并 连接最紧密的组合作为最优分区。
[0012] 所述建立节点连接模拟矩阵包括:
[0013] 根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的 信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每 一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用 于指示任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连 接。
[0014] 根据分区命令,列出所有可能的分区组合,并从所述的所有节点模拟连接矩阵中 分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素不为0的相乘 次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
[0015] 当所述子矩阵中包括0时,计算所述子矩阵的连接相乘次数值包括:
[0016] 子矩阵与自身相乘得新矩阵,检查新矩阵中每个元素的值,若还包括0,继续与原 子矩阵相乘,直到使所有矩阵元素值都不为〇,记录使第一次使矩阵元素值都不为〇的相乘 次数,将该最小相乘次数作为所述子矩阵的连接相乘次数值。
[0017] 在得到最短连接距离的节点分区组合之后,进一步包括:实时获取该节点分区组 合中每一个节点对应的运行参数,根据运行参数确定每一个节点是否发生故障,
[0018] 如果均未发生故障,则将该节点分区组合确定为有效的节点分区组合;则,所述从 所有组合中选出节点连接最为紧密的节点组合包括:从所有节点分区组合中选择一个连接 最紧密的有效节点分区组合;
[0019] 如果不存在有效的节点分区组合,则,所述从一个以上的节点分区组合中选择一 个节点分区组合包括:根据预先设置的错误容忍策略,从一个以上的节点分区组合中选择 一个节点分区组合。
[0020] 所述运行参数包括如下中的一种或多种的组合:
[0021] 各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效CPU个数和 在位信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端口链路状 态。
[0022] 一种计算机系统的分区装置,包括:
[0023] 建立单元,用于建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接 指示值和非连接指示值;
[0024] 确定单元,用于根据分区指令,确定所有可能的节点分区组合;
[0025] 生成单元,用于根据所述模拟矩阵建立单元建立的所述节点连接模拟矩阵,生成 对应于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接 指示值;
[0026] 选择单元,根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连 接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取 无故障并连接最紧密的组合作为最优分区。
[0027] 所述建立单元根据所述计算机系统中的所有节点及所有节点中任意两个节点是 否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元 素分别指示每一个节点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接 指示值为1,用于指示任意两个节点直接连接;所述非连接指示值为〇,用于指示任意两个 节点不直接连接。
[0028] 所述选择单元,根据分区命令,列出所有可能的分区组合,并从所述的所有节点模 拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子矩阵相乘后第一次所有元素 不为〇的相乘次数,得出所述节点连接距离,选出所述连接最为紧密的组合。
[0029] -种计算机系统,包括两个以上的节点,管理系统和节点控制器,其中,
[0030] 所述管理系统包括故障排除单元以及上述任意一种计算机系统的分区装置,
[0031] 所述故障排除单元,用于从每一个所述节点和节点控制器处获取运行参数,根据 获取的运行参数判断当前选择的节点分区组合中的节点及其节点控制器是否存在故障,如 果存在,则触发所述选择单元重新选择一个节点分区组合。
[0032] 本发明提供的计算系统的分区方法、装置和计算机系统,利用计算机能够处理的 矩阵来模拟出计算机系统中的所有节点及其是否连接的互连拓扑,而无需人为记录和查找 等处理,之后,当需要确定优选的分区组合时,从上述能够体现全局节点及其连接情况的节 点连接模拟矩阵中,生成各个备选节点分区组合对应的子矩阵,也就是说,每一个子矩阵体 现其对应的节点分区组合中包括的具体节点之间是否直接连接的情况,根据这一情况,也 就是说根据子矩阵,则可以从备选的各个节点分区组合中由计算机自动选择出一个优选的 节点分区组合,从而实现了计算机自动进行分区,提高了分区效率。

【专利附图】

【附图说明】
[0033] 图1是本发明一个实施例中对计算机系统进行分区的流程图。
[0034] 图2是本发明另一个实施例中对计算机系统进行分区的流程图。
[0035] 图3是本发明一个实施例中系统包括8个节点及其连接拓扑的示意图。
[0036] 图4是本发明一个实施例中对计算机系统进行分区的装置的示意图。
[0037] 图5是本发明另一个实施例中对计算机系统进行分区的装置的示意图。
[0038] 图6是本发明一个实施例中计算机系统的示意图。

【具体实施方式】
[0039] 本发明一个实施例提出了一种计算机系统的分区方法,参见图1,包括如下步骤:
[0040] 步骤101 :建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示 值和非连接指示值。
[0041] 步骤102 :根据分区指令,确定所有可能的节点分区组合。
[0042] 步骤103 :根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩 阵;所述子矩阵中的值为连接指示值或非连接指示值。
[0043] 步骤104 :根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连 接距离,从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取 无故障并连接最紧密的组合作为最优分区。
[0044] 对于上述步骤101,其具体的实现可以是:根据所述计算机系统中的所有节点及 所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵,所述节点连 接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它所有节点是 否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所述非连接指 示值为0,用于指示任意两个节点不直接连接。
[0045] 可见,在本发明的该实施例中,利用计算机能够处理的矩阵来模拟出计算机系统 中的所有节点及其是否连接的互连拓扑,如上述使用矩阵的每一行的0和1值来记录,而 无需人为记录和查找等处理,之后,当需要确定优选的分区组合时,从上述能够体现全局节 点及其连接情况的节点连接模拟矩阵中,生成各个备选节点分区组合对应的子矩阵,也就 是说,每一个子矩阵体现其对应的节点分区组合中包括的具体节点之间是否直接连接的情 况,根据这一情况,也就是说根据子矩阵,则可以从备选的各个节点分区组合中由计算机自 动选择出一个优选的节点分区组合,从而实现了计算机自动进行分区,提高了分区效率。
[0046] 在本发明的一些实施例中,备选的各个节点分区组合中很可能存在部分或全部组 合中的一些节点不直接连接的情况,也就是说,部分组合或全部组合对应的子矩阵中包括ο 值,为了从中找出优选的节点分区组合,可以使用矩阵乘积算法,来计算出为了使得O值对 应的两个节点通过其他中转节点实现间接连接而需要的连接相乘次数,该连接相乘次数体 现了使得两个节点实现最终连接需要经过的中转节点的数量。基于此思想,在本发明的一 些实施例中,对于上述步骤104,选择节点分区组合的具体实现可以包括步骤1040 :对于生 成的每一个子矩阵,检查是否存在〇值,若存在,该子矩阵和自身相乘,所得新矩阵,若新矩 阵中依然存在〇值,则新矩阵继续与原子矩阵相乘,直到第一次实现所得矩阵中值全不为 〇,该相乘次数记录为连接相乘次数值即得出每个组合内节点的连接距离,从所有组合中选 出节点连接最为紧密的节点组合即连接相乘次数值最小的子矩阵对应的节点分区组合。
[0047] 在本发明的一些实施例中,当子矩阵中包括0时,上述步骤1040中计算子矩阵的 连接相乘次数值可以包括:选择中转连接节点;根据所述连接模拟矩阵,计算所述〇值对应 的两个节点及所述中转连接节点对应的矩阵值乘积,记录使矩阵值乘积为1的最小相乘次 数,将该最小相乘次数作为所述子矩阵的连接相乘次数值。
[0048] 在本发明的一些实施例中,还可以进一步实现故障节点自动隔离。此时,在上述步 骤102确定一个以上的节点分区组合之后,可以进一步包括:对于每一个所述节点分区组 合,实时获取该节点分区组合中每一个节点对应的运行参数,根据运行参数确定该节点分 区组合中的每一个节点是否发生故障,如果均未发生故障,则将该节点分区组合确定为有 效的节点分区组合,否则,将该节点分区组合确定为无效的节点分区组合;则,步骤104中, 是从当前有效的节点分区组合中选择一个节点分区组合,从而实现故障节点的自动隔离。
[0049] 进一步地,在本发明的一些实施例中,对于无效的节点分区组合,也可以允许用户 设立错误容忍度,如果无效的节点分区组合的故障属于该错误容忍度之内,则还可以视为 可用的节点分组组合而被选择使用。比如,如果不存在有效的节点分区组合,则,上述步骤 104中,可以根据预先设置的错误容忍策略,从一个以上的无效节点分区组合中选择一个节 点分区组合。
[0050] 在本发明的一些实施例中,上述实现故障隔离而使用的运行参数包括如下中的一 种或多种的组合:各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效 CPU个数和在位信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端 口链路状态。
[0051] 在本发明的一些实施例中,在上述步骤104之后,节点可以在互连之前完成单节 点CPU,内存初始化程序,之后再通过路由修改,全分区内存映射建立等设置完成整个分区 的全局配置。这样可以实现在节点互连之前得出CPU、内存状态,实现在出现故障节点时及 时隔离,不影响整个分区的启动。
[0052] 图2是本发明另一个实施例中对计算机系统进行分区的流程图。参见图2,在另一 个实施例中,对计算机系统进行分区的过程包括:
[0053] 步骤201 :建立节点连接模拟矩阵。
[0054] 本步骤中建立的节点连接模拟矩阵为:

【权利要求】
1. 一种计算机系统的分区方法,其特征在于,建立节点连接模拟矩阵,所述节点连接模 拟矩阵中的值包括连接指示值和非连接指示值; 还包括: 根据分区指令,确定所有可能的节点分区组合; 根据所述节点连接模拟矩阵,生成对应于每一个节点分区组合的子矩阵;所述子矩阵 中的每个元素值为连接指示值或非连接指示值; 根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距离,从而从 所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取无故障并 连接最紧密的组合作为最优分区。
2. 根据权利要求1所述的方法,其特征在于,所述建立节点连接模拟矩阵包括: 根据所述计算机系统中的所有节点及所有节点中任意两个节点是否直接连接的信息, 建立所述节点连接模拟矩阵,所述节点连接模拟矩阵中的每一行的元素分别指示每一个节 点与所述计算机系统中其它所有节点是否直接连接,其中,所述连接指示值为1,用于指示 任意两个节点直接连接;所述非连接指示值为0,用于指示任意两个节点不直接连接。
3. 根据权利要求1所述的方法,其特征在于,根据分区命令,列出所有可能的分区组 合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩阵的值及使子 矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选出所述连接最 为紧密的组合。
4. 根据权利要求3所述的方法,其特征在于,当所述子矩阵中包括0时,计算所述子矩 阵的连接相乘次数值包括: 子矩阵与自身相乘得新矩阵,检查新矩阵中每个元素的值,若还包括0,继续与原子矩 阵相乘,直到使所有矩阵元素值都不为0,记录使第一次使矩阵元素值都不为0的相乘次 数,将该最小相乘次数作为所述子矩阵的连接相乘次数值。
5. 根据权利要求1至4中任一所述的方法,其特征在于, 在得到最短连接距离的节点分区组合之后,进一步包括;实时获取该节点分区组合中 每一个节点对应的运行参数,根据运行参数确定每一个节点是否发生故障, 如果均未发生故障,则将该节点分区组合确定为有效的节点分区组合;则,所述从所有 组合中选出节点连接最为紧密的节点组合包括;从所有节点分区组合中选择一个连接最紧 密的有效节点分区组合; 如果不存在有效的节点分区组合,则,所述从一个W上的节点分区组合中选择一个节 点分区组合包括;根据预先设置的错误容忍策略,从一个W上的节点分区组合中选择一个 节点分区组合。
6. 根据权利要求5所述的方法,其特征在于,所述运行参数包括如下中的一种或多种 的组合: 各个CPU在位信息,内存容量及在位信息,动态收集的新建分区中有效CPU个数和在位 信息,内存容量,内存在位信息;CPU各个端口链路状态;节点控制器各个端口链路状态。
7. -种计算机系统的分区装置,其特征在于,包括: 建立单元,用于建立节点连接模拟矩阵,所述节点连接模拟矩阵中的值包括连接指示 值和非连接指示值; 确定单元,用于根据分区指令,确定所有可能的节点分区组合; 生成单元,用于根据所述模拟矩阵建立单元建立的所述节点连接模拟矩阵,生成对应 于每一个节点分区组合的子矩阵;所述子矩阵中的每个元素值为连接指示值或非连接指示 值; 选择单元,根据子矩阵的值及子矩阵的连接相乘次数,得出每个组合内节点的连接距 离,从而从所有组合中选出节点连接最为紧密的节点组合,确认组合内节点健康状态,选取 无故障并连接最紧密的组合作为最优分区。
8. 根据权利要求7所述的装置,其特征在于,所述建立单元根据所述计算机系统中的 所有节点及所有节点中任意两个节点是否直接连接的信息,建立所述节点连接模拟矩阵, 所述节点连接模拟矩阵中的每一行的元素分别指示每一个节点与所述计算机系统中其它 所有节点是否直接连接,其中,所述连接指示值为1,用于指示任意两个节点直接连接;所 述非连接指示值为0,用于指示任意两个节点不直接连接。
9. 根据权利要求7所述的装置,其特征在于,所述选择单元,根据分区命令,列出所有 可能的分区组合,并从所述的所有节点模拟连接矩阵中分离出对应的子矩阵,并根据子矩 阵的值及使子矩阵相乘后第一次所有元素不为0的相乘次数,得出所述节点连接距离,选 出所述连接最为紧密的组合。
10. -种计算机系统,包括两个W上的节点,管理系统和节点控制器,其中, 所述管理系统包括故障排除单元W及如权利要求7至11中任一所述的计算机系统的 分区装置, 所述故障排除单元,用于从每一个所述节点和节点控制器处获取运行参数,根据获取 的运行参数判断当前选择的节点分区组合中的节点及其节点控制器是否存在故障,如果存 在,则触发所述选择单元重新选择一个节点分区组合。
【文档编号】G06F15/16GK104462003SQ201410811750
【公开日】2015年3月25日 申请日期:2014年12月23日 优先权日:2014年12月23日
【发明者】王恩东, 胡雷钧, 邹定国, 黄家明, 乔英良, 王建红 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1