<div dir="ltr">Hi Andreas,<div><br></div><div style>Thanks a lot,</div><div style><br style="font-family:arial,sans-serif;font-size:12.800000190734863px"><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">></span><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">this can all be pipelined by the client, which sends up to 8 RPCs</span><br style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<span style="font-family:arial,sans-serif;font-size:12.800000190734863px">></span><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">concurrently</span><br style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<span style="font-family:arial,sans-serif;font-size:12.800000190734863px">></span><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">for each OST.</span><br></div><div class="gmail_extra"><br></div>
<div class="gmail_extra" style>Can you plz explain a little bit about why "<span style="font-family:arial,sans-serif;font-size:12.800000190734863px">this can all be pipelined by the client</span>"</div><div class="gmail_extra" style>
how does the client pipeline it?</div><div class="gmail_extra" style>do you mean pipeline the multiple processes?</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style>Thanks,</div><div class="gmail_extra" style>
<br></div><div class="gmail_extra" style>Jaln</div><div class="gmail_extra" style>________________</div><div class="gmail_extra" style>Jialin Liu</div><div class="gmail_extra" style>Ph.D. student </div><div class="gmail_extra">
TTU&LBNL</div><div class="gmail_extra"><a href="http://www.myweb.ttu.edu/jialliu/">http://www.myweb.ttu.edu/jialliu/</a><br><br><div class="gmail_quote">On Fri, Jun 14, 2013 at 2:47 PM, Dilger, Andreas <span dir="ltr"><<a href="mailto:andreas.dilger@intel.com" target="_blank">andreas.dilger@intel.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">On 2013/13/06 6:36 PM, "Jaln" <<a href="mailto:valiantljk@gmail.com">valiantljk@gmail.com</a>> wrote:<br>

<br>
>Thank you Chris, I'm sort of clear now.<br>
>In my question, stripe 0,4 means one process wants to access stripe 0 and<br>
>4 at the same time.<br>
>there is another process wants to access both stripe 0 and 2,<br>
<br>
</div>Just to clarify the Lustre terminology here, if there are only 2 OSTs<br>
involved,<br>
there will only be two stripes, with index "0" and "1" (each with an<br>
arbitrary<br>
object ID), one on each OST.  In your case, each one will be an object of<br>
3MB<br>
in size.<br>
<div class="im"><br>
>even though stripe 0, 2, 4 are in the same place (one file),<br>
>but their offsets are different, i.e., 0 and 2 are contiguous,<br>
>while from 0 to 4 there is a gap.<br>
<br>
</div>Right, this is no different than an application reading from megabytes 0,1<br>
or 0,2<br>
from a local disk filesystem.  There will be a seek in the middle, unless<br>
the<br>
client, OSS, or RAID/disk decide to do readahead on the file or object.<br>
If the<br>
file is <= 2MB in size (llite.*.max_read_ahead_whole_mb tunable), Lustre<br>
will just prefetch the whole file on first access.<br>
<div class="im"><br>
>So my concern is, will the two processes have different I/O cost?<br>
>In other words, accessing 0 and 4 would take longer time than accessing 0<br>
>and 2.<br>
<br>
</div>Sure, one seek per MB accessed (<= 10ms), but this is relatively close<br>
compared<br>
to the network transfer time (10ms per MB for 1GigE, 1ms per MB for<br>
10GigE), and<br>
this can all be pipelined by the client, which sends up to 8 RPCs<br>
concurrently<br>
for each OST.<br>
<br>
Cheers, Andreas<br>
<div><div class="h5"><br>
>On Thu, Jun 13, 2013 at 5:23 PM, Christopher J. Morrone<br>
><<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a>> wrote:<br>
><br>
>In that case, it is the question part that I do not understand. :)  What<br>
>is "stripe 0,4", why could it be "closer" then "stripe 0,2"?  In your<br>
>example, 0, 2, and 4 are all in the same place.<br>
><br>
>If you file is striped over 2 OSTs, then essentially what happens behind<br>
>the scenes is that there are two files, one on each OST.  But Lustre<br>
>hides that from you, as a user.  Lustre basically does modulo operations<br>
>to translate a file offset from the file that<br>
> it presents to the user, into which ost and offset into said ost's file<br>
>to use.<br>
><br>
>Does that help at all?<br>
><br>
>Chris<br>
><br>
><br>
>On 06/13/2013 02:58 PM, Jaln wrote:<br>
><br>
>Oh, I mean there is one file, for example 6 MB, the stripe size is 1MB,<br>
>and only 2 OST,<br>
>then the file will be divided into 6 stripes, denoted as stripe<br>
>0,1,2,3,4,5.<br>
>the distribution on the 2 OST  would be stripe 0,2,4 on OST0, stripe<br>
>1,3,5 on OST1.<br>
><br>
>Jaln<br>
><br>
><br>
>On Thu, Jun 13, 2013 at 2:54 PM, Christopher J. Morrone<br>
><br>
><<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a> <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a>>> wrote:<br>
><br>
>    I think you may be confused about what a stripe is in Lustre.  If<br>
>    there are only 2 OST, then you can only stripe a file across 2.<br>
><br>
>    Or maybe I don't understand your terminology.  I don't know what you<br>
>    mean by "0,4" and "0,2".<br>
><br>
><br>
>    On 06/13/2013 02:38 PM, Jaln wrote:<br>
><br>
>        if I have 6 stripes, 2 OST, using round-robin striping,<br>
>        stripe 0,2,4 will be on OST0,<br>
>        stripe 1,3,5 will be on OST1,<br>
>        Do you guys have any idea about what will be the difference of<br>
>        accessing<br>
>        stripe 0,4 vs stripe 0,2?<br>
>        stripe 0, 2 seems to be closer than 0,4, or the lustre will do<br>
>        some intelligent work?<br>
><br>
>        Jaln<br>
><br>
><br>
>        On Thu, Jun 13, 2013 at 10:22 AM, Christopher J. Morrone<br>
>        <<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a> <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a>><br>
><br>
>        <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a> <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a>>>> wrote:<br>
><br>
>             On 06/13/2013 05:19 AM, E.S. Rosenberg wrote:<br>
>              > On Thu, Jun 13, 2013 at 3:09 AM, Christopher J. Morrone<br>
>              > <<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a> <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a>><br>
><br>
>        <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a> <mailto:<a href="mailto:morrone2@llnl.gov">morrone2@llnl.gov</a>>>> wrote:<br>
>              >> Lustre does not  manage the individual disks.  I sits<br>
>        on top of a<br>
>              >> filesystem, either ldiskfs(basically ext4) or zfs (as<br>
>        of Lustre<br>
>             2.4).<br>
>              > Is ZFS the recommended fs, or just an option?<br>
>              > Doesn't ZFS suffer major performance drawbacks on linux<br>
>        due to it<br>
>              > living in userspace?<br>
>              > Thanks,<br>
>              > Eli<br>
><br>
>             LLNL (Brian Behlendorf) ported ZFS natively to Linux.  We<br>
>        are not using<br>
>             the FUSE (userspace) version.  You can find it at:<br>
><br>
>        <a href="http://zfsonlinux.org" target="_blank">http://zfsonlinux.org</a><br>
><br>
>             ZFS is one of the two backend filesystem options for<br>
>        Lustre, as of<br>
>             Lustre 2.4.  2.4 is the first Lustre release that fully<br>
>        supports using<br>
>             ZFS.  Here at LLNL we are using it on our newest, and<br>
>        largest at 55PB,<br>
>             filesystem.<br>
><br>
>             Chris<br>
><br>
<br>
</div></div>Cheers, Andreas<br>
<span class=""><font color="#888888">--<br>
Andreas Dilger<br>
<br>
Lustre Software Architect<br>
Intel High Performance Data Division<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><pre style="margin:0in;font-family:Arial,Helvetica,sans-serif;font-size:large" lang="en-US" align="left"><font><font face="comic sans ms,sans-serif"><font color="#666666"><span>Genius only means hard-working all one's life</span></font></font></font></pre>

</div></div>