HP ML530 RDMA protocol: improving network performance - Page 8

RNIC interface, Non-Privileged, Operating Environment Interface

Page 8 highlights

eliminate data copy operations, and significantly reduce communications overhead and latencies by allowing one verbs consumer to place information directly in the memory of another verbs consumer, while preserving operating system and memory protection semantics. Figure 4 is a conceptual model of elements used in RNIC operation, including privileged mode consumers, non-privileged mode consumers, RNIC components, and the RNIC interface. Figure 4. Model for RNIC operation Application OS Kernel Agent (RNIC Interface) Kernel Hardware Interface Hardware Privileged Non-Privileged Operating Environment Interface Privileged Mode Agent Non-Privileged Mode Agent QP QP CQ QP QP CQ RNIC RNIC interface The RNIC interface provides coordination between the consumer of RNIC services and the RNIC. Verbs specify behavior of the RNIC and enable creation and management of queue pairs, management of the RNIC, management of work requests, and transfer of error indications from the RNIC interface. A fundamental function of the RNIC interface is management of the RNIC. This includes arranging access to the RNIC, accessing and modifying its attributes, and shutting it down. The Queue Pair (QP) is a key component required for the operation of the RNIC interface. It is the RNIC resource used by consumers to submit work requests to the RNIC interface. A queue pair is used to interact with an RDMA stream on an RNIC. There may be thousands of queue pairs per RNIC. Each queue pair provides the consumer with a single point of access to an individual RDMA stream. A Queue Pair consists of a send queue and a receive queue. Sends, RDMA reads, RDMA writes, and other operations are posted to send queues through work requests. Receive queues contain the buffer information for arriving send messages. Work requests provide the mechanism for consumers to place work queue elements onto the send and receive queues of a queue pair. The Completion Queue (CQ) allows the consumer to retrieve work request completion status. Notification mechanisms are provided to help a consumer identify when work requests have completed processing in the RNIC interface. There may be thousands of completion queues per RNIC, and they can be associated with the send queues and receive queues in any combination the consumer requires. Event handlers provide the mechanism for notifying consumers of asynchronous events that occur within the RNIC interface but cannot be reported through the completion queues because they are asynchronous or they are not easily associated with a work completion. 8

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

eliminate data copy operations, and significantly reduce communications overhead and latencies by
allowing one verbs consumer to place information directly in the memory of another verbs consumer,
while preserving operating system and memory protection semantics. Figure 4 is a conceptual model
of elements used in RNIC operation, including privileged mode consumers, non-privileged mode
consumers, RNIC components, and the RNIC interface.
Figure 4.
Model for RNIC operation
Non-Privileged
Privileged
Operating Environment Interface
Kernel Agent
(RNIC Interface)
Privileged Mode Agent
Non-Privileged Mode Agent
Kernel
Hardware
Interface
QP
QP
CQ
QP
QP
CQ
Application
OS
Hardware
RNIC
RNIC interface
The RNIC interface provides coordination between the consumer of RNIC services and the RNIC.
Verbs specify behavior of the RNIC and enable creation and management of queue pairs,
management of the RNIC, management of work requests, and transfer of error indications from the
RNIC interface.
A fundamental function of the RNIC interface is management of the RNIC. This includes arranging
access to the RNIC, accessing and modifying its attributes, and shutting it down.
The Queue Pair (QP) is a key component required for the operation of the RNIC interface. It is the
RNIC resource used by consumers to submit work requests to the RNIC interface. A queue pair is used
to interact with an RDMA stream on an RNIC. There may be thousands of queue pairs per RNIC.
Each queue pair provides the consumer with a single point of access to an individual RDMA stream.
A Queue Pair consists of a send queue and a receive queue. Sends, RDMA reads, RDMA writes, and
other operations are posted to send queues through work requests. Receive queues contain the buffer
information for arriving send messages. Work requests provide the mechanism for consumers to place
work queue elements onto the send and receive queues of a queue pair.
The Completion Queue (CQ) allows the consumer to retrieve work request completion status.
Notification mechanisms are provided to help a consumer identify when work requests have
completed processing in the RNIC interface. There may be thousands of completion queues per RNIC,
and they can be associated with the send queues and receive queues in any combination the
consumer requires.
Event handlers provide the mechanism for notifying consumers of asynchronous events that occur
within the RNIC interface but cannot be reported through the completion queues because they are
asynchronous or they are not easily associated with a work completion.
8