Re: On making performance.parallel-readdir as a default option

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

 



Please find my comments inline.

On 9/22/18 8:56 AM, Raghavendra Gowdappa wrote:


On Fri, Sep 21, 2018 at 11:25 PM Raghavendra Gowdappa <rgowdapp@xxxxxxxxxx <mailto:rgowdapp@xxxxxxxxxx>> wrote:

    Hi all,

    We've a feature performance.parallel-readdir [1] that is known to
    improve performance of readdir operations [2][3][4]. The option is
    especially useful when distribute scale is relatively large (>10)
    and is known to improve performance of readdir operations even on
    smaller scale of distribute count 1 [4].

    However, this option is not enabled by default. I am here proposing
    to make this as a default feature.

    But, there are some important things to be addressed in
    readdir-ahead (which is core part of parallel-readdir), before we
    can do so:

    To summarize issues with readdir-ahead:
    * There seems to be one prominent problem of missing dentries with
    parallel-readdir. There was one problem discussed on tech-list just
    yesterday. I've heard about this recurrently earlier too. Not sure
    whether this is the problem of missing unlink/rmdir/create etc fops
    (see below) in readdir-ahead. ATM, no RCA.

IMHO, this is a must fix to enable this option by default.

    * fixes to maintain stat-consistency in dentries pre-fetched have
    not made into downstream yet (though merged upstream [5]).
    * readdir-ahead doesn't implement directory modification fops like
    rmdir/create/symlink/link/unlink/rename. This means cache won't be
    updated wiith newer content, even on single mount till its consumed
    by application or purged.

As you had explained, since this affects cache-consistency, this as well needs to be addressed.

    * dht linkto-files should store relative positions of subvolumes
    instead of absolute subvolume name, so that changes to immediate
    child won't render them stale.

FWIU from your explanation, this may affect performance for a brief moment when the option is turned on but as such doesn't result in incorrect results. So considering that these options are usually configured at the beginning of the volume configuration and not toggled often, this may not be blocker.


    * Features parallel-readdir depends on to be working should be
    enabled automatically even though they were off earlier when
    parallel-readdir is enabled [6].

Since readdir-ahead is one such option which was not turned on (by default) till now and most of the above mentioned issues are with readdir-ahead, will it be helpful if we enable only readdir-ahead for few releases, get enough testing done and then consider parallel-readdir?


Thanks,
Soumya

    I've listed important known issues above. But we can discuss which
    are the blockers for making this feature as a default.

    Thoughts?

    [1] http://review.gluster.org/#/c/16090/
    [2]
    https://events.static.linuxfound.org/sites/events/files/slides/Gluster_DirPerf_Vault2017_0.pdf
    (sections on small directory)
    [3] https://bugzilla.redhat.com/show_bug.cgi?id=1628807#c35
    <https://bugzilla.redhat.com/show_bug.cgi?id=1628807#c34>
    [4] https://www.spinics.net/lists/gluster-users/msg34956.html
    [5] http://review.gluster.org/#/c/glusterfs/+/20639/
    [6] https://bugzilla.redhat.com/show_bug.cgi?id=1631406

    regards,
    Raghavendra


_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel



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

  Powered by Linux