The Virtual Interface Architecture

Chapter 6: VIPL Made Simple

This chapter will illustrate how to use VIPL by presenting an example application. The application shows the use of Send, Receive, and RDMA-Write operations. It also demonstrates how to open and close a VI NIC, create and destroy VIs, connect and disconnect VIs, and register and deregister memory. After this chapter, the reader will be ready to write simple VIPL programs.

Application Overview

The application illustrated in this chapter creates is a simple crossword puzzle solver. It consists of two programs: a client program that issues requests and a server program that replies with the answers.

The puzzle is an N x M array of characters in the client s address space. To show the use of RDMA-Write, the replies are written directly into the array by the server program.

To make things simple, the puzzle is in the form of a word square. This allows the use of across answers only. Performing an RDMA-Write of the across answers (i.e., rows of characters) is straightforward since they occupy contiguous bytes in memory. Handling down answers (i.e., columns of characters) would be more complicated as the letters in the word square are not stored in adjacent memory locations. You may remember from Chapter 3 that RDMA-Write does not support scattering the result of a write into non-contiguous memory.

Figure 6.1 shows the exchange of data between the client and server programs. The client uses a Send operation to transmit a clue and the starting address in the puzzle array to place the...

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: E-Mail Software
Finish!
Privacy Policy

This is embarrasing...

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