[发明专利]一种计算节点内存共享系统及读、写操作内存共享方法在审
申请号: | 201710326875.4 | 申请日: | 2017-05-10 |
公开(公告)号: | CN107168810A | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 石江涛;吴安;陈彦灵 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 济南舜源专利事务所有限公司37205 | 代理人: | 刘晓政 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 节点 内存 共享 系统 操作 方法 | ||
技术领域
本发明涉及通用计算节点和异构计算节点间共享内存领域,尤其涉及一种基于PCI-E实现不同类型计算节点内存共享的系统及方法。
背景技术
出于功耗及空间方面的考虑,数据中心的一些应用中已经开始使用异构计算(GPU、FPGA等)加速器,许多应用已经受益于可在不同系统架构中无缝移动数据的加速器引擎。目前的加速器大多数是基于PCI-E总线,但PCI-E总线在不同类型计算节点中通信存在带宽低、延时高的问题,如何基于PCI-E接口和交换机实现不同类型计算节点之间高带宽、低延时互访是一个需要解决的技术难题。
发明内容
为解决上述问题,本发明提供一种不同计算节点的内存可以共享使用的计算节点内存共享系统及读、写操作内存共享方法。
本发明的技术方案是:一种计算节点内存共享系统,所述计算节点有至少两个,每个计算节点均包括:
对读写操作进行计算处理的核心处理模块;
对cache和内存进行控制的内存控制器模块;
实现各个计算节点内存互访的共享内存控制模块;
对pcie消息进行封装和解析的pcie消息处理模块;
所述核心处理模块通过内存控制器模块与cache连接,cache与内存连接;
所述核心处理模块还通过pcie总线与共享内存控制模块连接;所述共享内存控制模块通过pcie消息处理模块与其他计算节点连接。
进一步地,各个计算节点通过pcie switch互联。
进一步地,计算节点的类型包括各种架构的CPU、GPU和FPGA。
一种实现计算节点读操作内存共享方法,计算节点包括本地计算节点和被访问计算节点,本地计算节点进行读操作处理包括以下操作:
S1:判断所读地址是否在本地cache中;
S2:如果所读地址在本地cache中,且本地cache状态表明数据有效,则从本地cache中读取数据;
S3:如果所读地址不在本地cache中或本地cache状态表明数据无效,则进入步骤S4:
S4:判断是否是读本地内存;
S5:如果是读本地内存,则通过内存控制器模块访问本地内存,然后刷新本地cache内容为本地内存中的内容;
S6:如果不是读本地内存,则调用本地共享内存控制模块;
S7:本地共享内存控制模块通过本地pcie消息处理模块把访问地址封装成pcie消息发送给被访问计算节点;
S8:被访问计算节点访问目标内存,并将访问结果发回本地计算节点进行处理。
进一步地,步骤S8具体包括以下步骤:
S8.1:被访问pcie消息处理模块接收并解析pcie消息,发给被访问共享内存控制模块;
S8.2:被访问共享内存控制模块访问目标内存;
S8.3:被访问共享内存控制模块调用pcie消息处理模块把访问结果封装成pcie消息发回本地计算节点;
S8.4:本地pcie消息处理模块解析pcie消息中的结果传给本地共享内存控制模块;
S8.5:本地共享内存控制模块把访问结果返回本地核心处理模块;
S8.6:本地内存控制器模块刷新本地cache内容为新的访问结果。
一种实现计算节点写操作内存共享方法,计算节点包括本地计算节点和被访问计算节点,本地计算节点进行写操作处理包括以下操作:
S1:判断是否是写本地内存;
S2:如果是写本地内存,则通过本地内存控制器模块访问本地cache和本地内存;如果不是写本地内存,则进入步骤S7;
S3:写内存操作完成后,通过本地共享内存控制模块调用本地pcie消息处理模块;
S4:pcie消息处理模块封装pcie消息发给其他所有计算节点;
S5:其他所有计算节点各自的pcie消息处理模块解析pcie消息;
S6:其他所有计算节点各自的共享内存控制模块更新本地cache状态;
S7:调用本地共享内存控制模块;
S8:调用本地pcie消息处理模块把访问地址封装成pcie消息发给被访问计算节点;
S9:被访问计算节点访问目标内存,并将被访问内存有变化消息发送给其他所有计算节点。
进一步地,步骤S9具体包括以下步骤:
S9.1:被访问pcie消息处理模块接收pcie消息解析后发给被访问共享内存控制模块;
S9.2:被访问共享内存控制模块访问目标内存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710326875.4/2.html,转载请声明来源钻瓜专利网。