This paper discloses systems, methods and processes for improving throughput in OpenFabrics and RDMA computing environments. Receive data and headers. Identify the buffer in which you want to write data and headers. The placement information for data and headers is determined based on the size of each buffer, page boundary alignment of data, and header alignment of headers. Use placement information to write data and headers to the buffer. In such computing environments, throughput can be improved by writing data on page boundaries in the penultimate buffer and headers on header boundaries.
【技术实现步骤摘要】
【国外来华专利技术】提高OPENFABRICS环境中的吞吐量
本公开涉及吞吐量。具体地讲,本公开涉及提高OpenFabrics计算环境中的吞吐量。相关技术描述OpenFabricsEnterpriseDistribution(OFEDTM)是用于远程直接存储器存取(RDMA)和内核旁路应用程序的开源计算技术。OFED可以在需要高效网络、存储连接和并行计算的计算环境中使用。OFED提供内核级驱动器、RDMA发送/接收操作、并行消息传递(MPI)服务、操作系统(OS)的内核旁路以及内核和用户级应用程序编程接口(API)。因此,OFED可用于需要高效计算、线速消息传递、微秒延迟以及存储和文件系统的快速输入/输出(I/O)的应用程序。RDMA涉及从一个计算系统的存储器进入另一计算系统的存储器的直接存储器存取(DMA),而不涉及计算系统的OS。除其他功能之外,RDMA还提供远程直接存储器存取、异步工作队列和内核旁路。RDMA实现了增加的吞吐量以及低延迟。OFEDAPI可以接受输入参数(例如,以标头和一个或多个数据分组的形式)。因为标头通常较小(例如,与数据相比),因此合并数据和标头以使RDMA写入的数量最小化是有效的。然而,合并数据和标头同时保持数据页面边界对齐可能引起线上浪费(例如,通过网络发送或传送的数据的量)。
技术实现思路
本文公开了用于提高OpenFabrics计算环境中的吞吐量的方法、系统和过程。一种这样的方法涉及接收数据和标头,以及标识要在其中写入数据和标头的缓冲区。至少部分地基于每个缓冲区的大小、数据的页面边界对齐以及标头的标头对齐来确定用于数据和标头的放置信息。然后, ...
【技术保护点】
1.一种方法,包括:接收数据和标头;标识要在其中写入所述数据和所述标头的多个缓冲区;确定用于所述数据和所述标头的放置信息,其中所述放置信息至少部分地基于以下项来确定:所述多个缓冲区中的每个缓冲区的大小,所述数据的页面边界对齐,以及所述标头的标头对齐;并且将所述数据和所述标头写入所述多个缓冲区,其中所述数据的所述写入使用所述放置信息,所述数据被写在页面边界上,并且所述标头被写在标头边界上。
【技术特征摘要】
【国外来华专利技术】2016.05.31 US 15/1684491.一种方法,包括:接收数据和标头;标识要在其中写入所述数据和所述标头的多个缓冲区;确定用于所述数据和所述标头的放置信息,其中所述放置信息至少部分地基于以下项来确定:所述多个缓冲区中的每个缓冲区的大小,所述数据的页面边界对齐,以及所述标头的标头对齐;并且将所述数据和所述标头写入所述多个缓冲区,其中所述数据的所述写入使用所述放置信息,所述数据被写在页面边界上,并且所述标头被写在标头边界上。2.根据权利要求1所述的方法,其中所述使用所述放置信息导致利用所述多个缓冲区中的最小数量的缓冲区,当所述数据被写入所述最小数量的缓冲区时,所述数据是页面边界对齐的,并且使线上浪费最小化。3.根据权利要求1所述的方法,其中所述放置信息包括用于将所述数据和所述标头写入倒数第二缓冲区的指令。4.根据权利要求1所述的方法,还包括:通过基于所述放置信息将包含在多个源缓冲区中的所述标头和所述数据映射到所述多个缓冲区来将所述标头和所述数据合并到远程直接存储器存取(RDMA)写入中。5.根据权利要求1所述的方法,还包括:如果所述数据不能在所述最小数量的缓冲区中页面边界对齐,则选择所述多个缓冲区中的一个或多个附加缓冲区。6.根据权利要求1所述的方法,其中所述多个缓冲区包括多个目标缓冲区,并且所述最小数量的缓冲区包括一个或多个目标缓冲区。7.根据权利要求4所述的方法,其中所述RDMA写入包括32位数据空间。8.根据权利要求7所述的方法,还包括:将所述标头的偏移包括在所述32位数据空间中。9.一种非暂态计算机可读存储介质(CRM),所述非暂态CRM存储程序指令,所述程序指令能够执行以:接收数据和标头;标识要在其中写入所述数据和所述标头的多个缓冲区;确定用于所述数据和所述标头的放置信息,其中所述放置信息至少部分地基于以下项来确定:所述多个缓冲区中的每个缓冲区的大小,所述数据的页面边界对齐,以及所述标头的标头对齐;并且将所述数据和所述标头写入所述多个缓冲区,其中所述数据的所述写入使用所述放置信息,所述数据被写在页面边界上,并且所述标头被写在标头边界上。10.根据权利要求9所述的非暂态CRM,其中:所述使用所述放置信息导致利用所述多个缓冲区中的最小数量的缓冲区,当所述数据被写入所述最小数量的缓冲区时,所述数据是页面边界对齐的,并且使线上浪费最小化。11.根...
【专利技术属性】
技术研发人员:A·乔希,A·托利,
申请(专利权)人:华睿泰科技有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。