Network communication using a pool memory includes a computer rack that has a pool memory housing with a pool memory controller, and a computational shell having two or more computing nodes. The first computing node determines the destination network address associated with the destination virtual network interface controller identifier (vNIC ID). The first node will send messages to the pool of memory controller, the sending message including packet data within the memory pool in the destination vNIC ID and the physical address of the sender. The second computing node transmits the receiver physical address of the received buffer in the pool memory to the pool memory controller. The pool memory controller copies packet data from the sender's physical address to the recipient's physical address. Other embodiments are also described and required to protect.
【技术实现步骤摘要】
【国外来华专利技术】利用机架规模架构中的池化存储器进行的网络通信
技术介绍
传统的计算机数据中心大体上基于服务器作为计算的基本单元。每个服务器通常包括其自己的专用计算资源,包括处理器、存储器、磁盘存储设备以及联网硬件和软件。个体服务器可以以高密度一起堆叠到机架中,并且多个机架可以布置在数据中心中。一些当前的数据中心技术目的在于解聚(disaggregate)计算资源。特别地,机架规模的架构将计算机架重组为用于大型数据中心的计算的基本单元。每个机架可以包括池化(pooled)计算节点、池化存储器和池化存储设备的集合。通过解聚并且池化计算资源,机架规模的架构可以改善数据中心的灵活性和可扩展性,例如通过允许在工作负荷当中动态添加和/或分割计算资源(例如,计算节点和/或存储器)。另外,机架规模的架构可以改善数据中心热管理和电力消耗,这反过来改善了计算密度、性能和效率。附图说明通过举例而非限制的方式在附图中示出了本文描述的概念。为了图示的简单和清晰,在图中示出的元件不一定是按比例绘制的。当被认为合适时,在图中重复参考标记以表示对应的或类似的元件。图1是用于利用机架规模计算架构中的池化存储器进行网络通信的系统的至少一个实施例的简化框图;图2是图1的系统的若干环境的至少一个实施例的简化框图;图3是可以由图1和2的池化存储器控制器执行的用于利用池化存储器进行网络通信的方法的至少一个实施例的简化流程图;图4是可以由图1和图2的计算节点执行的用于利用池化存储器发送网络数据的方法的至少一个实施例的简化流程图;以及图5是可以由图1和图2的计算节点执行的用于利用池化存储器接收网络数据的方法的至少一个实施例的 ...
【技术保护点】
一种用于在池化存储器架构中进行节点间通信的池化存储器控制器,所述池化存储器控制器包括:池化存储器访问模块,用于管理通过第一计算节点和第二计算节点对池化存储器的远程访问;虚拟网络接口控制器(vNIC)接口模块,用于:从所述第一计算节点接收发送消息,其中所述发送消息包括与所述第一计算节点相关联的源vNIC标识符(vNIC ID)、与所述第二计算节点相关联的目的地vNIC ID、以及发送方物理存储器地址,并且其中所述发送方物理存储器地址标识所述池化存储器内的分组数据;将接收消息传输到所述第二计算节点,其中所述接收消息包括所述源vNIC ID和所述目的地vNIC ID;以及响应于传输所述接收消息,从所述第二计算节点接收接收方物理存储器地址,其中所述接收方物理存储器地址标识所述池化存储器内的存储器位置;以及数据复制模块,用于响应于接收到所述接收方物理存储器地址,在所述池化存储器内将所述分组数据从所述发送方物理存储器地址复制到所述接收方物理存储器地址。
【技术特征摘要】
【国外来华专利技术】1.一种用于在池化存储器架构中进行节点间通信的池化存储器控制器,所述池化存储器控制器包括:池化存储器访问模块,用于管理通过第一计算节点和第二计算节点对池化存储器的远程访问;虚拟网络接口控制器(vNIC)接口模块,用于:从所述第一计算节点接收发送消息,其中所述发送消息包括与所述第一计算节点相关联的源vNIC标识符(vNICID)、与所述第二计算节点相关联的目的地vNICID、以及发送方物理存储器地址,并且其中所述发送方物理存储器地址标识所述池化存储器内的分组数据;将接收消息传输到所述第二计算节点,其中所述接收消息包括所述源vNICID和所述目的地vNICID;以及响应于传输所述接收消息,从所述第二计算节点接收接收方物理存储器地址,其中所述接收方物理存储器地址标识所述池化存储器内的存储器位置;以及数据复制模块,用于响应于接收到所述接收方物理存储器地址,在所述池化存储器内将所述分组数据从所述发送方物理存储器地址复制到所述接收方物理存储器地址。2.根据权利要求1所述的池化存储器控制器,其中,接收所述发送消息包括:读取所述池化存储器控制器的专用于所述第一计算节点的第一输入/输出(I/O)空间内的第一存储器位置。3.根据权利要求2所述的池化存储器控制器,其中,传输所述接收消息包括:写入所述池化存储器控制器的专用于所述第二计算节点的第二I/O空间内的第二存储器位置;以及响应于写入所述第二存储器位置,生成对所述第二计算节点的中断。4.根据权利要求3所述的池化存储器控制器,其中,接收所述接收方物理存储器地址包括:读取在所述第二I/O空间内的所述第二存储器位置。5.根据权利要求1-4中任一项所述的池化存储器控制器,其中:所述发送消息还包括所述分组数据的分组大小;所述接收消息还包括所述分组数据的所述分组大小;以及复制所述分组数据包括复制与所述分组数据的所述分组大小相等的量的数据。6.根据权利要求1-4中任一项所述的池化存储器控制器,其中,所述vNIC接口模块还响应于复制所述分组数据而通知所述第一计算节点和所述第二计算节点所述复制已完成。7.根据权利要求6所述的池化存储器控制器,其中通知所述第一计算节点和所述第二计算节点所述复制已完成包括:生成对所述第一计算节点的第一中断;以及生成对所述第二计算节点的第二中断。8.一种用于在池化存储器架构中进行节点间通信的计算节点,所述计算节点包括:虚拟网络接口控制器标识符(vNICID)模块,用于确定与网络分组的目的地网络地址相关联的目的地vNICID;以及发送模块,用于:确定所述网络分组的分组数据的物理地址,其中所述物理地址标识所述计算节点能够访问的池化存储器内的存储器位置;生成发送消息,其中所述发送消息包括与所述计算节点相关联的源vNICID、目的地vNICID、以及所述物理地址;以及将所述发送消息传输到池化存储器控制器,其中所述计算节点将经由所述池化存储器控制器远程访问所述池化存储器。9.根据权利要求8所述的计算节点,其中,确定所述物理地址包括:将所述分组数据从位于所述池化存储器内的用户模式应用缓冲器复制到位于所述物理地址处的内核模式驱动器缓冲器。10.根据权利要求8所述的计算节点,其中,确定所述物理地址包括:确定位于所述池化存储器内的用户模式应用缓冲器的物理地址。11.一种用于在池化存储器架构中进行节点间通信的计算节点,所述计算节点包括接收模块,用于:接收来自池化存储器控制器的接收消息,其中所述计算节点经由所述池化存储器控制器远程访问存储于池化存储器中的分组数据;识别所述计算节点能够访问的所述池化存储器内的接收缓冲器的物理存储器地址,其中所述接收缓冲器能够存储所述分组数据;以及响应于接收到所述接收消息,将所述接收缓冲器的所述物理存储器地址传输到所述池化存储器控制器。12.根据权利要求11所述的计算节点,其中,所述接收缓冲器包括位于所述池化存储器内的内核模式联网堆栈缓冲器。13.根据权利要求11所述的计算节点,其中,所述接收缓冲器包括位于所述池化存储器内的用户模式应用缓冲器。14.一种用于在池化存储器架构中进行节点间通信的系统,所述系统包括池化存储器控制器、第一计算节点以及第二计算节点,其中所述池化存储器控制器包括:池化存储器访问模块,用于管理通过所述第一计算节点和所述第二计算节点到池化存储器的远程访问;虚拟网络接口控制器(vNIC)接口模块,用于:从所述第一计算节点接收发送消息,其中所述发送消息包括与所述第一计算节点相关联的源vNIC标识符(vNICID)、与所述第二计算节点相关联的目的地vNICID、以及发送方物理存储器地址,并且其中所述发送方物理存储器地址标识所述池化存储器内...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。