On Wed, Jun 29, 2011 at 10:42 PM, Wantao <[email protected]> wrote: > Hi Michael, > > Sorry to bother you with so many questions. Looks like a state machine > takes a step forward only in the test or testsome function calls and > multiple state machines continue in a round-robin way. Why does not PVFS2 > spawn a thread for each state machine? I feel this way can ensure the > continuous running of a state machine and as a result, improve performance. > > I don't know the actual reason PVFS2 wasn't designed with a one thread per state machine. That decision was made well before I started working on PVFS2. I see your point but don't have any specific evidence one way or the other. My thought is that there may be some delay introduced while a state machine is waiting to be serviced but the total state machine execution time would be dominated by disk or network I/O. However, as I said, that's just a guess. It may be that a server with a large number of state machines does introduce a delay in completing the request that a one thread per state machine architecture would avoid. A good question and something to keep in mind. Thanks for the feedback!
Michael Appreciate for your patience. > > Wantao > > > ------------------ Original ------------------ > ** > *From: * "Michael Moore"<[email protected]>; > *Date: * Thu, Jun 30, 2011 01:13 AM > *To: * "Wantao"<[email protected]>; ** > *Cc: * "pvfs2-users"<[email protected]>; ** > *Subject: * Re: [Pvfs2-users] Number of data transfer messages > > On Wed, Jun 29, 2011 at 10:01 AM, Wantao <[email protected]> wrote: > >> Hi Michael, >> >> Your reply helps me a lot. From the source code, I see that a flow has 8 >> buffers, and each buffer is 256KB. Does that mean each flow can transfer at >> most 8 messages, each message is 256KB? If that is true, what happens to a >> file larger than 2MB(8*256KB)? >> > > Glad to help. The buffers are re-used as data is transferred; it just means > that a single flow will have at most that much data at anytime buffered to > transfer. The size of the buffer is configurable via FlowBufferSizeBytes and > FlowBufferPerFlows if you have a specific need to tune them. > > Michael > >> >> Thanks, >> Wantao >> ** >> ------------------ Original ------------------ >> *From: * "Michael Moore"<[email protected]>; >> *Date: * Wed, Jun 29, 2011 08:06 PM >> *To: * "Wantao"<[email protected]>; ** >> *Cc: * "pvfs2-users"<[email protected]>; ** >> *Subject: * Re: [Pvfs2-users] Number of data transfer messages >> Hi Wantao, >> >> In the situation you describe a single request will be sent to each server >> for your application's I/O request. When accessing a file the client needs >> to know what datafile handles are associated with the file, done via a >> getattr request, after that the client can perform I/O without contacting >> the metadata server. However, if the client updates attributes (atime, >> mtime, etc) as typically happens when using the kernel client interface, >> there will be a setattr request to the metadata server. >> >> Hope that helps, >> Michael >> >> On Wed, Jun 29, 2011 at 3:20 AM, Wantao <[email protected]> wrote: >> >>> Hi, all >>> >>> I have a PVFS2 installation with three IO servers and 64KB strip size. my >>> application requests 256KB in one IO operation(read or write). So, it needs >>> two continuous strips from server1 and one strip from server 2 and 3. In >>> this case, how many data transfer messages are needed for server1? Can it >>> send or receive two strips in one message? Another question is that when >>> accessing a big file, does PVFS2 need to interact with meta server for each >>> IO operation? >>> >>> Thanks for all advice. >>> >>> Wantao >>> >>> >>> >>> _______________________________________________ >>> Pvfs2-users mailing list >>> [email protected] >>> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users >>> >>> >> ** >> > > ** >
_______________________________________________ Pvfs2-users mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
