Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Mar 2000 13:17:08 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        Poul-Henning Kamp <phk@critter.freebsd.dk>, current@FreeBSD.ORG, bde@FreeBSD.ORG
Subject:   Re: I/O clustering, Re: patches for test / review
Message-ID:  <200003202117.NAA71771@apollo.backplane.com>
References:  <20000320115902.C14789@fw.wintelcom.net> <20211.953581241@critter.freebsd.dk> <20000320125317.E14789@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help

:
:* Poul-Henning Kamp <phk@critter.freebsd.dk> [000320 12:03] wrote:
:> In message <20000320115902.C14789@fw.wintelcom.net>, Alfred Perlstein writes:
:> >* Poul-Henning Kamp <phk@critter.freebsd.dk> [000320 11:45] wrote:
:> >> In message <20000320111544.A14789@fw.wintelcom.net>, Alfred Perlstein writes:
:> >> 
:> >> >Keeping the currect cluster code is a bad idea, if the drivers were
:> >> >taught how to traverse the linked list in the buf struct rather
:> >> >than just notice "a big buffer" we could avoid a lot of page
:> >> >twiddling and also allow for massive IO clustering ( > 64k ) 
:> >> 
:> >> Before we redesign the clustering, I would like to know if we
:> >> actually have any recent benchmarks which prove that clustering
:> >> is overall beneficial ?
:> >
:> >Yes it is really benificial.
:> 
:> I would like to see some numbers if you have them.
:
:No I don't have numbers.
:
:Committing a 64k block would require 8 times the overhead of bundling
:up the RPC as well as transmission and reply, it may be possible
:to pipeline these commits because you don't really need to wait

    Clustering is extremely beneficial.  DG and I and I think even BDE and
    Tor have done a lot of random tests in that area.  I did a huge amount
    of clustering related work while optimizing NFSv3 and fixing up the
    random/sequential I/O heuristics for 4.0 (for both NFS and UFS).

    The current clustering code does a pretty good job and I would hesitate
    to change it at this time.  The only real overhead comes from the KVA
    pte mappings for b_data in the pbuf that the clustering (and other)
    code uses.  I do not think that redoing the clustering will have 
    a beneficial result until *after* we optimize the I/O path as per
    my previous posting.

    Once we optimize the I/O path to make it more VM Object centric, it
    will make it a whole lot easier to remove *ALL* the artificial I/O size
    limitations.

						-Matt



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003202117.NAA71771>