<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-AU" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Kevin,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">               Thanks for the offer of help. I am capable of writing my own, but it looks like the best approach is to use mmapplypolicy,
 something I had not thought of. This is precisely the reason I asked what looks like a silly question. You don’t know what you don’t know!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">The quality of content on this list has been exceptional of late!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Greg<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> gpfsug-discuss-bounces@spectrumscale.org [mailto:gpfsug-discuss-bounces@spectrumscale.org]
<b>On Behalf Of </b>Buterbaugh, Kevin L<br>
<b>Sent:</b> Wednesday, 28 September 2016 11:45 PM<br>
<b>To:</b> gpfsug main discussion list <gpfsug-discuss@spectrumscale.org><br>
<b>Subject:</b> Re: [gpfsug-discuss] Blocksize - file size distribution<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Greg, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Not saying this is the right way to go, but I rolled my own.  I wrote a very simple Perl script that essentially does the Perl equivalent of a find on my GPFS filesystems, then stat’s files and directories and writes the output to a text
 file.  I run that one overnight or on the weekends.  Takes about 6 hours to run across our 3 GPFS filesystems with metadata on SSDs.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Then I’ve written a couple of different Perl scripts to analyze that data in different ways (the idea being that collecting the data is “expensive” … but once you’ve got it it’s cheap to analyze it in different ways).  But the one I’ve
 been using for this project just breaks down the number of files and directories by size and age and produces a table.  Rather than try to describe this, here’s sample output:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">For input file:  gpfsFileInfo_20160915.txt<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   <1 day | <1 wk | <1 mo | <2 mo | <3 mo | <4 mo | <5 mo | <6 mo | <1 yr | >1 year | Total Files<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <1 KB<span class="apple-tab-span"> </span> 29538<span class="apple-tab-span">
</span>111364<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">458260<span class="apple-tab-span"> </span>634398<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">150199<span class="apple-tab-span"> </span>305715<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">4388443<span class="apple-tab-span"> </span>93733<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">966618<span class="apple-tab-span"> </span>3499535<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">10637803<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <2 KB<span class="apple-tab-span"> </span> 9875<span class="apple-tab-span">
</span>20580<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">119414<span class="apple-tab-span"> </span>295167<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">35961<span class="apple-tab-span"> </span>67761<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">80462<span class="apple-tab-span"> </span>33688<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">269595<span class="apple-tab-span"> </span>851641<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1784144<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <4 KB<span class="apple-tab-span"> </span> 9212<span class="apple-tab-span">
</span>45282<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">168678<span class="apple-tab-span"> </span>496796<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">27771<span class="apple-tab-span"> </span>23887<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">105135<span class="apple-tab-span"> </span>23161<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">259242<span class="apple-tab-span"> </span>1163327<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2322491<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <8 KB<span class="apple-tab-span"> </span> 4992<span class="apple-tab-span">
</span>29284<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">105836<span class="apple-tab-span"> </span>303349<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">28341<span class="apple-tab-span"> </span>20346<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">246430<span class="apple-tab-span"> </span>28394<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">216061<span class="apple-tab-span"> </span>1148459<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2131492<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <16 KB<span class="apple-tab-span"> </span> 3987<span class="apple-tab-span">
</span>18391<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">92492<span class="apple-tab-span"> </span>218639<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">20513<span class="apple-tab-span"> </span>19698<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">675097<span class="apple-tab-span"> </span>30976<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">190691<span class="apple-tab-span"> </span>851533<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2122017<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <32 KB<span class="apple-tab-span"> </span> 4844<span class="apple-tab-span">
</span>12479<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">50235<span class="apple-tab-span"> </span>265222<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">24830<span class="apple-tab-span"> </span>18789<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1058433<span class="apple-tab-span"> </span>18030<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">196729<span class="apple-tab-span"> </span>1066287<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2715878<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <64 KB<span class="apple-tab-span"> </span> 6358<span class="apple-tab-span">
</span>24259<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">29474<span class="apple-tab-span"> </span>222134<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">17493<span class="apple-tab-span"> </span>10744<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1381445<span class="apple-tab-span"> </span>11358<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">240528<span class="apple-tab-span"> </span>1123540<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">3067333<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <128 KB<span class="apple-tab-span"> </span> 6531<span class="apple-tab-span">
</span>59107<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">206269<span class="apple-tab-span"> </span>186213<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">71823<span class="apple-tab-span"> </span>114235<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1008724<span class="apple-tab-span"> </span>36722<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">186357<span class="apple-tab-span"> </span>845921<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2721902<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <256 KB<span class="apple-tab-span"> </span> 1995<span class="apple-tab-span">
</span>17638<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">19355<span class="apple-tab-span"> </span>436611<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">8505<span class="apple-tab-span"> </span>7554<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">3582738<span class="apple-tab-span"> </span>7519<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">249510<span class="apple-tab-span"> </span>744885<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">5076310<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <512 KB<span class="apple-tab-span"> </span> 20645<span class="apple-tab-span">
</span>12401<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">24700<span class="apple-tab-span"> </span>111463<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">5659<span class="apple-tab-span"> </span>22132<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1121269<span class="apple-tab-span"> </span>10774<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">273010<span class="apple-tab-span"> </span>725155<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2327208<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <1 MB<span class="apple-tab-span"> </span> 2681<span class="apple-tab-span">
</span>6482<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">37447<span class="apple-tab-span"> </span>58459<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">6998<span class="apple-tab-span"> </span>14945<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">305108<span class="apple-tab-span"> </span>5857<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">160360<span class="apple-tab-span"> </span>386152<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">984489<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <4 MB<span class="apple-tab-span"> </span> 4554<span class="apple-tab-span">
</span>84551<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">23320<span class="apple-tab-span"> </span>100407<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">6818<span class="apple-tab-span"> </span>32833<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">129758<span class="apple-tab-span"> </span>22774<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">210935<span class="apple-tab-span"> </span>528458<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1144408<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <1 GB<span class="apple-tab-span"> </span> 56652<span class="apple-tab-span">
</span>33538<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">99667<span class="apple-tab-span"> </span>87778<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">24313<span class="apple-tab-span"> </span>68372<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">118928<span class="apple-tab-span"> </span>42554<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">251528<span class="apple-tab-span"> </span>916493<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1699823<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <10 GB<span class="apple-tab-span"> </span> 1245<span class="apple-tab-span">
</span>2482<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">4524<span class="apple-tab-span"> </span>3184<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1043<span class="apple-tab-span"> </span>1794<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">2733<span class="apple-tab-span"> </span>1694<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">8731<span class="apple-tab-span"> </span>20462<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">47892<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <100 GB<span class="apple-tab-span"> </span> 47<span class="apple-tab-span">
</span>230<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">470<span class="apple-tab-span"> </span>265<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">92<span class="apple-tab-span"> </span>198<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">172<span class="apple-tab-span"> </span>122<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">1276<span class="apple-tab-span"> </span>2061<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">4933<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> >100 GB<span class="apple-tab-span"> </span> 2<span class="apple-tab-span">
</span>3<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">12<span class="apple-tab-span"> </span>1<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">14<span class="apple-tab-span"> </span>4<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">5<span class="apple-tab-span"> </span>1<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">37<span class="apple-tab-span"> </span>165<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">244<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Total TB:<span class="apple-tab-span"> </span> 6.49<span class="apple-tab-span">
</span>13.22<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">30.56<span class="apple-tab-span"> </span>18.00<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">10.22<span class="apple-tab-span"> </span>15.69<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">19.87<span class="apple-tab-span"> </span>12.48<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">73.47<span class="apple-tab-span"> </span>187.44<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Grand Total:  387.46 TB<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Everything other than the total space lines at the bottom are counts of number of files meeting that criteria.  I’ve got another variation on the same script that we used when we were trying to determine how many old files we have and therefore
 how much data was an excellent candidate for moving to a slower, less expensive “capacity” pool.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I’m not sure how useful my tools would be to others … I’m certainly not a professional programmer by any stretch of the imagination (and yes, I do hear those of you who are saying, “Yeah, he’s barely a professional SysAdmin!” <grin>).  But
 others of you have been so helpful to me … I’d like to try in some small way to help someone else.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Kevin<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Sep 28, 2016, at 5:56 AM, Oesterlin, Robert <<a href="mailto:Robert.Oesterlin@nuance.com">Robert.Oesterlin@nuance.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Helvetica",sans-serif">/usr/lpp/mmfs/samples/debugtools/filehist</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Helvetica",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Helvetica",sans-serif">Look at the README in that directory.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Helvetica",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:10.5pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif">Bob Oesterlin<br>
Sr Storage Engineer, Nuance HPC Grid</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Helvetica",sans-serif"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Helvetica",sans-serif"> </span><o:p></o:p></p>
</div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-family:"Calibri",sans-serif">From:<span class="apple-converted-space"> </span></span></b><span style="font-family:"Calibri",sans-serif"><<a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">gpfsug-discuss-bounces@spectrumscale.org</span></a>>
 on behalf of "<a href="mailto:Greg.Lehmann@csiro.au"><span style="color:purple">Greg.Lehmann@csiro.au</span></a>" <<a href="mailto:Greg.Lehmann@csiro.au"><span style="color:purple">Greg.Lehmann@csiro.au</span></a>><br>
<b>Reply-To:<span class="apple-converted-space"> </span></b>gpfsug main discussion list <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>><br>
<b>Date:<span class="apple-converted-space"> </span></b>Wednesday, September 28, 2016 at 2:40 AM<br>
<b>To:<span class="apple-converted-space"> </span></b>"<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>" <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>><br>
<b>Subject:<span class="apple-converted-space"> </span></b>[EXTERNAL] Re: [gpfsug-discuss] Blocksize</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I am wondering what people use to produce a file size distribution report for their filesystems. Has everyone rolled their own or is
 there some goto app to use.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Cheers,</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Greg</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span class="apple-converted-space"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">gpfsug-discuss-bounces@spectrumscale.org</span></a><span class="apple-converted-space"> </span>[<a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">mailto:gpfsug-discuss-bounces@spectrumscale.org</span></a>]<span class="apple-converted-space"> </span><b>On
 Behalf Of<span class="apple-converted-space"> </span></b>Buterbaugh, Kevin L<br>
<b>Sent:</b><span class="apple-converted-space"> </span>Wednesday, 28 September 2016 7:21 AM<br>
<b>To:</b><span class="apple-converted-space"> </span>gpfsug main discussion list <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>><br>
<b>Subject:</b><span class="apple-converted-space"> </span>Re: [gpfsug-discuss] Blocksize</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white">Hi All,<span class="apple-converted-space"> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white">Again, my thanks to all who responded to my last post.  Let me begin by stating something I unintentionally omitted in my last post … we already use SSDs for our metadata.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white">Which leads me to yet another question … of my three filesystems, two (/home and /scratch) are much older (created in 2010) and therefore currently have a 512 byte inode size.  /data is newer and has a 4K inode
 size.  Now if I combine /scratch and /data into one filesystem with a 4K inode size, the amount of space used by all the inodes coming over from /scratch is going to grow by a factor of eight unless I’m horribly confused.  And I would assume I need to count
 the amount of space taken up by allocated inodes, not just used inodes.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white">Therefore … how much space my metadata takes up just grew significantly in importance since:  1) metadata is on very expensive enterprise class, vendor certified SSDs, 2) we use RAID 1 mirrors of those SSDs, and
 3) we have metadata replication set to two.  Some of the information presented by Sven and Yuri seems to contradict each other in regards to how much space inodes take up … or I’m misunderstanding one or both of them!  Leaving aside replication, if I use a
 256K block size for my metadata and I use 4K inodes, are those inodes going to take up 4K each or are they going to take up 8K each (1/32nd of a 256K block)?<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white">By the way, I do have a file size / file age spreadsheet for each of my filesystems (which I would be willing to share with interested parties) and while I was not surprised to learn that I have over 10 million
 sub-1K files on /home, I was a bit surprised to find that I have almost as many sub-1K files on /scratch (and a few million more on /data).  So there’s a huge potential win in having those files in the inode on SSD as opposed to on spinning disk, but there’s
 also a huge potential $$$ cost.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white">Thanks again … I hope others are gaining useful information from this thread.  I sure am!<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white">Kevin<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="background:white">On Sep 27, 2016, at 1:26 PM, Yuri L Volobuev <<a href="mailto:volobuev@us.ibm.com"><span style="color:purple">volobuev@us.ibm.com</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><tt><span style="font-size:10.0pt">> 1) Let’s assume that our overarching goal in configuring the block</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> size for metadata is performance from the user perspective … i.e.</tt><span class="apple-converted-space"> </span><br>
<tt>> how fast is an “ls -l” on my directory?  Space savings aren’t</tt><span class="apple-converted-space"> </span><br>
<tt>> important, and how long policy scans or other “administrative” type</tt><span class="apple-converted-space"> </span><br>
<tt>> tasks take is not nearly as important as that directory listing.  </tt><br>
<tt>> Does that change the recommended metadata block size?</tt></span><br>
<br>
<tt><span style="font-size:10.0pt">The performance challenges for the "ls -l" scenario are quite different from the policy scan scenario, so the same rules do not necessarily apply.</span></tt><br>
<br>
<tt><span style="font-size:10.0pt">During "ls -l" the code has to read inodes one by one (there's some prefetching going on, to take the edge off for the actual 'ls' thread, but prefetching is still one inode at a time).  Metadata block size doesn't really
 come into the picture in this case, but inode size can be important -- depending on the storage performance characteristics.  Does the storage you use for metadata exhibit a meaningfully different latency for 4K random reads vs 512 byte random reads?  In my
 personal experience, on any modern storage device the difference is non-existent; in fact many devices (like all flash-based storage) use 4K native physical block size, and merely emulate 512 byte "sectors", so there's no way to read less than 4K.  So from
 the inode read latency point of view 4K vs 512B is most likely a wash, but then 4K inodes can help improve performance of other operations, e.g. readdir of a small directory which fits entirely into the inode.  If you use xattrs (e.g. as a side effect of using
 HSM), 4K inodes definitely help, but allowing xattrs to be stored in the inode.</span></tt><br>
<br>
<tt><span style="font-size:10.0pt">Policy scans reads inodes in full blocks, and there both metadata block size and inode size matter.  Larger blocks could improve the inode read performance, while larger inodes mean that the same number of blocks hold fewer
 inodes and thus more blocks need to be read.  So the policy inode scan performance is benefited by larger metadata block size and smaller inodes.  However, policy scans also have to perform a directory traversal step, and that step tends to dominate the runtime
 of the overall run, and using larger inodes actually helps to speed up traversal of smaller directories.  So whether larger inodes help or hurt the policy scan performance depends, yet again, on your file system composition.  Overall, I believe that with all
 angles considered, larger inodes help with performance, and that was one of the considerations for making 4K inodes the default in V4.2+ versions.</span></tt><br>
<br>
<tt><span style="font-size:10.0pt">> 2)  Let’s assume we have 3 filesystems, /home, /scratch (traditional</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> HPC use for those two) and /data (project space).  Our storage</tt><span class="apple-converted-space"> </span><br>
<tt>> arrays are 24-bay units with two 8+2P RAID 6 LUNs, one RAID 1</tt><span class="apple-converted-space"> </span><br>
<tt>> mirror, and two hot spare drives.  The RAID 1 mirrors are for /home,</tt><br>
<tt>> the RAID 6 LUNs are for /scratch or /data.  /home has tons of small</tt><span class="apple-converted-space"> </span><br>
<tt>> files - so small that a 64K block size is currently used.  /scratch</tt><span class="apple-converted-space"> </span><br>
<tt>> and /data have a mixture, but a 1 MB block size is the “sweet spot” there.  </tt></span><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> If you could “start all over” with the same hardware being the only</tt><span class="apple-converted-space"> </span><br>
<tt>> restriction, would you:</tt></span><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> a) merge /scratch and /data into one filesystem but keep /home</tt><span class="apple-converted-space"> </span><br>
<tt>> separate since the LUN sizes are so very different, or</tt></span><br>
<tt><span style="font-size:10.0pt">> b) merge all three into one filesystem and use storage pools so that</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> /home is just a separate pool within the one filesystem?  And if you</tt><br>
<tt>> chose this option would you assign different block sizes to the pools?</tt></span><br>
<br>
<tt><span style="font-size:10.0pt">It's not possible to have different block sizes for different data pools.  We are very aware that many people would like to be able to do just that, but this is counter to where the product is going.  Supporting different
 block sizes for different pools is actually pretty hard: it's tricky to describe a large file that has some blocks in poolA and some in poolB where poolB has a different block size (perhaps during a migration) with the existing inode/indirect block format
 where each disk address pointer addresses a block of fixed size.  With some effort, and some changes to how block addressing works, it would be possible to implement the support for this.  However, as I mentioned in another post in this thread, we don't really
 want to glorify manual block size selection any further, we want to move away from it, by addressing the reasons that drive different block size selection today (like disk space utilization and performance).</span></tt><br>
<br>
<tt><span style="font-size:10.0pt">I'd recommend calculating a file size distribution histogram for your file systems.  You may, for example, discover that 80% of the small files you have in /home would fit into 4K inodes, and then the storage space efficiency
 gains for the remaining 20% don't justify the complexity of managing an extra file system with a small block size.  We don't recommend using block sizes smaller than 256K, because smaller block size is not good for disk space allocation code efficiency.  It's
 a quadratic dependency: with a smaller block size, one block worth of the block allocation map covers that much less disk space, because each bit in the map covers fewer disk sectors, and fewer bits fit into a block.  This means having to create a lot more
 block allocation map segments than what is needed for an ample level of parallelism.  This hurts performance of many block allocation-related operations.</span></tt><br>
<br>
<tt><span style="font-size:10.0pt">I don't see a reason for /scratch and /data to be separate file systems, aside from perhaps failure domain considerations.</span></tt><br>
<br>
<tt><span style="font-size:10.0pt">yuri</span></tt><br>
<br>
<br>
<tt><span style="font-size:10.0pt">> On Sep 26, 2016, at 2:29 PM, Yuri L Volobuev <<a href="mailto:volobuev@us.ibm.com"><span style="color:purple">volobuev@us.ibm.com</span></a>> wrote:</span></tt><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> I would put the net summary this way: in GPFS, the "Goldilocks zone"</tt><br>
<tt>> for metadata block size is 256K - 1M. If one plans to create a new</tt><span class="apple-converted-space"> </span><br>
<tt>> file system using GPFS V4.2+, 1M is a sound choice.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> In an ideal world, block size choice shouldn't really be a choice.</tt><span class="apple-converted-space"> </span><br>
<tt>> It's a low-level implementation detail that one day should go the</tt><span class="apple-converted-space"> </span><br>
<tt>> way of the manual ignition timing adjustment -- something that used</tt><span class="apple-converted-space"> </span><br>
<tt>> to be necessary in the olden days, and something that select</tt><span class="apple-converted-space"> </span><br>
<tt>> enthusiasts like to tweak to this day, but something that's</tt><span class="apple-converted-space"> </span><br>
<tt>> irrelevant for the overwhelming majority of the folks who just want</tt><span class="apple-converted-space"> </span><br>
<tt>> the engine to run. There's work being done in that general direction</tt><br>
<tt>> in GPFS, but we aren't there yet.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> yuri</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> <graycol.gif>Stephen Ulmer ---09/26/2016 12:02:25 PM---Now I’ve got</tt><span class="apple-converted-space"> </span><br>
<tt>> anther question… which I’ll let bake for a while. Okay, to (poorly) summarize:</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> From: Stephen Ulmer <<a href="mailto:ulmer@ulmer.org"><span style="color:purple">ulmer@ulmer.org</span></a>></tt><br>
<tt>> To: gpfsug main discussion list <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>>,</tt><span class="apple-converted-space"> </span><br>
<tt>> Date: 09/26/2016 12:02 PM</tt><br>
<tt>> Subject: Re: [gpfsug-discuss] Blocksize</tt><br>
<tt>> Sent by:</tt><span class="apple-converted-space"> </span><tt><a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">gpfsug-discuss-bounces@spectrumscale.org</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Now I’ve got anther question… which I’ll let bake for a while.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Okay, to (poorly) summarize:</tt><span class="apple-converted-space"> </span></span><br>
<tt><span style="font-size:10.0pt">> There are items OTHER THAN INODES stored as metadata in GPFS.</span></tt><br>
<tt><span style="font-size:10.0pt">> These items have a VARIETY OF SIZES, but are packed in such a way</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> that we should just not worry about wasted space unless we pick a</tt><span class="apple-converted-space"> </span><br>
<tt>> LARGE metadata block size — or if we don’t pick a “reasonable”</tt><span class="apple-converted-space"> </span><br>
<tt>> metadata block size after picking a “large” file system block size</tt><span class="apple-converted-space"> </span><br>
<tt>> that applies to both.</tt></span><br>
<tt><span style="font-size:10.0pt">> Performance is hard, and the gain from calculating exactly the best</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> metadata block size is much smaller than performance gains attained</tt><span class="apple-converted-space"> </span><br>
<tt>> through code optimization.</tt></span><br>
<tt><span style="font-size:10.0pt">> If we were to try and calculate the appropriate metadata block size</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> we would likely be wrong anyway, since none of us get our data at</tt><span class="apple-converted-space"> </span><br>
<tt>> the idealized physics shop that sells massless rulers and</tt><span class="apple-converted-space"> </span><br>
<tt>> frictionless pulleys.</tt></span><br>
<tt><span style="font-size:10.0pt">> We should probably all use a metadata block size around 1MB. Nobody</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> has said this outright, but it’s been the example as the “good” size</tt><br>
<tt>> at least three times in this thread.</tt></span><br>
<tt><span style="font-size:10.0pt">> Under no circumstances should we do what many of us would have done</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> and pick 128K, which made sense based on all of our previous</tt><span class="apple-converted-space"> </span><br>
<tt>> education that is no longer applicable.</tt></span><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> Did I miss anything? :)</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Liberty,</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> --</tt><span class="apple-converted-space"> </span><br>
<tt>> Stephen</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
</span><br>
<tt><span style="font-size:10.0pt">> On Sep 26, 2016, at 2:18 PM, Yuri L Volobuev <<a href="mailto:volobuev@us.ibm.com"><span style="color:purple">volobuev@us.ibm.com</span></a>> wrote:</span></tt><br>
<tt><span style="font-size:10.0pt">> It's important to understand the differences between different</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> metadata types, in particular where it comes to space allocation.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> System metadata files (inode file, inode and block allocation maps,</tt><span class="apple-converted-space"> </span><br>
<tt>> ACL file, fileset metadata file, EA file in older versions) are</tt><span class="apple-converted-space"> </span><br>
<tt>> allocated at well-defined moments (file system format, new storage</tt><span class="apple-converted-space"> </span><br>
<tt>> pool creation in the case of block allocation map, etc), and those</tt><span class="apple-converted-space"> </span><br>
<tt>> contain multiple records packed into a single block. From the block</tt><span class="apple-converted-space"> </span><br>
<tt>> allocator point of view, the individual metadata record size is</tt><span class="apple-converted-space"> </span><br>
<tt>> invisible, only larger blocks get actually allocated, and space</tt><span class="apple-converted-space"> </span><br>
<tt>> usage efficiency generally isn't an issue.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> For user metadata (indirect blocks, directory blocks, EA overflow</tt><span class="apple-converted-space"> </span><br>
<tt>> blocks) the situation is different. Those get allocated as the need</tt><span class="apple-converted-space"> </span><br>
<tt>> arises, generally one at a time. So the size of an individual</tt><span class="apple-converted-space"> </span><br>
<tt>> metadata structure matters, a lot. The smallest unit of allocation</tt><span class="apple-converted-space"> </span><br>
<tt>> in GPFS is a subblock (1/32nd of a block). If an IB or a directory</tt><span class="apple-converted-space"> </span><br>
<tt>> block is smaller than a subblock, the unused space in the subblock</tt><span class="apple-converted-space"> </span><br>
<tt>> is wasted. So if one chooses to use, say, 16 MiB block size for</tt><span class="apple-converted-space"> </span><br>
<tt>> metadata, the smallest unit of space that can be allocated is 512</tt><span class="apple-converted-space"> </span><br>
<tt>> KiB. If one chooses 1 MiB block size, the smallest allocation unit</tt><span class="apple-converted-space"> </span><br>
<tt>> is 32 KiB. IBs are generally 16 KiB or 32 KiB in size (32 KiB with</tt><span class="apple-converted-space"> </span><br>
<tt>> any reasonable data block size); directory blocks used to be limited</tt><br>
<tt>> to 32 KiB, but in the current code can be as large as 256 KiB. As</tt><span class="apple-converted-space"> </span><br>
<tt>> one can observe, using 16 MiB metadata block size would lead to a</tt><span class="apple-converted-space"> </span><br>
<tt>> considerable amount of wasted space for IBs and large directories</tt><span class="apple-converted-space"> </span><br>
<tt>> (small directories can live in inodes). On the other hand, with 1</tt><span class="apple-converted-space"> </span><br>
<tt>> MiB block size, there'll be no wasted metadata space. Does any of</tt><span class="apple-converted-space"> </span><br>
<tt>> this actually make a practical difference? That depends on the file</tt><span class="apple-converted-space"> </span><br>
<tt>> system composition, namely the number of IBs (which is a function of</tt><br>
<tt>> the number of large files) and larger directories. Calculating this</tt><span class="apple-converted-space"> </span><br>
<tt>> scientifically can be pretty involved, and really should be the job</tt><span class="apple-converted-space"> </span><br>
<tt>> of a tool that ought to exist, but doesn't (yet). A more practical</tt><span class="apple-converted-space"> </span><br>
<tt>> approach is doing a ballpark estimate using local file counts and</tt><span class="apple-converted-space"> </span><br>
<tt>> typical fractions of large files and directories, using statistics</tt><span class="apple-converted-space"> </span><br>
<tt>> available from published papers.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> The performance implications of a given metadata block size choice</tt><span class="apple-converted-space"> </span><br>
<tt>> is a subject of nearly infinite depth, and this question ultimately</tt><span class="apple-converted-space"> </span><br>
<tt>> can only be answered by doing experiments with a specific workload</tt><span class="apple-converted-space"> </span><br>
<tt>> on specific hardware. The metadata space utilization efficiency is</tt><span class="apple-converted-space"> </span><br>
<tt>> something that can be answered conclusively though.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> yuri</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> <graycol.gif>"Buterbaugh, Kevin L" ---09/24/2016 07:19:09 AM---Hi</tt><span class="apple-converted-space"> </span><br>
<tt>> Sven, I am confused by your statement that the metadata block size</tt><span class="apple-converted-space"> </span><br>
<tt>> should be 1 MB and am very int</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> From: "Buterbaugh, Kevin L" <<a href="mailto:Kevin.Buterbaugh@vanderbilt.edu"><span style="color:purple">Kevin.Buterbaugh@Vanderbilt.Edu</span></a>></tt><br>
<tt>> To: gpfsug main discussion list <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>>,</tt><span class="apple-converted-space"> </span><br>
<tt>> Date: 09/24/2016 07:19 AM</tt><br>
<tt>> Subject: Re: [gpfsug-discuss] Blocksize</tt><br>
<tt>> Sent by:</tt><span class="apple-converted-space"> </span><tt><a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">gpfsug-discuss-bounces@spectrumscale.org</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Hi Sven,</tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> I am confused by your statement that the metadata block size should</tt><span class="apple-converted-space"> </span><br>
<tt>> be 1 MB and am very interested in learning the rationale behind this</tt><br>
<tt>> as I am currently looking at all aspects of our current GPFS</tt><span class="apple-converted-space"> </span><br>
<tt>> configuration and the possibility of making major changes.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> If you have a filesystem with only metadataOnly disks in the system</tt><span class="apple-converted-space"> </span><br>
<tt>> pool and the default size of an inode is 4K (which we would do,</tt><span class="apple-converted-space"> </span><br>
<tt>> since we have recently discovered that even on our scratch</tt><span class="apple-converted-space"> </span><br>
<tt>> filesystem we have a bazillion files that are 4K or smaller and</tt><span class="apple-converted-space"> </span><br>
<tt>> could therefore have their data stored in the inode, right?), then</tt><span class="apple-converted-space"> </span><br>
<tt>> why would you set the metadata block size to anything larger than</tt><span class="apple-converted-space"> </span><br>
<tt>> 128K when a sub-block is 1/32nd of a block? I.e., with a 1 MB block</tt><span class="apple-converted-space"> </span><br>
<tt>> size for metadata wouldn’t you be wasting a massive amount of space?</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> What am I missing / confused about there?</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Oh, and here’s a related question … let’s just say I have the above</tt><span class="apple-converted-space"> </span><br>
<tt>> configuration … my system pool is metadata only and is on SSD’s.</tt><span class="apple-converted-space"> </span><br>
<tt>> Then I have two other dataOnly pools that are spinning disk. One is</tt><span class="apple-converted-space"> </span><br>
<tt>> for “regular” access and the other is the “capacity” pool … i.e. a</tt><span class="apple-converted-space"> </span><br>
<tt>> pool of slower storage where we move files with large access times.</tt><span class="apple-converted-space"> </span><br>
<tt>> I have a policy that says something like “move all files with an</tt><span class="apple-converted-space"> </span><br>
<tt>> access time > 6 months to the capacity pool.” Of those bazillion</tt><span class="apple-converted-space"> </span><br>
<tt>> files less than 4K in size that are fitting in the inode currently,</tt><span class="apple-converted-space"> </span><br>
<tt>> probably half a bazillion (<grin>) of them would be subject to that</tt><span class="apple-converted-space"> </span><br>
<tt>> rule. Will they get moved to the spinning disk capacity pool or will</tt><br>
<tt>> they stay in the inode??</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Thanks! This is a very timely and interesting discussion for me as well...</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Kevin</tt><span class="apple-converted-space"> </span></span><br>
<tt><span style="font-size:10.0pt">> On Sep 23, 2016, at 4:35 PM, Sven Oehme <<a href="mailto:oehmes@us.ibm.com"><span style="color:purple">oehmes@us.ibm.com</span></a>> wrote:</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><br>
<tt><span style="font-size:10.0pt">> your metadata block size these days should be 1 MB and there are</span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> only very few workloads for which you should run with a filesystem</tt><span class="apple-converted-space"> </span><br>
<tt>> blocksize below 1 MB. so if you don't know exactly what to pick, 1</tt><span class="apple-converted-space"> </span><br>
<tt>> MB is a good starting point.</tt><span class="apple-converted-space"> </span><br>
<tt>> the general rule still applies that your filesystem blocksize</tt><span class="apple-converted-space"> </span><br>
<tt>> (metadata or data pool) should match your raid controller (or GNR</tt><span class="apple-converted-space"> </span><br>
<tt>> vdisk) stripe size of the particular pool.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> so if you use a 128k strip size(defaut in many midrange storage</tt><span class="apple-converted-space"> </span><br>
<tt>> controllers) in a 8+2p raid array, your stripe or track size is 1 MB</tt><br>
<tt>> and therefore the blocksize of this pool should be 1 MB. i see many</tt><span class="apple-converted-space"> </span><br>
<tt>> customers in the field using 1MB or even smaller blocksize on RAID</tt><span class="apple-converted-space"> </span><br>
<tt>> stripes of 2 MB or above and your performance will be significant</tt><span class="apple-converted-space"> </span><br>
<tt>> impacted by that.</tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Sven</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> ------------------------------------------</tt><br>
<tt>> Sven Oehme</tt><span class="apple-converted-space"> </span><br>
<tt>> Scalable Storage Research</tt><span class="apple-converted-space"> </span><br>
<tt>> email:</tt><span class="apple-converted-space"> </span><tt><a href="mailto:oehmes@us.ibm.com"><span style="color:purple">oehmes@us.ibm.com</span></a></tt><span class="apple-converted-space"> </span><br>
<tt>> Phone: +1 (408) 824-8904</tt><span class="apple-converted-space"> </span><br>
<tt>> IBM Almaden Research Lab</tt><span class="apple-converted-space"> </span><br>
<tt>> ------------------------------------------</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> <graycol.gif>Stephen Ulmer ---09/23/2016 12:16:34 PM---Not to be too</tt><br>
<tt>> pedantic, but I believe the the subblock size is 1/32 of the block</tt><span class="apple-converted-space"> </span><br>
<tt>> size (which strengt</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> From: Stephen Ulmer <<a href="mailto:ulmer@ulmer.org"><span style="color:purple">ulmer@ulmer.org</span></a>></tt><br>
<tt>> To: gpfsug main discussion list <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>></tt><br>
<tt>> Date: 09/23/2016 12:16 PM</tt><br>
<tt>> Subject: Re: [gpfsug-discuss] Blocksize</tt><br>
<tt>> Sent by:</tt><span class="apple-converted-space"> </span><tt><a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">gpfsug-discuss-bounces@spectrumscale.org</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">></span></tt><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Not to be too pedantic, but I believe the the subblock size is 1/32</tt><span class="apple-converted-space"> </span><br>
<tt>> of the block size (which strengthens Luis’s arguments below).</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> I thought the the original question was NOT about inode size, but</tt><span class="apple-converted-space"> </span><br>
<tt>> about metadata block size. You can specify that the system pool have</tt><br>
<tt>> a different block size from the rest of the filesystem, providing</tt><span class="apple-converted-space"> </span><br>
<tt>> that it ONLY holds metadata (—metadata-block-size option to mmcrfs).</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> So with 4K inodes (which should be used for all new filesystems</tt><span class="apple-converted-space"> </span><br>
<tt>> without some counter-indication), I would think that we’d want to</tt><span class="apple-converted-space"> </span><br>
<tt>> use a metadata block size of 4K*32=128K. This is independent of the</tt><span class="apple-converted-space"> </span><br>
<tt>> regular block size, which you can calculate based on the workload if</tt><br>
<tt>> you’re lucky.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> There could be a great reason NOT to use 128K metadata block size,</tt><span class="apple-converted-space"> </span><br>
<tt>> but I don’t know what it is. I’d be happy to be corrected about this</tt><br>
<tt>> if it’s out of whack.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> --</tt><span class="apple-converted-space"> </span><br>
<tt>> Stephen</tt></span><br>
<tt><span style="font-size:10.0pt">> On Sep 22, 2016, at 3:37 PM, Luis Bolinches <<a href="mailto:luis.bolinches@fi.ibm.com"><span style="color:purple">luis.bolinches@fi.ibm.com</span></a>> wrote:</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Hi</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> My 2 cents.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Leave at least 4K inodes, then you get massive improvement on small</tt><span class="apple-converted-space"> </span><br>
<tt>> files (less 3.5K minus whatever you use on xattr)</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> About blocksize for data, unless you have actual data that suggest</tt><span class="apple-converted-space"> </span><br>
<tt>> that you will actually benefit from smaller than 1MB block, leave</tt><span class="apple-converted-space"> </span><br>
<tt>> there. GPFS uses sublocks where 1/16th of the BS can be allocated to</tt><br>
<tt>> different files, so the "waste" is much less than you think on 1MB</tt><span class="apple-converted-space"> </span><br>
<tt>> and you get the throughput and less structures of much more data blocks.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> No warranty at all but I try to do this when the BS talk comes in:</tt><span class="apple-converted-space"> </span><br>
<tt>> (might need some clean up it could not be last note but you get the idea)</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> POSIX</tt><br>
<tt>> find . -type f -name '*' -exec ls -l {} \; > find_ls_files.out</tt><br>
<tt>> GPFS</tt><br>
<tt>> cd /usr/lpp/mmfs/samples/ilm</tt><br>
<tt>> gcc mmfindUtil_processOutputFile.c -o mmfindUtil_processOutputFile</tt><br>
<tt>> ./mmfind /gpfs/shared -ls -type f > find_ls_files.out</tt><br>
<tt>> CONVERT to CSV</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> POSIX</tt><br>
<tt>> cat find_ls_files.out | awk '{print $5","}' > find_ls_files.out.csv</tt><br>
<tt>> GPFS</tt><br>
<tt>> cat find_ls_files.out | awk '{print $7","}' > find_ls_files.out.csv</tt><br>
<tt>> LOAD in octave</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> FILESIZE = int32 (dlmread ("find_ls_files.out.csv", ","));</tt><br>
<tt>> Clean the second column (OPTIONAL as the next clean up will do the same)</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> FILESIZE(:,[2]) = [];</tt><br>
<tt>> If we are on 4K aligment we need to clean the files that go to</tt><span class="apple-converted-space"> </span><br>
<tt>> inodes (WELL not exactly ... extended attributes! so maybe use a</tt><span class="apple-converted-space"> </span><br>
<tt>> lower number!)</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> FILESIZE(FILESIZE<=3584) =[];</tt><br>
<tt>> If we are not we need to clean the 0 size files</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> FILESIZE(FILESIZE==0) =[];</tt><br>
<tt>> Median</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> FILESIZEMEDIAN = int32 (median (FILESIZE))</tt><br>
<tt>> Mean</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> FILESIZEMEAN = int32 (mean (FILESIZE))</tt><br>
<tt>> Variance</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> int32 (var (FILESIZE))</tt><br>
<tt>> iqr interquartile range, i.e., the difference between the upper and</tt><span class="apple-converted-space"> </span><br>
<tt>> lower quartile, of the input data.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> int32 (iqr (FILESIZE))</tt><br>
<tt>> Standard deviation</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> For some FS with lots of files you might need a rather powerful</tt><span class="apple-converted-space"> </span><br>
<tt>> machine to run the calculations on octave, I never hit anything</tt><span class="apple-converted-space"> </span><br>
<tt>> could not manage on a 64GB RAM Power box. Most of the times it is</tt><span class="apple-converted-space"> </span><br>
<tt>> enough with my laptop.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> --</tt><br>
<tt>> Ystävällisin terveisin / Kind regards / Saludos cordiales / Salutations</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Luis Bolinches</tt><br>
<tt>> Lab Services</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__www-2D03.ibm.com_systems_services_labservices_&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=FZK2diT_8zDTwgFdqdGpVFmBDtR2_l2SXiOZ7ZtOJlw&e="><span style="color:purple">http://www-03.ibm.com/systems/services/labservices/</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> IBM Laajalahdentie 23 (main Entrance) Helsinki, 00330 Finland</tt><br>
<tt>> Phone: +358 503112585</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> "If you continually give you will continually have." Anonymous</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> ----- Original message -----</tt><br>
<tt>> From: Stef Coene <<a href="mailto:stef.coene@docum.org"><span style="color:purple">stef.coene@docum.org</span></a>></tt><br>
<tt>> Sent by:</tt><span class="apple-converted-space"> </span><tt><a href="mailto:gpfsug-discuss-bounces@spectrumscale.org"><span style="color:purple">gpfsug-discuss-bounces@spectrumscale.org</span></a></tt><br>
<tt>> To: gpfsug main discussion list <<a href="mailto:gpfsug-discuss@spectrumscale.org"><span style="color:purple">gpfsug-discuss@spectrumscale.org</span></a>></tt><br>
<tt>> Cc:</tt><br>
<tt>> Subject: Re: [gpfsug-discuss] Blocksize</tt><br>
<tt>> Date: Thu, Sep 22, 2016 10:30 PM</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> On 09/22/2016 09:07 PM, J. Eric Wonderley wrote:</tt><br>
<tt>> > It defaults to 4k:</tt><br>
<tt>> > mmlsfs testbs8M -i</tt><br>
<tt>> > flag                value                    description</tt><br>
<tt>> > ------------------- ------------------------</tt><br>
<tt>> > -----------------------------------</tt><br>
<tt>> >  -i                 4096                     Inode size in bytes</tt><br>
<tt>> ></tt><br>
<tt>> > I think you can make as small as 512b.   Gpfs will store very small</tt><br>
<tt>> > files in the inode.</tt><br>
<tt>> ></tt><br>
<tt>> > Typically you want your average file size to be your blocksize and your</tt><br>
<tt>> > filesystem has one blocksize and one inodesize.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> The files are not small, but around 20 MB on average.</tt><br>
<tt>> So I calculated with IBM that a 1 MB or 2 MB block size is best.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> But I'm not sure if it's better to use a smaller block size for the</tt><br>
<tt>> metadata.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> The file system is not that large (400 TB) and will hold backup data</tt><br>
<tt>> from CommVault.</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Stef</tt><br>
<tt>> _______________________________________________</tt><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> Ellei edellä ole toisin mainittu: / Unless stated otherwise above:</tt><br>
<tt>> Oy IBM Finland Ab</tt><br>
<tt>> PL 265, 00101 Helsinki, Finland</tt><br>
<tt>> Business ID, Y-tunnus: 0195876-3</tt><span class="apple-converted-space"> </span><br>
<tt>> Registered in Finland</tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> _______________________________________________</tt><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">> _______________________________________________</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> _______________________________________________</tt><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">> _______________________________________________</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
<tt>> _______________________________________________</tt><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">> _______________________________________________</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><br>
</span><br>
<tt><span style="font-size:10.0pt">> _______________________________________________</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt></span><br>
<tt><span style="font-size:10.0pt">> _______________________________________________</span></tt><span style="font-size:10.0pt;font-family:"Courier New""><br>
<tt>> gpfsug-discuss mailing list</tt><br>
<tt>> gpfsug-discuss at</tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a></tt><br>
<tt>></tt><span class="apple-converted-space"> </span><tt><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a></tt></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white">_______________________________________________<br>
gpfsug-discuss mailing list<br>
gpfsug-discuss at<span class="apple-converted-space"> </span><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__spectrumscale.org&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=1fmUrBFyMxUXUHqah3E7V_sMrg7zbWBghNQWwAJPc9c&e="><span style="color:purple">spectrumscale.org</span></a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=CwMGaQ&c=djjh8EKwHtOepW4Bjau0lKhLlu-DxM1dlgP0rrLsOzY&r=LPDewt1Z4o9eKc86MXmhqX-45Cz1yz1ylYELF9olLKU&m=Tpe4SZ_1FVcZKlLQ9tq9V7fIAidT34vMVKPHS97tiSc&s=CEf2AMIDRUD_XeAA8cqtX6bFc7rnTTOgq7-mx5_dl44&e="><span style="color:purple">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<div>
<p class="MsoNormal" style="background:white"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;background:white">_______________________________________________</span><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif"><br>
<span style="background:white">gpfsug-discuss mailing list</span><br>
<span style="background:white">gpfsug-discuss at<span class="apple-converted-space"> </span></span></span><a href="http://spectrumscale.org/"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;color:purple;background:white">spectrumscale.org</span></a><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif"><br>
</span><a href="http://gpfsug.org/mailman/listinfo/gpfsug-discuss"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;color:purple;background:white">http://gpfsug.org/mailman/listinfo/gpfsug-discuss</span></a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>