【技术实现步骤摘要】
【国外来华专利技术】向控制器存储器空间写入消息
本专利技术涉及向输入/输出(I/O)控制器存储器空间写入消息。
技术介绍
在一个常规计算配置中,客户端和服务器包括能够使用远程直接存储器访问(RDMA)协议来相互进行通信的相应的I/O控制器。为了从服务器向客户端传输数据,数据和指向该数据的描述符两者都被写入到服务器的主系统存储器中。此后,响应于提供给服务器的I/O控制器的门铃,服务器的I/O控制器读取该描述符。然后,服务器的I/O控制器读取由描述符所指向的数据。然后,服务器的I/O控制器向客户端传输数据。可以理解,从服务器向客户端传输的数据中涉及的延迟随着由服务器的I/O控制器实施的主存储器读取操作的数量而增大。为了试图减少与服务器主存储器读取操作相关联的等待时间,有人建议将数据内联(例如,在或附近)描述符放置在服务器的主系统存储器中。然而,即使使用此技术,执行从服务器向客户端的数据传输时涉及的等待时间仍可能大于所希望的。
技术实现思路
本专利技术的一方面涉及一种能够与消息写入相关联地使用的设备,所述设备包括:用于执行以下操作的电路:将消息从主机中的系统存储器写入到所述主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中,所述存储器空间的大小至少部分基于被给予同时对存储器空间写访问的软件链接进程实体的数量;以及向所述输入/输出(I/O)控制器发出信号,指出已经发生了写入。本专利技术的另一方面涉及一种用于消息写入的方法,所述方法包括:由电路将消息从主机中 ...
【技术保护点】
一种设备,包括:用于执行以下操作的电路:将消息从主机中的系统存储器写入到所述主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统到至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中;以及向所述I/O控制器发出信号,指出已经发生了写入。
【技术特征摘要】
【国外来华专利技术】1.一种能够与消息写入相关联地使用的设备,所述设备包括:用于执行以下操作的电路:将消息从主机中的系统存储器写入到所述主机中的输入/输出(I/O)控制器中的存储器空间,主机操作系统至少部分地驻留在所述系统存储器中,所述消息包括数据和与所述数据相关联的至少一个描述符,所述数据被包括在所述至少一个描述符中,所述存储器空间的大小至少部分基于被给予同时对存储器空间写访问的软件链接进程实体的数量;以及向所述输入/输出(I/O)控制器发出信号,指出已经发生了写入。2.如权利要求1所述的设备,其特征在于:使用涉及与主机处理器核相关联的写入组合的缓冲器的单个写入操作,实施所述消息向所述存储器空间的写入;以及所述电路还在所述消息的所述写入之前,向队列中写入队列元素,所述队列元素至少部分地请求在由所述输入/输出(I/O)控制器丢弃所述消息的情况下,由所述输入/输出(I/O)控制器执行涉及所述数据的输入/输出(I/O)操作,所述输入/输出(I/O)操作对应于至少部分地通过向所述存储器空间写入所述消息来请求的另一个输入/输出(I/O)操作。3.如权利要求1所述的设备,其特征在于:所述主机包括执行指令的主机处理器核,所述指令至少部分地导致多个相应的消息至少部分地被同时写入到所述存储器空间,所述相应的消息中的每一消息都包括相应的数据以及与所述相应的数据相关联的相应的描述符,所述相应的数据被包括在所述相应的描述符中;以及所述输入/输出(I/O)控制器包括远程直接存储器访问(RDMA)网络接口控制器(NIC),所述相应的消息是请求由所述远程直接存储器访问(RDMA)网络接口控制器(NIC)执行相应的RDMA事务。4.如权利要求1所述的设备,其特征在于:所述电路还在所述消息向所述存储器空间的所述写入之前,向发送队列中写入队列元素,所述队列元素至少部分地请求在发生下列两项中的任一项的情况下:(1)由所述输入/输出(I/O)控制器丢弃所述消息以及(2)所述数据的重新传输,由所述输入/输出(I/O)控制器执行涉及所述数据的输入/输出(I/O)操作;以及所述发送队列包括多个元素,所述发送队列中的所述多个元素中的每一相应的元素都包括相应的指示,指出至少部分地对应于所述相应的元素的相应的消息是否由所述电路向所述存储器空间写入,所述相应的消息包括相应的数据以及与所述相应的数据相关联的相应的描述符,所述相应的描述符包括所述相应的数据。5.如权利要求4所述的设备,其特征在于:所述电路继续向所述存储器空间写入一个或多个随后的消息,除非发生通过所述输入/输出(I/O)控制器的丢弃;在发生所述丢弃之后,所述电路在所述发送队列变空之后恢复随后的消息写入;以及所述发出信号包括使与所述输入/输出(I/O)控制器相关联的至少一个门铃响铃。6.如权利要求1所述的设备,其特征在于:应用程序进程也至少部分地驻留在所述主机存储器中;所述存储器空间包括所述进程将向其中映射的多个页;属于不同的相应的安全域的两个相应的进程不共享所述页中的单个相应的一个页;以及所述页中的一个或多个包括多个部分,每一相应的部分将接纳要被写入到所述相应的部分的至少一个相应的消息,所述至少一个相应的消息对应于整个相应的队列元素,并包括相应的数据和与所述数据相关联的相应的描述符。7.如权利要求1所述的设备,其特征在于:所述输入/输出(I/O)控制器将至少部分地跟踪所述输入/输出(I/O)控制器的一个或多个资源的分派,以实施至少部分地由所述消息请求的一个或多个输入/输出(I/O)操作;如果没有足够的资源存在于所述输入/输出(I/O)控制器中,以允许所述一个或多个输入/输出(I/O)操作被实施,则所述输入/输出(I/O)控制器将丢弃所述消息;以及所述输入/输出(I/O)控制器将丢弃所述消息,除非,当所述输入/输出(I/O)控制器处理所述消息时,对应于所述消息的队列元素当前位于发送队列的头部,至少部分地在所述消息已经被写入到所述存储器空间之前,所述队列元素已经被写入到所述队列。8.如权利要求7所述的设备,其特征在于:所述一个或多个输入/输出(I/O)操作包括所述数据的传输;所述输入/输出(I/O)控制器将总的可用传输额度数量的子集分配到总通信量的子集,所述总通信量的所述子集至少部分地与所述数据的所述传输相关联;所述输入/输出(I/O)控制器将至少部分地与对所述一个或多个资源的初始跟踪同时确定在传输额度的总数的所述子集中是否存在足够数量的未分配的额度,以允许传输;以及如果所述输入/输出(I/O)控制器判断不存在所述足够数量的未分配的额度,则所述输入/输出(I/O)控制器将丢弃所述消息。9.一种用于消息写入的方法,所...
【专利技术属性】
技术研发人员:V·马克赫威克斯,R·O·夏普,K·G·基尔斯,B·S·豪赛厄,S·K·拉森,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。