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

Reply via email to