多主机管理装置、系统及方法与流程

摘要: 本公开涉及计算机,尤其涉及一种多主机管理装置、系统及方法。背景技术:1、在多主机共享处理器的应用场景中,当处理器发生故障需要执行全局复位时,由于该复位操作会影响...
多主机管理装置、系统及方法与流程

本公开涉及计算机,尤其涉及一种多主机管理装置、系统及方法。

背景技术:

1、在多主机共享处理器的应用场景中,当处理器发生故障需要执行全局复位时,由于该复位操作会影响处理器与所有主机之间的通信链路,导致各主机同时感知到链路异常并各自触发复位流程,多个主机并发执行的全局复位操作相互干扰,使得处理器陷入反复复位状态,无法恢复正常工作。

技术实现思路

1、有鉴于此,本公开提供了一种多主机管理装置、系统及方法。

2、根据本公开的第一个方面,提供了一种多主机管理装置,包括:

3、处理器,具有多个端口,处理器与多个主机通过多个端口分别建立通信链路;控制器,与多个主机建立通信连接,用于:响应于目标主机针对处理器的复位请求,获取状态信息;目标主机为多个主机中的其中之一;状态信息表征当前复位流程下各个主机针对处理器的复位状态;根据状态信息向目标主机发送指示指令,以调度目标主机对处理器执行全局复位操作;其中,全局复位操作能够中断处理器与多个主机之间的通信链路。

4、根据本公开的实施例,由于控制器与多个主机建立通信连接,使得控制器能够作为各主机之间的协调中枢。当目标主机发起复位请求时,控制器响应该请求获取状态信息,由于状态信息表征了当前复位流程下各主机的复位状态,使得控制器能够掌握哪些主机已经发起复位请求、哪些主机已经执行或正在执行复位操作。基于获取的状态信息,控制器能够判断当前是否已有主机执行全局复位操作,进而根据判断结果向目标主机发送相应的指示指令。由于指示指令用于调度目标主机对处理器的全局复位操作,使得控制器可以指示首个发起请求的主机执行全局复位操作,而指示其他主机跳过该操作。上述实施例可以确保在当前复位流程中仅有一个主机执行全局复位操作,从而避免了多个主机并发执行全局复位操作相互干扰的问题,使处理器能够完成复位并恢复正常工作。

5、根据本公开的实施例,控制器包括多个存储区域;状态信息包括多种不同的状态值;多种不同的状态值分别存储于不同的存储区域中;多个存储区域至少包括:修复状态区域,用于存储当前复位流程下各个主机的修复状态值;复位状态区域,用于存储当前复位流程下各个主机的复位状态值。

6、根据本公开的实施例,由于控制器包括多个存储区域,且多种不同的状态值分别存储于不同的存储区域中,使得各类状态值能够独立存储和更新。由于多个存储区域至少包括修复状态区域和复位状态区域,修复状态区域存储当前复位流程下各个主机的修复状态值,复位状态区域存储当前复位流程下各个主机的复位状态值,使得控制器能够分别跟踪各主机的修复进度和复位进度,进而基于细化的状态信息对各主机的全局复位操作进行精准调度。

7、根据本公开的实施例,控制器,还用于:当各个主机的修复状态值均表征非修复状态且各个主机的复位状态值均表征为非复位状态时,确定目标主机为第一主机;第一主机为当前复位流程下首个发起复位请求的主机;向第一主机发送允许复位指令,以指示第一主机执行全局复位操作。

8、根据本公开的实施例,由于控制器判断各个主机的修复状态值均为非修复状态且各个主机的复位状态值均为非复位状态,使得控制器能够确定当前没有主机正在执行复位流程。基于该判断结果,控制器确定目标主机为第一主机,即当前复位流程下首个发起复位请求的主机,并向第一主机发送允许复位指令以指示其执行全局复位操作,而后续发起请求的其他主机由于不满足上述条件将不会收到允许复位指令,从而确保在一个复位流程中仅有第一主机执行全局复位操作。

9、根据本公开的实施例,控制器,还用于:当各个主机中至少存在一个主机的修复状态值表征修复状态,或至少存在一个主机的复位状态值表征复位状态时,确定目标主机为第二主机;第二主机为当前复位流程下非首个发起复位请求的主机;向第二主机发送禁止复位指令,以指示第二主机跳过全局复位操作。

10、根据本公开的实施例,由于控制器判断各个主机中至少存在一个主机的修复状态值为修复状态或至少存在一个主机的复位状态值为复位状态,使得控制器能够确定当前已有主机正在执行复位流程。基于该判断结果,控制器确定目标主机为第二主机,即当前复位流程下非首个发起复位请求的主机,并向第二主机发送禁止复位指令以指示其跳过全局复位操作,从而避免第二主机重复执行全局复位操作而干扰第一主机已启动的复位流程。

11、根据本公开的实施例,多个存储区域还包括分片区域,用于存储区域数量信息;区域数量信息表征与各个主机对应的修复状态区域和复位状态区域的数量;区域数量信息与处理器的端口数量相对应。

12、根据本公开的实施例,由于多个存储区域还包括分片区域用于存储区域数量信息,使得控制器能够记录存储区域的配置信息。由于区域数量信息表征与各个主机对应的修复状态区域和复位状态区域的数量,使得控制器能够明确需要管理的状态区域总数。由于区域数量信息与处理器的端口数量相对应,使得控制器能够根据实际连接的主机数量动态确定存储区域的配置,从而适应不同规模的多主机系统。

13、根据本公开的实施例,控制器,还用于:当处于修复状态的主机数量与处理器的端口数量相同时,确定目标主机为第三主机;第三主机为当前复位流程下最后一个发起复位请求的主机;向第三主机发送禁止复位指令和状态清零指令,以指示第三主机跳过全局复位操作,以及将各主机的修复状态值和各主机的复位状态值恢复至初始状态。

14、根据本公开的实施例,由于控制器判断处于修复状态的主机数量与处理器的端口数量相同,使得控制器能够确定所有主机均已完成修复,当前复位流程即将结束。基于该判断结果,控制器确定目标主机为第三主机,即当前复位流程下最后一个发起复位请求的主机,并向第三主机发送禁止复位指令以指示其跳过全局复位操作,同时发送状态清零指令以指示第三主机将各主机的修复状态值和复位状态值恢复至初始状态,从而完成当前复位流程并为下一次复位流程做好准备。

15、根据本公开的实施例,处理器还用于:配置多个端口的数量;控制器,还用于:响应于处理器的端口数量变化,更新分片区域中的区域数量信息。

16、根据本公开的实施例,由于处理器能够配置多个端口的数量,使得系统能够灵活调整连接的主机数量。由于控制器响应于处理器的端口数量变化而更新分片区域中的区域数量信息,使得控制器能够动态同步存储区域配置与实际端口配置保持一致,从而实现系统的动态扩展而无需重新初始化整个系统。

17、根据本公开的实施例,多个存储区域还包括工作状态区域,工作状态区域存储各主机的工作状态值;工作状态值用于确定对应主机在当前复位流程中的管理范围。

18、根据本公开的实施例,由于多个存储区域还包括工作状态区域用于存储各主机的工作状态值,使得控制器能够记录各主机的运行状态信息。由于工作状态值用于确定对应主机在当前复位流程中的管理范围,使得控制器能够根据不同主机的工作状态实施差异化的复位管理策略,从而实现更精细的复位流程控制。

19、本公开的第二方面提供了一种多主机系统,包括:多个主机;如上述多主机管理装置;多个主机分别与多主机管理装置建立通信链路。

20、本公开的第三方面提供了一种多主机管理方法,应用于上述多主机管理装置中的控制器,方法包括:响应于目标主机针对处理器的复位请求,获取状态信息;目标主机为多个主机中的其中之一;状态信息表征当前复位流程下各个主机针对处理器的复位状态;根据状态信息向目标主机发送指示指令,以调度目标主机对处理器执行全局复位操作;其中,全局复位操作能够中断处理器与多个主机之间的通信链路。

21、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。