[PVFS-developers] "Parallelizing" manager cross-talk to IODs

White Stuart - stwhit Stuart.White at acxiom.com
Wed Apr 28 16:07:46 EDT 2004


Hello all,

The pvfs manager frequently sends requests to each of the IODs in order to
process requests.  It calls send_req() to accomplish this.  The send_req()
routine contains a loop that loops through all the IODs, sending the request
and waiting for the ACK from the IOD.  To illustrate:

forall (IODs)
{
   send_request_to_IOD();
   wait_for_ACK();
}

What results from this is that the IOD requests are sent in a very
sequential manner; the manager waits for an ACK from an IOD before sending
the request to the next IOD.  In general, this is acceptable.  However, in
cases where the IOD takes a significant amount of time to service the
request, this method of sending requests to the IODs is inefficient.  The
time it takes for the manager to service the request is the sum of the times
it takes for the IODs to service their requests.

I would like to suggest that we restructure the code to look like this:

forall (IODs)
{
   send_request_to_IOD();
}

forall (IODs)
{
   wait_for_ACK();
}

This effectively "parallelizes" the requests to the IODs.  Now, the time it
takes the manager to service the request is only equal to the longest time
one IOD takes to service its request.

I've attached a patch against the 1.6.2 source tarball that implements this
change.

I ask that the PVFS developers take a look at this suggestion and see if it
makes sense to them.  This change *seems* to make sense to me, but perhaps
I'm overlooking something.  All feedback is greatly appreciated!

Stuart


**********************************************************************
The information contained in this communication is
confidential, is intended only for the use of the recipient
named above, and may be legally privileged.
If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, 
distribution, or copying of this communication is strictly
prohibited.
If you have received this communication in error,
please re-send this communication to the sender and
delete the original message or any copy of it from your
computer system. Thank You.



More information about the PVFS-developers mailing list