Write performance tragically slow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/18/2010 07:28 AM, Barry Jaspan wrote:
> On Thu, Nov 18, 2010 at 9:41 AM, Anand Avati<anand.avati at gmail.com>  wrote:
>
>> FUSE based filesystems have to face the unfortunate overhead of context
>> switches between application and the filesystem process.
>
> Gluster 2.x had a library named "booster" that bypassed the FUSE layer by
> providing implementations of all the filesystem syscalls that recognized
> glusterfs file descriptors and went directly to the glusterfs code instead
> of the kernel for those operations.
>
> Why was booster removed from Gluster 3.x?
>
> Barry
Barry,

     Booster was unstable by many reasons. I have did extensive tests to 
see the difference in throughput based with booster.  It revealed that 
bypassing FUSE in itself didn't give much performance improvement, 
actually there were no improvements at all. There were calls like 
OPENDIR, READDIR which were slow and snaggy to respond, where as native 
FUSE was far better.

Context switch overhead for small file performance from a network 
perspective was high enough
to mask the context with FUSE and VFS layers. So it doesn't matter if 
you bypass FUSE it still hits high on network latency, but in generality 
CPU speed matters for context switching performance.

We used taskset to some extent for small file performance to provide 
more CPU affinity for network i/o for glusterfsd if the user is 
primarily a small file workload. It helps to an extent, but things can 
be different many times under different workloads.

NFS native solves it to large extent with its aggressive client side 
caching of many attributes, since stats are served locally for NFS client.

Booster never evolved much more and we saw the side effects. Since the 
problem is elsewhere, so eventually it has to be dropped.

Regards

-- 
Harshavardhana
Gluster Inc - http://www.gluster.com
+1(408)-770-1887, Ext-113
+1(650)-318-1751




[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux