Motivation for the pvfs2-client Application

Currently, our entire code base exists as user space code. This includes all of our networking support (through the BMI and Flow Interfaces), and our non-blocking request handling architecture through the Job Interface. The pvfs2-server already uses these interfaces to manage multiple simultaneous operations in flight at once. Similarly, it is highly desirable to have a pvfs2-client application that can issue and manage multiple simultaneous operations at once when communicating with the pvfs2-servers. Therefore, at least in the short term, it would be most appropriate to leverage as much of our existing code as possible. A user-space application is required to make use of this code, and thus the need for the pvfs2-client application to bridge the gap between the Linux kernel's VFS layer and the System Interface.