The Virtual Interface Architecture

Chapter 3: Principles of Operation

This chapter will summarize the fundamental concepts underlying the Virtual Interface Architecture. First, we present the VI stack and the VI data movement operations: Send/Receive, RDMA-Read, and RDMA-Write. Second, we will define basic concepts such as descriptors, work queues, completion queues, doorbells, and memory registration. This knowledge will prepare the reader for subsequent discussions of implementation procedures, coding, and other technical issues.

The VI Stack

The VI architecture permits direct access to the underlying network hardware, enabling an application to transmit and receive data with very low overhead. To understand how VIA achieves such low overhead, the user must first understand the structure and purpose of the VI stack. The VI stack consists of the software and hardware layers that are traversed when data is transferred on the VI Architecture. The stack is comprised of three layers: the VI NIC, the VI Provider Layer, and the VI Kernel Agent. See Figure 3.1, VI Stack.


Figure 3.1: The VI Stack

The VI NIC is a network interface controller that complies with the VI Architecture Specification. The VI NIC executes the multiplexing, de-multiplexing, and data transfer scheduling functions normally performed by the operating system kernel. Also, to ensure reliable communication between endpoints, a VI NIC may implement a reliability protocol.

The VI Provider Layer is a set of functions and data structures that provide use-level processes a software interface to the VI NIC. This interface is a minimal set of primitives that fully exposes the underlying capabilities of the VI Architecture.

If...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Protocol Stack Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.