InfiniBand Architecture Development and Deployment: A Strategic Guide to Server I/O Solutions

Chapter 12: Design Example

One of the best ways to demonstrate how applications apply technology is by example. This chapter looks at I/O operation and how an I/O driver can be structured to control a block storage I/O controller.

Developing a Storage Driver

This example uses the reference model developed in Chapter 8 and applies the concepts discussed in Chapters 9, 10, and 11 to illustrate the process flow of a storage driver. It shows the steps involved in initializing the application, how the application creates and connects its queue pairs, and how the application uses the QPs to perform I/O transactions (i.e., perform disk reads and writes).

The example makes the following assumptions:

  • The subnet consists of a subnet manager, a host, and an I/O unit with a device management agent.

  • The I/O controller protocol uses a service name of Storage.xyz.

  • The host and I/O unit share a partition where the host is not a limited member.

  • The host employs the Channel Access Layer defined in Chapter 8 and Chapter 9.

Process Flow

The four main modules are:

  • Initialization This starts at the point where the I/O Resource Manager (IORM) finds the storage controller on an I/O unit and loads the I/O driver.

  • Assignment The IORM identifies the I/O controller to the I/O driver, and the I/O driver uses management functions to derive pertinent information about the I/O controller and establish connections with it. This phase repeats each time the IORM assigns a new I/O controller to the I/O driver.

  • Input...

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: I/O Modules and Instruments
Finish!
Privacy Policy

This is embarrasing...

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