Main Page | Modules | Data Structures | File List | Data Fields | Globals

-mgmt

The PVFS management interfaces provide abstraction for posting and testing operations, and allowing them to be serviced via different methods, both blocking and asynchronous (using different models such as thread pools or queues). More...
An 'operation' is a unit of work defined by the caller via a callback function. The management interfaces allow callers to hand off these units of work, ignore the details of how and when the operation is serviced, and test for completion later.

Use of the API is done by creating a 'manager', which provides a common reference for all the operations that should be grouped together somehow. To a manager are added 'workers', which specify how an operation is serviced. Some examples of worker types are 'per-op', which creates a thread for that operation and services it, 'blocking', which blocks on the post call, services the operation and returns, or 'threaded-queues', which create a number of threads and pull operations off queues in-turn to service them. Finally, once a manager has been setup with the appropriate workers, operations can be posted to the manager. The worker that services the operation is chosen either explicitly in the post call, or dynamically using the type of the operation as the key. Notification of completed operations is made through the completion context, which is specified for a particular manager, or passed in with the post call.


Generated on Tue Feb 7 02:44:08 2012 for PVFS by doxygen 1.3.5