[Beowulf] Looking for block size settings (from stat) on parallel filesystems

Bernd Schubert bs_lists at aakef.fastmail.fm
Thu Jun 17 16:08:35 PDT 2010


On Thursday 17 June 2010, Craig Tierney wrote:
> I am looking for a little help to find out what block sizes (as shown
> by stat) by Linux based parallel filesystems.
> 
> You can find this by running stat on a file.  For example on Lustre:
> 
> # stat /lfs0/bigfile
>   File: `/lfs0//bigfile'
>   Size: 1073741824	Blocks: 2097160    IO Block: 2097152 regular file
> Device: 59924a4a8h/1502839976d	Inode: 45361266    Links: 1
> Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
> Access: 2010-06-17 20:24:32.000000000 +0000
> Modify: 2010-06-17 20:16:49.000000000 +0000
> Change: 2010-06-17 20:16:49.000000000 +0000
> 
> If anyone can run this test and provide me with the filesystem
> and result (as well as the OS used), it would be a big help.  I am
> specifically looking for GPFS results, but other products (Panasas,
> GlusterFS, NetApp GX) would be helpful.
> 
> Why do I care?  Because in netcdf, when nf_open or nf_create are
> called, it will use the blocksize that is found in the stat structure.  On
> lustre it is 2M so writes are very fast.  However, if the number comes
> back as 4k (which some filesystems do), then writes are slower than
> they need to be.  This isn't just a  netcdf issue.  The Linux tool cp does
> the same thing, it will use a block  size that matches the specified
> blocksize of the destination filesystem.


Probably a bit hackish, but it would be very simple to write an overlay fuse 
filesystem, which would allow to modify that parameter. Unfortunately, we also 
would need to modify fuse, as current maximum through fuse are 128KB. Although 
it also would be easy to change those defines. However, I'm not sure if RedHat 
backported those patches to allow large IO sizes through fuse at all. If not, 
glusterfs on RedHat also only will send 4KB requests.


Cheers,
Bernd



More information about the Beowulf mailing list