掌桥专利:专业的专利平台
掌桥专利
首页

跨机柜服务器内存池化方法、装置、设备、服务器及介质

文献发布时间:2024-04-18 19:55:00


跨机柜服务器内存池化方法、装置、设备、服务器及介质

技术领域

本发明涉及服务器领域,特别是涉及一种跨机柜服务器内存池化方法,本发明还涉及一种跨机柜服务器内存池化装置、设备、服务器及计算机可读存储介质。

背景技术

大数据时代,服务器广泛地应用于各行各业,服务器也经常以集群的形式出现,服务器集群通常包含多个服务器机柜,每个机柜内包含有多个服务器,随着技术的发展,每个服务器机柜内的所有服务器对于内存资源的需求也越来越大,但是直接增加服务器机柜的内存设备不但会增大服务器机柜的体积也会增加成本,限制内存设备的使用数量又会导致服务器机柜出现性能瓶颈。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

本发明的目的是提供一种跨机柜服务器内存池化方法,可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率;本发明的另一目的是提供一种跨机柜服务器内存池化装置、设备、服务器及计算机可读存储介质,可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

为解决上述技术问题,本发明提供了一种跨机柜服务器内存池化方法,包括:

响应于自身所在机柜外的目标机柜发送的对于第一目标设备的内存申请请求,将自身所在机柜对所述第一目标设备的控制权限转移至所述目标机柜,以便所述目标机柜使用所述第一目标设备的内存;

响应于所述目标机柜通过通信装置发送的对于所述第一目标设备内存中待读出数据的内存读请求,将所述第一目标设备内存中的所述待读出数据通过所述通信装置发送至所述目标机柜;

响应于所述目标机柜通过所述通信装置发送的对于所述第一目标设备内存的内存写请求,将所述目标机柜通过所述通信装置发送的待写入数据写入所述第一目标设备的内存。

优选地,所述通信装置包括:

分别与自身一一对应的服务器机柜以及第一通信网络连接的多个处理装置,用于将主服务器机柜发送的内存使用请求以及待读写数据发送至第一通信网络,将通过所述第一通信网络接收到的所述内存使用请求以及所述待读写数据发送至所述主服务器机柜;

所述第一通信网络,用于将接收到的所述内存使用请求以及所述待读写数据发送至各自的目的机柜对应的所述处理装置;

其中,所述内存使用请求包括所述内存读请求以及所述内存写请求,所述待读写数据包括所述待写入数据以及所述待读出数据,所述主服务器机柜为与所述处理装置连接的服务器机柜。

优选地,所述处理装置包括:

与自身一一对应的服务器机柜连接的存储装置,用于将所述主服务器机柜发送的所述内存使用请求以及所述待读写数据发送至控制装置,将所述控制装置通过所述第一通信网络接收到的所述内存使用请求以及所述待读写数据均发送至所述主服务器机柜;

分别与所述存储装置以及所述第一通信网络连接的控制装置,用于将所述存储装置发送的所述内存使用请求以及所述待读写数据发送至所述第一通信网络,将通过所述第一通信网络接收到的所述内存使用请求以及所述待读写数据发送至所述主服务器机柜。

优选地,所述存储装置包括:

与自身一一对应的服务器机柜连接的存储设备,用于将所述主服务器机柜发送的所述内存使用请求发送至控制装置,将所述主服务器机柜发送的所述待读写数据发送至缓存装置,将所述控制装置通过所述第一通信网络接收到的所述内存使用请求发送至所述主服务器机柜,将控制装置写入所述缓存装置的所述待读写数据发送至所述主服务器机柜;

与所述存储设备连接的所述缓存装置;

则所述控制装置分别与所述存储设备、所述缓存装置以及所述第一通信网络连接控制装置,所述控制装置具体用于,将所述存储设备发送的所述内存使用请求发送至所述第一通信网络,将所述存储设备发送至所述缓存装置的所述待读写数据发送至所述第一通信网络,将通过所述第一通信网络接收到的所述内存使用请求发送至所述存储设备,将通过所述第一通信网络接收到的所述待读写数据发送至所述缓存装置。

优选地,所述控制装置包括格式转换模块以及控制器;

所述格式转换模块,用于将所述存储设备发送至所述控制器的所述内存使用请求由所述主服务器机柜的第一数据格式转换为指定的第二数据格式,以便所述控制器识别使用,并将所述主服务器机柜发送至所述存储设备的所述内存使用请求由所述第二数据格式转换为所述第一数据格式;

所述控制器,用于将所述格式转换模块发送的所述内存使用请求发送至所述第一通信网络,将所述存储设备发送至所述缓存装置的所述待读写数据发送至所述第一通信网络,将通过所述第一通信网络接收到的所述内存使用请求发送至所述格式转换模块,将通过所述第一通信网络接收到的所述待读写数据发送至所述缓存装置。

优选地,所述存储设备、所述格式转换模块以及所述控制器组成的整体为现场可编程逻辑门阵列FPGA。

优选地,所述第一通信网络为基于计算快速链接CXL协议的远程直接数据存取RDMA网络。

优选地,应用于服务器;

该跨机柜服务器内存池化方法还包括:

响应于自身所在机柜内的第一目标服务器发送的对于第二目标设备的内存申请请求,解除自身对所述第二目标设备的控制并向所述第一目标服务器发送申请成功指令,以便所述第一目标服务器响应于接收到的所述申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及所述第二目标设备进行内存统一编址;

其中,单个服务器机柜内的所有服务器的CPU均与第二通信网络连接,单个所述服务器机柜内的所有包含内存的异构计算设备均与所述第二通信网络连接。

优选地,该跨机柜服务器内存池化方法还包括:

在自身内存空间不足时,判断自身所在机柜内的其他服务器中是否存在剩余内存资源;

若存在,则向自身所在机柜内的第二目标服务器发送对于第三目标设备的内存申请请求;

响应于从所述第二目标服务器接收到的所述申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及所述第二目标设备进行内存统一编址,以便进行内存使用。

优选地,所述响应于从所述第二目标服务器接收到的所述申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及所述第二目标设备进行内存统一编址之后,该跨机柜服务器内存池化方法还包括:

将自身当前管辖的所有包含内存的异构计算设备信息分别发送至自身所在服务器机柜内且与自身保持通信的其他服务器。

优选地,所述第二通信网络为虚拟高速总线桥网络vHSBB。

优选地,该跨机柜服务器内存池化方法还包括:

控制提示器提示自身当前管辖的所有包含内存的异构计算设备信息。

优选地,该跨机柜服务器内存池化方法还包括:

在自身内存空间不足时,判断自身所在机柜内的其他服务器中是否存在剩余内存资源;

若不存在,则向自身所在机柜外的目标机柜发送对于第四目标设备的内存申请请求;

判断是否接收到目标机柜反馈的申请成功信号;

若接收到,则向所述目标机柜中申请到的所述第四目标设备发送内存使用请求。

优选地,所述判断是否接收到目标机柜反馈的申请成功信号之后,该跨机柜服务器内存池化方法还包括:

若未接收到,则控制提示器提示内存申请失败。

优选地,该跨机柜服务器内存池化方法还包括:

判断自身当前管辖的所有包含内存的异构计算设备的空闲内存空间是否大于预设数值;

若大于,则判断大于所述预设数值的所述空闲内存空间的存在时长是否达到预设时长;

若达到,则控制提示器提示内存空闲。

优选地,所述判断大于所述预设数值的所述空闲内存空间的存在时长是否达到预设时长之后,该跨机柜服务器内存池化方法还包括:

若达到,则确定出自身所在服务器机柜中当前具备的剩余内存空间最小的第三目标服务器;

将自身管辖的剩余内存空间最大的异构计算设备的控制权转移至所述第三目标服务器。

为解决上述技术问题,本发明还提供了一种跨机柜服务器内存池化装置,包括:

权限管理模块,用于响应于自身所在机柜外的目标机柜发送的对于第一目标设备的内存申请请求,将自身所在机柜对所述第一目标设备的控制权限转移至所述目标机柜,以便所述目标机柜使用所述第一目标设备的内存;

第一动作模块,用于响应于所述目标机柜通过通信装置发送的对于所述第一目标设备内存中待读出数据的内存读请求,将所述第一目标设备内存中的所述待读出数据通过所述通信装置发送至所述目标机柜;

第二动作模块,用于响应于所述目标机柜通过所述通信装置发送的对于所述第一目标设备内存的内存写请求,将所述目标机柜通过所述通信装置发送的待写入数据写入所述第一目标设备的内存。

为解决上述技术问题,本发明还提供了一种跨机柜服务器内存池化设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述跨机柜服务器内存池化方法的步骤。

为解决上述技术问题,本发明还提供了一种服务器,包括服务器本体以及与所述服务器本体连接的如上所述的跨机柜服务器内存池化设备。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述跨机柜服务器内存池化方法的步骤。

本发明提供了一种跨机柜服务器内存池化方法,考虑到同一服务器集群中不同服务器机柜的内存使用情况不同,本申请在不同服务器机柜间搭建了通信装置,服务器机柜可以向其他服务器机柜申请第一目标设备的内存使用权,在申请到内存使用权后,便可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

本发明还提供了一种跨机柜服务器内存池化装置、设备、服务器及计算机可读存储介质,具有如上跨机柜服务器内存池化方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种跨机柜服务器内存池化方法的流程示意图;

图2为本发明提供的一种通信装置的结构示意图;

图3为本发明提供的一种节点内存池化系统的结构示意图;

图4为本发明提供的一种机柜内存池化系统的结构示意图;

图5为本发明提供的一种服务器内存优化装置的结构示意图;

图6为本发明提供的一种服务器内存优化设备的结构示意图;

图7为本发明提供的一种计算机可读存储介质的结构示意图。

具体实施方式

本发明的核心是提供一种跨机柜服务器内存池化方法,可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率;本发明的另一核心是提供一种跨机柜服务器内存池化装置、设备、服务器及计算机可读存储介质,可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明提供的一种跨机柜服务器内存池化方法的流程示意图,该跨机柜服务器内存池化方法包括:

S101:响应于自身所在机柜外的目标机柜发送的对于第一目标设备的内存申请请求,将自身所在机柜对第一目标设备的控制权限转移至目标机柜,以便目标机柜使用第一目标设备的内存;

具体的,考虑到如上背景技术中的技术问题,又结合同一服务器集群中不同服务器机柜的内存使用情况不同,某一时刻下内存使用少的服务器机柜存在内存资源的浪费,而内存使用多的服务器机柜则存在缺乏内存资源的情况,因此本申请欲将各个服务器机柜的内存进行池化,也即通过本申请可以将各个服务器机柜的内存视作一个整体,各个服务器机柜在需要内存时则可以从这个池化的内存池中进行内存的使用,从而实现多个服务器机柜间的内存资源有效利用,避免了内存资源的浪费,在这种情况下无需添加额外的内存设备便可以满足服务器机柜的内存使用需求。

具体的,服务器机柜的内存体现为很多包含内存的设备(通常为异构计算设备),例如包括具备本地内存的通用加速器(GPU(Graphics Processing Unit,图形处理器)以及ASIC(Application Specific Integrated Circuit,专用集成电路)等)以及扩展内存(DRAM以及非易失性存储等),本申请中所谓的机柜间内存池化的具体特征体现在一个机柜可以向另一个机柜申请“包含内存的设备”的使用权,获取了使用权便相当于获得了该设备所具备的内存,因此首先本申请中的不同服务器机柜间可以进行通信,以便申请对方机柜内设备的内存使用权,因此本申请中可以响应于自身所在机柜外的目标机柜发送的对于第一目标设备的内存申请请求,将自身所在机柜对第一目标设备的控制权限转移至目标机柜,以便目标机柜使用第一目标设备的内存。

S102:响应于目标机柜通过通信装置发送的对于第一目标设备内存中待读出数据的内存读请求,将第一目标设备内存中的待读出数据通过通信装置发送至目标机柜;

具体的,在将自身所在机柜对第一目标设备的控制权限转移至目标机柜后,目标机柜便可以展开对第一目标设备内存的使用,考虑到内存的使用需要进行数据传输,本申请预先在服务器机柜间设置了通信装置,因此本发明实施例中可以响应于目标机柜通过通信装置发送的对于第一目标设备内存中待读出数据的内存读请求,将第一目标设备内存中的待读出数据通过通信装置发送至目标机柜,从而实现了目标机柜对另一个服务器机柜中第一目标设备内存的读操作。

S103:响应于目标机柜通过通信装置发送的对于第一目标设备内存的内存写请求,将目标机柜通过通信装置发送的待写入数据写入第一目标设备的内存。

具体的,同样的,本发明实施例中还可以响应于目标机柜通过通信装置发送的对于第一目标设备内存的内存写请求,将目标机柜通过通信装置发送的待写入数据写入第一目标设备的内存,也即目标机柜可以实现对另一个服务器机柜中的第一目标设备内存进行写操作,至此便实现了目标机柜对于另一服务器机柜中第一目标设备内存的读操作与写操作,也即可以顺利实现对于另一服务器机柜中第一目标设备内存的使用。

本发明提供了一种跨机柜服务器内存池化方法,考虑到同一服务器集群中不同服务器机柜的内存使用情况不同,本申请在不同服务器机柜间搭建了通信装置,服务器机柜可以向其他服务器机柜申请第一目标设备的内存使用权,在申请到内存使用权后,便可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

在上述实施例的基础上:

作为一种优选的实施例,通信装置包括:

分别与自身一一对应的服务器机柜以及第一通信网络2连接的多个处理装置1,用于将主服务器机柜发送的内存使用请求以及待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求以及待读写数据发送至主服务器机柜;

第一通信网络2,用于将接收到的内存使用请求以及待读写数据发送至各自的目的机柜对应的处理装置1;

其中,内存使用请求包括内存读请求以及内存写请求,待读写数据包括待写入数据以及待读出数据,主服务器机柜为与处理装置1连接的服务器机柜。

具体的,为了更好地本发明实施例进行说明,请参考图2,图2为本发明提供的一种通信装置的结构示意图。

具体的,考虑到为了实现数据传输需要通信网络,因此本发明实施例中的通信装置包含第一通信网络2,而每一个连接至第一通信网络2的服务器机柜可以通过专用的处理装置1进行相应的数据以及请求的处理,以便提升服务器机柜间数据传输的可靠性,因此本发明实施例中可以为各个服务器机柜设置一一对应的处理装置1,从而顺利地支撑各个服务器机柜对另一服务器机柜中的设备完成内存的读写操作。

其中,内存写请求、内存读请求以及待写入数据的流向均可以为从主服务器机柜流向目的机柜,待读出数据的流向可以为从内存读请求的目的机柜返回内存读请求的主服务器机柜。

作为一种优选的实施例,处理装置1包括:

与自身一一对应的服务器机柜连接的存储装置11,用于将主服务器机柜发送的内存使用请求以及待读写数据发送至控制装置12,将控制装置12通过第一通信网络2接收到的内存使用请求以及待读写数据均发送至主服务器机柜;

分别与存储装置11以及第一通信网络2连接的控制装置12,用于将存储装置11发送的内存使用请求以及待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求以及待读写数据发送至主服务器机柜。

具体的,存储装置11可以与主服务器机柜直连,从而向主服务器机柜呈现一个存储池,也即主服务器机柜可以从存储装置11这个“动态的存储池”中获取内存资源进行使用,有利于提升用户体验。

具体的,控制装置12则可以在存储装置11与第一通信网络2之间进行请求信号以及数据的转达。

其中,本发明实施例中的处理装置1具有结构简单以及故障率低等优点。

当然,除了该具体结构外,处理装置1还可以为其他具体形式,本发明实施例在此不做限定。

作为一种优选的实施例,存储装置11包括:

与自身一一对应的服务器机柜连接的存储设备111,用于将主服务器机柜发送的内存使用请求发送至控制装置12,将主服务器机柜发送的待读写数据发送至缓存装置112,将控制装置12通过第一通信网络2接收到的内存使用请求发送至主服务器机柜,将控制装置12写入缓存装置112的待读写数据发送至主服务器机柜;

与存储设备111连接的缓存装置112;

则控制装置12分别与存储设备111、缓存装置112以及第一通信网络2连接控制装置12,控制装置12具体用于,将存储设备111发送的内存使用请求发送至第一通信网络2,将存储设备111发送至缓存装置112的待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求发送至存储设备111,将通过第一通信网络2接收到的待读写数据发送至缓存装置112。

具体的,与自身对应的服务器机柜直连的存储设备111同样可以向与自身直连的服务器机柜呈现一个容量动态变化的存储设备111,有利于提升用户体验。

其中,考虑到机柜间内存读写的数据量较大时便会出现数据拥塞的情况,可能会降低数据读写效率,因此本发明实施例中的存储装置11可以包括缓存装置112,缓存装置112可以对待读写数据进行缓存,从而有利于减少数据丢失,并提升数据读写效率,进一步提升了用户体验。

作为一种优选的实施例,控制装置12包括格式转换模块121以及控制器122;

格式转换模块121,用于将存储设备111发送至控制器122的内存使用请求由主服务器机柜的第一数据格式转换为指定的第二数据格式,以便控制器122识别使用,并将主服务器机柜发送至存储设备111的内存使用请求由第二数据格式转换为第一数据格式;

控制器122,用于将格式转换模块121发送的内存使用请求发送至第一通信网络2,将存储设备111发送至缓存装置112的待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求发送至格式转换模块121,将通过第一通信网络2接收到的待读写数据发送至缓存装置112。

具体的,考虑到各个服务器机柜中所使用的数据格式与控制器122所能识别使用的数据格式有可能并不统一,因此为了保证内存读写工作的可靠进行,本发明实施例中的格式转换模块121可以用于将存储设备111发送至控制器122的内存使用请求由主服务器机柜的第一数据格式转换为指定的第二数据格式,以便控制器122识别使用,并将主服务器机柜发送至存储设备111的内存使用请求由第二数据格式转换为第一数据格式,基于此,控制器122便可以将格式转换模块121发送的内存使用请求发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求发送至格式转换模块121。

其中,本发明实施例中的控制装置12具有结构简单以及故障率低的优点。

当然,除了该具体构造外,控制装置12还可以为其他具体形式,本发明实施例在此不做限定。

作为一种优选的实施例,存储设备111、格式转换模块121以及控制器122组成的整体为FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)。

具体的,考虑到FPGA具有体积小、成本低以及使用灵活等优点,因此本发明实施例中基于FPGA实现存储设备111、格式转换模块121以及控制器122。

当然,除了FPGA外,存储设备111、格式转换模块121以及控制器122分别还可以为其他具体类型,本发明实施例在此不做限定。

作为一种优选的实施例,第一通信网络2为基于CXL(Compute Express Link,计算快速链接)协议的RDMA(Remote Direct Memory Access,远程直接数据存取)网络。

具体的,考虑到基于CXL协议的RDMA网络具有传输速率快以及稳定性强等优点,因此本发明实施例中的第一通信网络2可以采用基于CXL协议的RDMA网络。

当然,除了基于CXL协议的RDMA网络外,第一通信网络2还可以为其他具体类型,本发明实施例在此不做限定。

作为一种优选的实施例,应用于服务器;

该跨机柜服务器内存池化方法还包括:

响应于自身所在机柜内的第一目标服务器发送的对于第二目标设备的内存申请请求,解除自身对第二目标设备的控制并向第一目标服务器发送申请成功指令,以便第一目标服务器响应于接收到的申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址;

其中,单个服务器机柜内的所有服务器的CPU均与第二通信网络连接,单个服务器机柜内的所有包含内存的异构计算设备均与第二通信网络连接。

为了更好地对本发明实施例进行说明,请参考图3、图4以及下表1,图3为本发明提供的一种节点内存池化系统的结构示意图;图4为本发明提供的一种机柜内存池化系统的结构示意图,表1为SCMP协议的子协议功能描述表。

表1:SCMP协议的子协议功能描述表

具体的,计算架构支持不同类型的计算节点,包括通用CPU节点,混合内存节点,多擎计算节点。通用CPU计算节点中包含CPU计算设备以及DRAM(Dynamic Random AccessMemory,动态随机存取存储器)内存;混合内存节点中包含CPU、DRAM内存以及持久性内存;多擎计算节点中包含CPU、DRAM内存以及多种异构计算设备。

其中,SCMP(Security Context Mapping Protocol,安全上下文映射协议)协议兼容CXL协议,节点内支持3种不同类型设备扩展,Type-1(第一类型)设备代表没有本地内存的加速器(智能网卡等),使用SCMP.io以及SCMP.cache两种子协议,实现智能网卡对CPU端侧缓存的一致性读取;Type-2(第二类型)设备代表具有本地内存的通用加速器(GPU、ASIC等),使用SCMP.io、SCMP.cache以及SCMP.mem三种子协议,实现CPU对加速器中缓存的读取,也实现加速器对CPU端侧的缓存一致性读取。Type-3(第三类型)设备代表扩展内存(DRAM、非易失性存储等),使用SCMP.io以及SCMP.mem两种子协议。实现CPU对第三类型设备缓存的一致性读取。在CPU端侧放置有HA(Home Agent,主机端代理),负责内存的读写操作;在设备端侧放置有CA(Cache Agent,高速缓存代理),负责缓存cache内容的管理。两者共同维护内存的一致性。

具体的,针对于图3,为了实现服务器机柜间的内存池化,则可以预先实现单个服务器机柜内的内存池化,本发明实施例中提供了一种机柜内的内存池化的具体方法,服务器机柜内的各个服务器可以进行通信以便对于其他服务器内的包含内存的第二目标设备进行内存申请,如果条件允许,那么接收到内存申请的服务器便可以解除自身对第二目标设备的控制并向第一目标服务器发送申请成功指令,以便第一目标服务器响应于接收到的申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址,以便实现对于自身当前管辖的所有包含内存的异构计算设备以及第二目标设备的内存使用。

具体的,针对于图4,本发明提出一种基于CXL协议的SCMP交换技术,机架内(节点之间)通过互连链路高效切换结合热插拔技术,实现跨节点内存扩展,分别支持使用SCMP.io与SCMP.mem协议的第二类型设备与使用SCMP.io、SCMP.cache以及SCMP.mem协议的第三类型设备。其中根聚合点(Root port)可以将多个第二类型与第三类型设备集合到一起,并挂载到CPU下方。Root port与虚拟高速总线桥连接,本地第一类型、第二类型与第三类型设备通过虚拟高速总线桥延伸出的虚拟物理绑定接口连接并汇聚到Root port 物理接口中。HSBB为High Speed Bus Bridge(高速总线桥),VHS为Virtual HSBB Switch(虚拟高速总线桥转换器),vHSBB为虚拟高速总线桥。跨节点内存扩展只支持将VHS1设备下的第二类型与第三类型设备扩展到VHS0中,实现原理为:当root port1中的Type1设备内存或者Type2设备内存被逻辑划分到root port0时,root port0中的CPU重新对root port0下的Type-1,Type-2,Type-3设备与root port1下的Type-2,Type-3重新进行内存统一编址,共同被root port0中的CPU统一管理并分配使用,同时root port1中的CPU以及其他计算设备失去对本地Type2设备内存或者Type3设备内存的访问权限。

具体的,针对于图2,本发明重点保护范围在于机架间内存扩展策略。机架间通过接入支持SCMP.rmem协议的Type-4设备(也即图2中的处理装置1),实现“超高速总线到高速网络转换”的跨机架内存一致性互连,其中超高速总线为机架内部/节点内部所使用的PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线标准)5.0以上的物理链路,高速互联网络指的是基于IB(InfiniBand,无限带宽)/RoCE(RDMA overConverged Ethernet,融合以太网上的RDMA)/iWARP(Internet Wide Area RDMAProtocol,因特网广域RDMA协议)实现的RDMA网络,机柜通过之间高速交换机互连。本地Type-4设备实现机柜之间的内存一致性互连,其物理连接示意图为图2所示。

其中,图2中左侧为机柜内部超高速互连总线及其接口,左侧右侧为高速网络及其接口;中间为超高速互连总线到高速互连网络转换的物理部件图,其工作原理为:当扩展机柜端侧(不与连接装置直连的服务器机柜)的Type-2设备或者Type-3设备的内存划归为主机柜端侧CPU管理时,扩展机柜端的内存与主机柜内存实现统一编址,统一管理。当主机柜CPU使用扩展机柜端内存时,控制器将扩展机柜端内存数据缓存至缓存装置内,实现远端数据本地缓存(Local data Remote coherence),缓存装置可以由DDR5(Double Data Rate5,第五代双倍数据速率存储器)内存组成,当前支持最大容量为512GB,地址翻译模块实现将扩展机柜中的内存地址转换为主机柜中CPU可以识别的内存地址。

其中,单个服务器机柜内的所有服务器的CPU均与第二通信网络连接,单个服务器机柜内的所有包含内存的异构计算设备均与第二通信网络连接,如此一来,各个服务器便与机柜内所有包含内存的异构计算设备均存在基础的通信链路,在申请到内存使用权后便可以对申请到设备进行内存使用。

作为一种优选的实施例,该跨机柜服务器内存池化方法还包括:

在自身内存空间不足时,判断自身所在机柜内的其他服务器中是否存在剩余内存资源;

若存在,则向自身所在机柜内的第二目标服务器发送对于第三目标设备的内存申请请求;

响应于从第二目标服务器接收到的申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址,以便进行内存使用。

具体的,考虑到对于单个服务器来说,其可以被申请内存,同样在内存缺乏的时候也需要向其他服务器申请内存,因此本发明实施例中的服务器可以主动向自身所在机柜内的第二目标服务器发送对于第三目标设备的内存申请请求,如果第二目标服务器允许,便可以从第二目标服务器接收到的申请成功指令,并对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址,以便进行内存使用。

作为一种优选的实施例,响应于从第二目标服务器接收到的申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址之后,该跨机柜服务器内存池化方法还包括:

将自身当前管辖的所有包含内存的异构计算设备信息分别发送至自身所在服务器机柜内且与自身保持通信的其他服务器。

具体的,考虑到各个服务器在向其他服务器申请内存时,最好可以提前知道其他各个服务器管辖的包含内存的异构计算设备的情况,从而提高申请效率,因此本发明实施例中的服务器还可以将自身当前管辖的所有包含内存的异构计算设备信息分别发送至自身所在服务器机柜内且与自身保持通信的其他服务器。

其中,自身当前管辖的所有包含内存的异构计算设备信息可以包含多种内容,例如设备类型,设备名称,设备地址以及设备内存使用情况等,本发明实施例在此不做限定。

作为一种优选的实施例,第二通信网络为vHSBB(Virtual High Speed BusBridge,虚拟高速总线桥网络)。

具体的,vHSBB具有通信速率高以及稳定性强等优点。

当然,除了vHSBB外,第二通信网络还可以为其他类型,本发明实施例在此不做限定。

作为一种优选的实施例,该跨机柜服务器内存池化方法还包括:

控制提示器提示自身当前管辖的所有包含内存的异构计算设备信息。

具体的,考虑到用户在某些情况下存在知晓各个服务器当前管辖的所有包含内存的异构计算设备信息的需求,因此本发明实施例中的服务器可以控制提示器提示自身当前管辖的所有包含内存的异构计算设备信息,有利于提升用户体验。

其中,提示器可以为多种类型,例如可以为显示器等,本发明实施例在此不做限定。

作为一种优选的实施例,该跨机柜服务器内存池化方法还包括:

在自身内存空间不足时,判断自身所在机柜内的其他服务器中是否存在剩余内存资源;

若不存在,则向自身所在机柜外的目标机柜发送对于第四目标设备的内存申请请求;

判断是否接收到目标机柜反馈的申请成功信号;

若接收到,则向目标机柜中申请到的第四目标设备发送内存使用请求。

具体的,为了实现双向的内存申请,本发明实施例中的服务器机柜也可以在自身内存空间不足,且自身所在机柜内的其他服务器不存在剩余内存资源时,向自身所在机柜外的目标机柜发送对于第四目标设备的内存申请请求,如果接收到目标机柜反馈的申请成功信号,便可以向目标机柜中申请到的第四目标设备发送内存使用请求以开始内存使用,提升了内存互相使用的灵活性。

作为一种优选的实施例,判断是否接收到目标机柜反馈的申请成功信号之后,该跨机柜服务器内存池化方法还包括:

若未接收到,则控制提示器提示内存申请失败。

具体的,考虑到因为链路故障等原因可能存在内存申请失败的情况,为了便于工作人员及时知晓该异常情况,本发明实施例中还可以在未接收到目标机柜反馈的申请成功信号时,控制提示器提示内存申请失败。

其中,“未接收到目标机柜反馈的申请成功信号”的判定可以通过预设的超时时长进行判断,如果在发出内存申请之后的超过超时时长的时间未接收到申请成功信号,便可以判定未接收到目标机柜反馈的申请成功信号。

其中,超市时长可以进行自主设定,本发明实施例在此不做限定。

作为一种优选的实施例,该跨机柜服务器内存池化方法还包括:

判断自身当前管辖的所有包含内存的异构计算设备的空闲内存空间是否大于预设数值;

若大于,则判断大于预设数值的空闲内存空间的存在时长是否达到预设时长;

若达到,则控制提示器提示内存空闲。

具体的,考虑到某些情况下服务器管辖的所有包含内存的异构计算设备中,空闲内存空间大于预设数值的状态可能持续较长时间,这种情况可能由多种因素造成,无论如何都造成了资源的浪费,因此本发明实施例中可以在这种情况下控制提示器提示内存空闲,以便工作人员介入进行干涉,有利于进一步提升资源利用率。

作为一种优选的实施例,判断大于预设数值的空闲内存空间的存在时长是否达到预设时长之后,该跨机柜服务器内存池化方法还包括:

若达到,则确定出自身所在服务器机柜中当前具备的剩余内存空间最小的第三目标服务器;

将自身管辖的剩余内存空间最大的异构计算设备的控制权转移至第三目标服务器。

具体的,为了自动化地提高资源利用率,本发明实施例中可以在判定大于预设数值的空闲内存空间的存在时长达到预设时长之后,确定出自身所在服务器机柜中当前具备的剩余内存空间最小的第三目标服务器,并将自身管辖的剩余内存空间最大的异构计算设备的控制权转移至第三目标服务器,以便省去第三目标服务器主动申请内存的动作时间,提高了工作效率以及用户体验。

请参考图5,图5为本发明提供的一种跨机柜服务器内存池化装置的结构示意图,该跨机柜服务器内存池化装置包括:

权限管理模块51,用于响应于自身所在机柜外的目标机柜发送的对于第一目标设备的内存申请请求,将自身所在机柜对第一目标设备的控制权限转移至目标机柜,以便目标机柜使用第一目标设备的内存;

第一动作模块52,用于响应于目标机柜通过通信装置发送的对于第一目标设备内存中待读出数据的内存读请求,将第一目标设备内存中的待读出数据通过通信装置发送至目标机柜;

第二动作模块53,用于响应于目标机柜通过通信装置发送的对于第一目标设备内存的内存写请求,将目标机柜通过通信装置发送的待写入数据写入第一目标设备的内存。

本发明提供了一种跨机柜服务器内存池化装置,考虑到同一服务器集群中不同服务器机柜的内存使用情况不同,本申请在不同服务器机柜间搭建了通信装置,服务器机柜可以向其他服务器机柜申请第一目标设备的内存使用权,在申请到内存使用权后,便可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

对于本发明实施例提供的跨机柜服务器内存池化装置的介绍请参照前述的跨机柜服务器内存池化方法的实施例,本发明实施例在此不再赘述。

请参考图6,图6为本发明提供的一种跨机柜服务器内存池化设备的结构示意图,该跨机柜服务器内存池化设备包括:

存储器61,用于存储计算机程序;

处理器62,用于执行计算机程序时实现如前述实施例中跨机柜服务器内存池化方法的步骤。

具体的,存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器执行存储器中保存的计算机程序时,可以实现以下步骤:响应于自身所在机柜外的目标机柜发送的对于第一目标设备的内存申请请求,将自身所在机柜对第一目标设备的控制权限转移至目标机柜,以便目标机柜使用第一目标设备的内存;响应于目标机柜通过通信装置发送的对于第一目标设备内存中待读出数据的内存读请求,将第一目标设备内存中的待读出数据通过通信装置发送至目标机柜;响应于目标机柜通过通信装置发送的对于第一目标设备内存的内存写请求,将目标机柜通过通信装置发送的待写入数据写入第一目标设备的内存。

本发明提供了一种跨机柜服务器内存池化设备,考虑到同一服务器集群中不同服务器机柜的内存使用情况不同,本申请在不同服务器机柜间搭建了通信装置,服务器机柜可以向其他服务器机柜申请第一目标设备的内存使用权,在申请到内存使用权后,便可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

作为一种可选的实施例,通信装置包括:

分别与自身一一对应的服务器机柜以及第一通信网络2连接的多个处理装置1,用于将主服务器机柜发送的内存使用请求以及待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求以及待读写数据发送至主服务器机柜;

第一通信网络2,用于将接收到的内存使用请求以及待读写数据发送至各自的目的机柜对应的处理装置1;

其中,内存使用请求包括内存读请求以及内存写请求,待读写数据包括待写入数据以及待读出数据,主服务器机柜为与处理装置1连接的服务器机柜。

作为一种可选的实施例,处理装置1包括:

与自身一一对应的服务器机柜连接的存储装置11,用于将主服务器机柜发送的内存使用请求以及待读写数据发送至控制装置12,将控制装置12通过第一通信网络2接收到的内存使用请求以及待读写数据均发送至主服务器机柜;

分别与存储装置11以及第一通信网络2连接的控制装置12,用于将存储装置11发送的内存使用请求以及待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求以及待读写数据发送至主服务器机柜。

作为一种可选的实施例,存储装置11包括:

与自身一一对应的服务器机柜连接的存储设备111,用于将主服务器机柜发送的内存使用请求发送至控制装置12,将主服务器机柜发送的待读写数据发送至缓存装置112,将控制装置12通过第一通信网络2接收到的内存使用请求发送至主服务器机柜,将控制装置12写入缓存装置112的待读写数据发送至主服务器机柜;

与存储设备111连接的缓存装置112;

则控制装置12分别与存储设备111、缓存装置112以及第一通信网络2连接控制装置12,控制装置12具体用于,将存储设备111发送的内存使用请求发送至第一通信网络2,将存储设备111发送至缓存装置112的待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求发送至存储设备111,将通过第一通信网络2接收到的待读写数据发送至缓存装置112。

作为一种可选的实施例,控制装置12包括格式转换模块121以及控制器122;

格式转换模块121,用于将存储设备111发送至控制器122的内存使用请求由主服务器机柜的第一数据格式转换为指定的第二数据格式,以便控制器122识别使用,并将主服务器机柜发送至存储设备111的内存使用请求由第二数据格式转换为第一数据格式;

控制器122,用于将格式转换模块121发送的内存使用请求发送至第一通信网络2,将存储设备111发送至缓存装置112的待读写数据发送至第一通信网络2,将通过第一通信网络2接收到的内存使用请求发送至格式转换模块121,将通过第一通信网络2接收到的待读写数据发送至缓存装置112。

作为一种可选的实施例,存储设备111、格式转换模块121以及控制器122组成的整体为现场可编程逻辑门阵列FPGA。

作为一种可选的实施例,第一通信网络2为基于计算快速链接CXL协议的远程直接数据存取RDMA网络。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:响应于自身所在机柜内的第一目标服务器发送的对于第二目标设备的内存申请请求,解除自身对第二目标设备的控制并向第一目标服务器发送申请成功指令,以便第一目标服务器响应于接收到的申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址;

其中,单个服务器机柜内的所有服务器的CPU均与第二通信网络连接,单个服务器机柜内的所有包含内存的异构计算设备均与第二通信网络连接。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:

在自身内存空间不足时,判断自身所在机柜内的其他服务器中是否存在剩余内存资源;

若存在,则向自身所在机柜内的第二目标服务器发送对于第三目标设备的内存申请请求;

响应于从第二目标服务器接收到的申请成功指令,对自身当前管辖的所有包含内存的异构计算设备以及第二目标设备进行内存统一编址,以便进行内存使用。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:将自身当前管辖的所有包含内存的异构计算设备信息分别发送至自身所在服务器机柜内且与自身保持通信的其他服务器。

作为一种可选的实施例,第二通信网络为虚拟高速总线桥网络vHSBB。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:控制提示器提示自身当前管辖的所有包含内存的异构计算设备信息。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:在自身内存空间不足时,判断自身所在机柜内的其他服务器中是否存在剩余内存资源;

若不存在,则向自身所在机柜外的目标机柜发送对于第四目标设备的内存申请请求;

判断是否接收到目标机柜反馈的申请成功信号;

若接收到,则向目标机柜中申请到的第四目标设备发送内存使用请求。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:判断是否接收到目标机柜反馈的申请成功信号之后,若未接收到,则控制提示器提示内存申请失败。

作为一种可选的实施例,判断自身当前管辖的所有包含内存的异构计算设备的空闲内存空间是否大于预设数值;

若大于,则判断大于预设数值的空闲内存空间的存在时长是否达到预设时长;

若达到,则控制提示器提示内存空闲。

作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:若达到,则确定出自身所在服务器机柜中当前具备的剩余内存空间最小的第三目标服务器;

将自身管辖的剩余内存空间最大的异构计算设备的控制权转移至第三目标服务器。

对于本发明实施例提供的跨机柜服务器内存池化设备的介绍请参照前述的跨机柜服务器内存池化方法的实施例,本发明实施例在此不再赘述。

本发明还提供了一种服务器,包括服务器本体以及与服务器本体连接的如前述实施例中的跨机柜服务器内存池化设备。

本发明提供了一种服务器,考虑到同一服务器集群中不同服务器机柜的内存使用情况不同,本申请在不同服务器机柜间搭建了通信装置,服务器机柜可以向其他服务器机柜申请第一目标设备的内存使用权,在申请到内存使用权后,便可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

对于本发明实施例提供的服务器集群的介绍请参照前述的跨机柜服务器内存池化方法的实施例,本发明实施例在此不再赘述。

请参考图7,图7为本发明还提供一种计算机可读存储介质的结构示意图,计算机可读存储介质70上存储有计算机程序71,计算机程序71被处理器62执行时实现如前述实施例中跨机柜服务器内存池化方法的步骤。

本发明提供了一种计算机可读存储介质,考虑到同一服务器集群中不同服务器机柜的内存使用情况不同,本申请在不同服务器机柜间搭建了通信装置,服务器机柜可以向其他服务器机柜申请第一目标设备的内存使用权,在申请到内存使用权后,便可以实现跨机柜对于设备内存的使用,在不增加内存设备数量的基础上满足了各个服务器机柜的内存使用需求,且提升了资源利用率。

对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的跨机柜服务器内存池化方法的实施例,本发明实施例在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 商品状态识别方法、装置、电子设备及可读存储介质
  • 基于人脸识别的商品推荐方法、装置、设备及存储介质
  • 商品识别方法、商品识别装置及存储介质
  • 一种商品推荐模型训练方法、装置、设备及存储介质
  • 车辆套牌识别方法、装置、识别设备及存储介质
  • 商品识别模型的测评方法、装置、设备及存储介质
  • 一种商品识别模型训练方法、装置、电子设备及存储介质
技术分类

06120116387966