Date of Award

Winter 2012

Project Type


Program or Major

Computer Science

Degree Name

Master of Science

First Advisor

Robert Russell


GridFTP is used by researchers to move large data-sets across grid networks. Its benefits include data striping, multiple parallel data channels, and check-pointing. Like traditional FTP, GridFTP separates the control channel from the data channel, but also includes extensions to allow for third-party control of the transfer. GridFTP is one component of the Globus Toolkit, a software system designed to allow researchers to easily adapt, extend, and modify GridFTP and other tools to meet their specific needs. The eXtensible Input/Output (XIO) component, which provides common and logging libraries as well as built-in transport drivers such as TCP and UDP, defines the architecture and API used for implementing new drivers.

Remote Direct Memory Access, or RDMA, is a network communication architecture which defines a number of features not available with traditional sockets based communication. With RDMA all I/O operations are offloaded to hardware. Combined with the use of registered memory, this eliminates the intermediate copying of data to kernel buffers as is done with TCP. This results in a significant reduction in latency and CPU overhead because the kernel TCP/IP stack is not used. The RDMA architecture is implemented with InfiniBand cables and interface cards, or with Ethernet cables and RoCE or iWARP interface cards.

This thesis funded in part by National Science Foundation Grant OCI-1127228, and describes the implementation of a new Globus Toolkit XIO driver which uses the RDMA Verbs API to drive network communication. Unlike other XIO drivers, the RDMA driver will not produce an intermediate copy of data prior to transmission over the network, therefore taking advantage of the full capabilities of RDMA. The work presented here describes the motivation, implementation, and various challenges and solutions associated with implementing a new XIO driver for RDMA, as well as giving an overview of its effectiveness when compared with TCP.