[Pvfs2-users] Number of data transfer messages
mtmoore at omnibond.com
Thu Jun 30 07:49:41 EDT 2011
On Wed, Jun 29, 2011 at 10:42 PM, Wantao <liu_wantao at qq.com> 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!
Appreciate for your patience.
> ------------------ Original ------------------
> *From: * "Michael Moore"<mtmoore at omnibond.com>;
> *Date: * Thu, Jun 30, 2011 01:13 AM
> *To: * "Wantao"<liu_wantao at qq.com>; **
> *Cc: * "pvfs2-users"<pvfs2-users at beowulf-underground.org>; **
> *Subject: * Re: [Pvfs2-users] Number of data transfer messages
> On Wed, Jun 29, 2011 at 10:01 AM, Wantao <liu_wantao at qq.com> 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.
>> ------------------ Original ------------------
>> *From: * "Michael Moore"<mtmoore at omnibond.com>;
>> *Date: * Wed, Jun 29, 2011 08:06 PM
>> *To: * "Wantao"<liu_wantao at qq.com>; **
>> *Cc: * "pvfs2-users"<pvfs2-users at beowulf-underground.org>; **
>> *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,
>> On Wed, Jun 29, 2011 at 3:20 AM, Wantao <liu_wantao at qq.com> 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.
>>> Pvfs2-users mailing list
>>> Pvfs2-users at beowulf-underground.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pvfs2-users