Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries
    1.
    发明授权
    Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries 失效
    Infiniband通过头尾循环缓冲区进行工作和完成队列管理,间接工作队列条目

    公开(公告)号:US06789143B2

    公开(公告)日:2004-09-07

    申请号:US09961922

    申请日:2001-09-24

    IPC分类号: G06F1300

    CPC分类号: G06F9/546

    摘要: A distributed computing system having (host and I/O) end nodes, switches, routers, and links interconnecting these components is provided. The end nodes use send and receive queue pairs to transmit and receive messages. The end nodes use completion queues to inform the end user when a message has been completely sent or received and whether an error occurred during the message transmission or reception process. A mechanism implements these queue pairs and completion queues in hardware. A mechanism for controlling the transfer of work requests from the consumer to the CA hardware and work completions from the CA hardware to the consumer using head and tail pointers that reference circular buffers is also provided. The QPs and CQs do not contain Work Queue Entries and Completion Queue Entries respectively, but instead contain references to these entries. This allows them to be efficient and constant in size, while the Work Queue Entries and Completion Queue Entries themselves can vary in size, for example to include a variable number of data segments. Additionally, several mechanisms are provided to improve the overall efficiency of this process under different memory configurations.

    摘要翻译: 提供了具有(主机和I / O)端节点,交换机,路由器和互连这些组件的链路的分布式计算系统。 终端节点使用发送和接收队列对来发送和接收消息。 终端节点使用完成队列通知终端用户何时完全发送或接收了消息,以及在消息发送或接收过程中是否发生错误。 机制在硬件中实现这些队列对和完成队列。 还提供了一种机制,用于控制从消费者到CA硬件的工作请求的传送以及使用引用循环缓冲区的头和尾指针从CA硬件到消费者的完成。 QP和CQ不分别包含工作队列条目和完成队列条目,而是包含对这些条目的引用。 这允许它们在高度和大小上是恒定的,而工作队列条目和完成队列条目本身可以在大小上变化,例如包括可变数量的数据段。 另外,提供了几种机制以在不同的存储器配置下提高该过程的整体效率。

    Apparatus and method for managing work and completion queues using head and tail pointers
    2.
    发明授权
    Apparatus and method for managing work and completion queues using head and tail pointers 失效
    使用头部和尾部指针管理工作和完成队列的装置和方法

    公开(公告)号:US06725296B2

    公开(公告)日:2004-04-20

    申请号:US09915663

    申请日:2001-07-26

    IPC分类号: G06F300

    CPC分类号: G06F9/4806

    摘要: An apparatus and method for managing work and completion queues using head and tail circular pointers. With the apparatus and method, queue head and tail pointers are maintained in the channel interface and the host channel adapter. The head and tail pointers in the host channel adapter include a queue pointer table index and a queue page index for identifying a position within the queue. For work queues, the tail pointer in the channel interface is used to identify a next position where a work queue entry may be written. The head pointer in the channel interface is used only to determine whether the work queue is full or not. The head pointer in the host channel adapter is used to identify a next work queue entry for processing by the host channel adapter. The tail pointer in the host channel adapter is used by the host channel adapter to determine if the queue is empty. For completion queues, the head pointer in the channel interface is used to identify a next completion queue entry to be processed. The tail pointer in the host channel adapter is used to identify a next position in the completion queue to which the host channel adapter may post a completion queue entry.

    摘要翻译: 一种使用头尾循环指针管理工作和完成队列的装置和方法。 使用设备和方法,在通道接口和主机通道适配器中维护队列头尾指针。 主机通道适配器中的头和尾指针包括队列指针表索引和用于标识队列中的位置的队列页索引。 对于工作队列,通道接口中的尾部指针用于标识可以写入工作队列条目的下一个位置。 通道接口中的头指针仅用于确定工作队列是否已满。 主机通道适配器中的头指针用于标识下一个工作队列条目以供主机通道适配器处理。 主机通道适配器中的尾部指针由主机通道适配器使用,以确定队列是否为空。 对于完成队列,通道接口中的头指针用于标识要处理的下一个完成队列条目。 主机通道适配器中的尾部指针用于标识完成队列中的下一个位置,主机通道适配器可以向其发布完成队列条目。

    Apparatus and method for managing work and completion queues using head and tail pointers with end-to-end context error cache for reliable datagram
    3.
    发明授权
    Apparatus and method for managing work and completion queues using head and tail pointers with end-to-end context error cache for reliable datagram 失效
    用于使用具有端到端上下文错误缓存的头尾指针来管理工作和完成队列的装置和方法,用于可靠的数据报

    公开(公告)号:US07092401B2

    公开(公告)日:2006-08-15

    申请号:US09999144

    申请日:2001-11-15

    IPC分类号: H04L12/28 H04L12/56 H04L12/54

    摘要: An apparatus and method for managing reliable datagram work queues, and associated completion queues, using head and tail pointers with end-to-end context error cache are provided. Reliable datagram (RD) queue head and tail pointers are maintained in the channel interface and the host channel adapter. The head and tail pointers in the host channel adapter include a RD queue page table index and a RD queue page index for identifying a position within the RD queue. For RD work queues, in the channel interface, the tail pointer is used to identify a next position where a work queue entry may be written and the head pointer is used only to determine whether the work queue is full. In the host channel adapter, the head pointer is used to identify a next work queue entry for processing and the tail pointer is used to determine if the queue is empty.

    摘要翻译: 提供了一种用于使用具有端到端上下文错误高速缓存的头和尾指针来管理可靠数据报工作队列和相关联的完成队列的装置和方法。 在通道接口和主机通道适配器中维护可靠的数据报(RD)队列头尾指针。 主机通道适配器中的头和尾指针包括RD队列页表索引和用于标识RD队列中的位置的RD队列页索引。 对于RD工作队列,在通道接口中,尾部指针用于标识可以写入工作队列条目的下一个位置,而头部指针仅用于确定工作队列是否已满。 在主机通道适配器中,头指针用于标识用于处理的下一个工作队列条目,并且尾部指针用于确定队列是否为空。

    APPARATUS AND METHOD FOR SWAPPING-OUT REAL MEMORY BY INHIBITING I/O OPERATIONS TO A MEMORY REGION AND SETTING A QUIESCENT INDICATOR, RESPONSIVE TO DETERMINING THE CURRENT NUMBER OF OUTSTANDING OPERATIONS
    5.
    发明授权
    APPARATUS AND METHOD FOR SWAPPING-OUT REAL MEMORY BY INHIBITING I/O OPERATIONS TO A MEMORY REGION AND SETTING A QUIESCENT INDICATOR, RESPONSIVE TO DETERMINING THE CURRENT NUMBER OF OUTSTANDING OPERATIONS 有权
    用于通过将I / O操作抑制到存储器区域来设置实时存储器的设备和方法,并设置一个QUIESCENT指示符,以确定当前的显着操作数量

    公开(公告)号:US06834332B2

    公开(公告)日:2004-12-21

    申请号:US09942632

    申请日:2001-08-30

    IPC分类号: G06F1300

    CPC分类号: G06F12/12 G06F12/1081

    摘要: An apparatus and method for swapping out real memory by inhibiting input/output (I/O) operations to a memory region are provided. The apparatus and method provide a mechanism in which a quiesce indicator is provided in a field containing the current outstanding I/O count associated with the memory region whose real memory is to be swapped out. The current I/O field and the quiesce indicator are used as a means for communicating between a shared resource arbitrator and a guest consumer. When the quiesce indicator is set, the guest consumer is informed that it should not send any further I/O operations to that memory region. When the number of pending I/O operations against the memory region is zero, a valid bit in a protection table is set to invalid, and the real memory associated with the memory region may be swapped out. Thereafter, when the memory region is swapped back in, an address translation table is updated, the valid bit is reset, and the quiesce indicator is reset so that further I/O operations to the memory region may occur.

    摘要翻译: 提供了通过禁止对存储器区域的输入/输出(I / O)操作来交换实际存储器的装置和方法。 该装置和方法提供了一种机制,其中在包含与要实际存储器被换出的存储器区域相关联的当前未完成的I / O计数的字段中提供静默指示符。 当前的I / O域和静默指示符用作在共享资源仲裁器和客户消费者之间进行通信的手段。 当设置了静默指示符时,通知客户不要向该存储器区域发送任何进一步的I / O操作。 当对存储器区域的未决I / O操作的数量为零时,保护表中的有效位被设置为无效,并且与存储器区域相关联的实际存储器可以被换出。 此后,当存储器区域被交换回来时,地址转换表被更新,有效位被复位,并且静默指示器被复位,使得可能发生对存储器区域的进一步的I / O操作。

    Apparatus and method for virtualizing a queue pair space to minimize time-wait impacts
    6.
    发明授权
    Apparatus and method for virtualizing a queue pair space to minimize time-wait impacts 有权
    用于虚拟化队列对空间以最小化时间等待影响的装置和方法

    公开(公告)号:US07095750B2

    公开(公告)日:2006-08-22

    申请号:US09931295

    申请日:2001-08-16

    IPC分类号: H04L12/28 H04L12/56

    CPC分类号: H04L49/90

    摘要: Apparatus and method for virtualizing a queue pair space to minimize time-wait impacts. Virtual queue pairs are allocated from a virtual queue pair pool of a node to connections between the node and other nodes. The connection is established between a physical queue pair of the node and physical queue pairs of other nodes. From the viewpoint of the other nodes, they are communicating with the present node using the virtual queue pair and not the physical queue pair for the present node. By using the virtual queue pairs, the same physical queue pair may accommodate multiple connections with other nodes simultaneously. Moreover, when a connection is torn down, the virtual queue pair is placed in a time-wait state rather than the physical queue pair. As a result, the physical queue pair may continue to function while the virtual queue pair is in the time-wait state.

    摘要翻译: 用于虚拟化队列对空间以最小化时间等待影响的装置和方法。 虚拟队列对从节点的虚拟队列对分配到节点与其他节点之间的连接。 在节点的物理队列对和其他节点的物理队列之间建立连接。 从其他节点的观点来看,它们使用虚拟队列对而不是当前节点的物理队列对与当前节点进行通信。 通过使用虚拟队列对,相同的物理队列对可以同时容纳与其他节点的多个连接。 此外,当连接被拆除时,虚拟队列对被置于时间等待状态而不是物理队列对。 结果,物理队列对可以继续工作,而虚拟队列对处于等待时间状态。