[Lustre-devel] Control file striping
Atchley, Scott
atchleyes at ornl.gov
Mon Nov 5 11:00:47 PST 2012
On Nov 5, 2012, at 1:42 PM, Christopher J. Morrone <morrone2 at llnl.gov> wrote:
> Pools only address one kind of problem: constraining object allocation
> to a set of OSTs.
>
> But what if the user wants to guarantee that their files' objects are
> evenly distributed across the OSTs, whether in a pool or not? Even a
> slight unevenness in object allocation (one OST getting more objects
> than the others) can drastically change the apparent aggregate
> throughput that the user sees.
>
> Most of the applications that I am aware of essentially do:
>
> compute
> barrier
> write files
> barrier
> repeat
>
> So any unevenness of object allocation means that the entire application
> sits and waits for that one OST that is more heavily loaded than the rest.
>
> Which generally means for us that Lustre's object allocation algorithms
> that attempt to provide space-balancing have noticeably negative impacts
> on application performance.
>
> So I agree that I would like to see the set-stripe API and wire
> protocols expanded to allow specifying all of the desired object
> indices, not just the first one.
>
> It would probably be good to make the use of the ability to manually set
> object locations permission-based, and allow the sysadmin to decide if
> users can use that functionality. Best would be if they could set it on
> a per-user basis, but I'd settle for a single large on/off switch.
>
> Chris
Ditto.
Scott
>
> On 11/05/2012 09:57 AM, Ben Evans wrote:
>> Have you considered using a combination of OST Pools and striping fit
>> your needs?
>>
>> -----Original Message-----
>> From: lustre-devel-bounces at lists.lustre.org
>> [mailto:lustre-devel-bounces at lists.lustre.org] On Behalf Of Atchley,
>> Scott
>> Sent: Monday, November 05, 2012 12:47 PM
>> To: Kalyana C
>> Cc: lustre-devel at lists.lustre.org
>> Subject: Re: [Lustre-devel] Control file striping
>>
>> On Nov 3, 2012, at 1:41 PM, Kalyana C <ckkccf at gmail.com> wrote:
>>
>>> Hello,
>>>
>>> I am trying to figure out a way to:
>>>
>>> set striping across a set of OSTs of my choice.
>>>
>>> lfs setstripe command and API call does not allow for this currently.
>> The user can only set the starting OST through the index parameter. I
>> appreciate why there is no such feature currently; you do not want to
>> let the users have control on how OSTs are used since it can result in
>> OST usage imbalance.
>>>
>>> However, I do have a valid usage case for such a feature and I am
>> trying to figure out the best way to do it.
>>
>> I have a valid use for it as well. It would be nice to have this feature
>> back.
>>
>> Scott
>>
>>>
>>> One way to achieve the same result is through the use of OST pools.
>> However, the userland tools do not work from a client node, it has to be
>> run on the MGS. There are also other restrictions as described here:
>> http://wiki.lustre.org/index.php/Creating_and_Managing_OST_Pools
>>>
>>> I am also digging through the Lustre source and header files to see if
>> there are other (undocumented) ways to do this.
>>>
>>> So, my questions are as follows:
>>>
>>> 1) Is there currently a way for a user to control the striping of a
>> file / directory on a selected set of OSTs? If yes, is it possible to do
>> it through an API call or a command line utility?
>>>
>>> 2) If answer to (1) is No, Is there a way to do this with admin rights
>> from the MDS or client nodes?
>>>
>>> 3) If pools are the only way to achieve this, is there an API call to
>> create, manage and destroy pools from a user application? Is there any
>> impact on performance of MDS components if pools are dynamically created
>> and deleted on demand? Can the API be called from a client node (root or
>> user) or does it have to be on the MGS?
>>>
>>> Thank you.
>>>
>>> Regards,
>>> Kalyana Chadalavada
>>>
>>> _______________________________________________
>>> Lustre-devel mailing list
>>> Lustre-devel at lists.lustre.org
>>> http://lists.lustre.org/mailman/listinfo/lustre-devel
>>
>> _______________________________________________
>> Lustre-devel mailing list
>> Lustre-devel at lists.lustre.org
>> http://lists.lustre.org/mailman/listinfo/lustre-devel
>> _______________________________________________
>> Lustre-devel mailing list
>> Lustre-devel at lists.lustre.org
>> http://lists.lustre.org/mailman/listinfo/lustre-devel
>> .
>>
>
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-devel
More information about the lustre-devel
mailing list