DragonFly BSD
DragonFly kernel List (threaded) for 2010-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: kernel work week of 3-Feb-2010 HEADS UP


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 7 Feb 2010 11:29:25 -0800 (PST)

    I'll be able to commit the swapcache write clustering code later
    today.  This code collects 4K pages into larger 64K clusters and also
    tends to assign linear swap space when multiple clusters
    are being pushed, as well as roughly match a multiple of the buffer
    cache blocksize.  This gives the SSD the ability to optimally
    write-combine and optimally handle erasures and reduces occurrences
    of fragmented reads.

    So far preliminary tests show a fairly serious improvement in SSD
    performance.  With this Intel 40G SSD I am getting 180-200 MB/sec
    readbacks.

    foreach i ( dfly-gui-2.1.1_REL.iso msdos_usbkey.img test )
	dd if=$i of=/dev/null bs=32k
    end

    1270548480 bytes transferred in 6.737439  secs (188580334 bytes/sec)
    2008023040 bytes transferred in 10.722041 secs (187279923 bytes/sec)
    3302752256 bytes transferred in 14.657742 secs (225324764 bytes/sec)

    --

    I ran leaf.dragonflybsd.org with swapcache meta-data caching
    enabled overnight.  Operational characteristics were very good.
    It bursted most of the meta-data in the first few hours and the
    write rate then went to almost zero after that.

    I have just now turned on data caching on leaf too, so both meta-data
    and data will now be swap-cached so see how that works out.  I have
    reduced the accrate to 100K/s to see how it effects the bursting over
    the day.  Ultimately we want the swapcache to be effective with a
    long-term average write rate in the 100K/s range for MLC drives.

    100K/sec = 8G/day = 5-10 year life span for a $100 SSD which
    massively improves storage performance.  Win.

    (Leaf is not running the write clustering code yet however).

						-Matt




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