The technology used for single side remote memory access communication includes multiple computing nodes for communication on the network. The receiver computing node receives messages from the sender node and extracts the fragment identifier from the message. The receiver computing node determines the fragment start address associated with its local memory's global address space (PGAS) fragment based on the fragment identifier. The recipient computing node can index the fragment tables stored in the local memory or the host structure interface. The receiver computing node determines the local destination address within the PGAS fragment based on the fragment start address and the offset included in the message. The receiver computing node performs a remote memory access operation at the local destination address. The receiver computing node can perform these operations in the hardware by the said host structure interface of the receiver's computing node. Other examples are described and required to be protected.
【技术实现步骤摘要】
【国外来华专利技术】用于可扩展的可远程访问存储器片段的技术政府权利条款本专利技术是在政府支持下根据国防部授予的合同号H98230-13-D-0124进行的。政府对本专利技术具有一定的权利。相关申请的交叉引用本申请要求于2015年4月27日提交的题为“TECHNOLOGIESFORSCALABLEREMOTELYACCESSIBLEMEMORYSEGMENTS(用于可扩展的可远程访问存储器片段的技术)”的美国专利技术专利申请序列号14/696,719的优先权。
技术介绍
目前的许多并行计算应用使用分区全局地址空间(PGAS)编程模型,通常是结合单边通信。PGAS应用定义了被分成一个或多个逻辑分区的全局地址空间。每个逻辑分区可以由特定进程拥有、被指定给所述特定进程、或另外与所述特定进程有密切关系,并且多进程应用的每个进程通常在单独的计算节点上执行。因而,PGAS应用可以允许开发者创建利用参照物的局部性的并行程序,以得到更好的性能。单边通信存储器访问模型允许发送方进程向接收方进程发射存储器访问消息(例如,get、put、或其他消息),而不需要接收方进程的参与。单边通信可以支持硬件加速,这对于高性能计算(HPC)应用而言特别重要。某些目前用于提供多个可远程访问存储器片段和/或存储器分配的的方式需要每个发送方进程存储或检索与每个接收方进程相关联的通信参数。例如,在关于分区全局地址空间编程模型(PGAS’14)的第8次国际会议(2014)的过程中,针对OpenSHMEM的非对称存储器扩展,LatchesarIonkov和GingerYoung提出了在发射存储器访问消息之前需要每个发送方首先获取 ...
【技术保护点】
一种用于对可远程访问存储器片段进行单边访问的计算设备,所述计算设备包括:通信模块,用于接收来自发送方计算设备的远程存储器访问消息,其中,所述远程存储器访问消息包括片段标识符和偏移量;分段模块,用于:(i)基于所述片段标识符确定片段起始地址,其中,所述片段起始地址与所述计算设备的存储器的可远程访问的片段相关联;以及(ii)根据所述片段起始地址和所述偏移量确定所述计算设备的所述存储器的所述可远程访问的片段内的本地目的地地址;以及存储器访问模块,用于在所述本地目的地地址处执行由所述远程存储器访问消息请求的远程存储器访问操作。
【技术特征摘要】
【国外来华专利技术】2015.04.27 US 14/696,7191.一种用于对可远程访问存储器片段进行单边访问的计算设备,所述计算设备包括:通信模块,用于接收来自发送方计算设备的远程存储器访问消息,其中,所述远程存储器访问消息包括片段标识符和偏移量;分段模块,用于:(i)基于所述片段标识符确定片段起始地址,其中,所述片段起始地址与所述计算设备的存储器的可远程访问的片段相关联;以及(ii)根据所述片段起始地址和所述偏移量确定所述计算设备的所述存储器的所述可远程访问的片段内的本地目的地地址;以及存储器访问模块,用于在所述本地目的地地址处执行由所述远程存储器访问消息请求的远程存储器访问操作。2.如权利要求1所述的计算设备,进一步包括主机结构接口,其中:接收所述远程访问消息包括:由所述主机结构接口接收所述远程访问消息;基于所述片段标识符确定所述片段起始地址包括:由所述主机结构接口基于所述片段标识符确定所述片段起始地址;确定所述本地目的地地址包括:由所述主机结构接口确定所述本地目的地地址;并且执行所述远程存储器访问操作包括:由所述主机结构接口执行所述远程存储器访问操作。3.如权利要求1所述的计算设备,其中,确定所述片段起始地址包括:利用所述片段标识符对所述计算设备的片段表进行索引,从而检索所述片段起始地址。4.如权利要求3所述的计算设备,其中,对所述片段表进行索引包括:对存储在所述计算设备的主存储器中的片段表进行索引。5.如权利要求3所述的计算设备,其中,对所述片段表进行索引包括:对存储在所述计算设备的主机结构接口中的片段表进行索引。6.如权利要求3所述的计算设备,其中:所述分段模块进一步用于:由所述计算设备的主机结构接口从所述远程存储器访问消息中提取所述片段标识符;并且对所述片段表进行索引包括:由所述主机结构接口对所述片段表进行索引。7.如权利要求1所述的计算设备,其中,确定所述本地目的地地址包括:将所述片段起始地址与所述偏移量相加。8.如权利要求1所述的计算设备,其中,确定所述本地目的地地址包括:基于所述片段标识符确定移位单位,其中,所述移位单位与所述计算设备的所述存储器的所述可远程访问的片段相关联;以及将所述偏移量与所述移位单位相乘。9.如权利要求1-8中任一项所述的计算设备,其中,执行所述远程存储器访问操作包括:由所述计算设备的主机结构接口执行所述远程存储器访问操作。10.如权利要求1-8中任一项所述的计算设备,其中,执行所述远程存储器访问操作包括:从所述本地目的地地址读取数据,或向所述本地目的地地址写入数据。11.如权利要求1-8中任一项所述的计算设备,其中:所述远程存储器访问消息进一步包括消息长度;并且所述分段模块进一步用于:(i)基于所述片段标识符确定片段大小;以及(ii)基于所述偏移量、所述消息长度和所述片段大小检测溢出条件。12.一种用于对可远程访问存储器片段进行单边访问的计算设备,所述计算设备包括:存储器命令模块,用于创建包括片段标识符和偏移...
【专利技术属性】
技术研发人员:J·迪南,M·弗拉伊斯里克,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。