HAMMER on a VINUM volume
Matthew Dillon
dillon at apollo.backplane.com
Mon Jun 9 17:58:27 PDT 2008
:master# newfs_hammer -L datapool /dev/vinum/datapool
:Volume 0 DEVICE /dev/vinum/datapool size 143.11GB
:initialize freemap volume 0
:Initializing B-Tree blockmap
:Initializing Large-Data blockmap
:Initializing Small-Data blockmap
:---------------------------------------------
:1 volume total size 143.11GB
:boot-area-size: 64.00MB
:memory-log-size: 0.50GB
:undo-buffer-size: 152.00MB
:zone-limit: 4.00TB
:total-pre-allocated: 232.00MB
:
:master# dd if=/dev/zero of=./test02.dat count=100 bs=1024K
:100+0 records in
:100+0 records out
:104857600 bytes transferred in 3.143593 secs (33355971 bytes/sec)
:
:master# dd if=/dev/zero of=./test03.dat count=4096 bs=1024K
:4096+0 records in
:4096+0 records out
:4294967296 bytes transferred in 136.746060 secs (31408344 bytes/sec)
Here's what I am getting on a 3ware SATA card. I suspect the difference
is that the 3ware driver has queued I/O whereas a basic IDE driver
does not (nor does the basic SATA driver unless you see it say it
configured AHCI mode). UFS will do 64K clustered writes while HAMMER
currently is unable to do clustered writes.
3ware device driver for 9000 series storage controllers, version: 2.40.00.000
twa0: <3ware 9000 series Storage Controller> port 0xe800-0xe8ff mem 0xdd800000-0xddffffff,0xdefdfc00-0xdefdfcff irq 10 at device 8.0 on pci4
twa0: WARNING: (0x04: 0x0042): Error during read of primary DCB: port=0, error=0x208
twa0: 4 ports, Firmware FE9X 2.06.00.009, BIOS BE9X 2.03.01.051
test12# dd if=/dev/zero of=test bs=1024k count=1024
1024+0 records in
1024+0 records out
1073741824 bytes transferred in 12.377364 secs (86750445 bytes/sec)
:One thing I noticed is that in a after formatting with UFS we lose 10GB
:that UFS reserves for its management, but I didn't noticed any loss in a
:hammer partition. I like that!
:
:Yeah, yeah, I know this is a very basic check and there are a lot of
:factors that have influence in these results, but I'm not an expert but
:an user.
:
:Regards,
:Antonio Huete
newfs_hammer tells you how much it pre-allocated:
:total-pre-allocated: 232.00MB
That is mostly for the blockmaps and the UNDO FIFO. It allocated
152MB for the UNDO FIFO, in fact.
HAMMER does not pre-allocate inodes and has no concept of cylinder groups,
so the inode overhead is not counted in the newfs.
HAMMER has about ~200 bytes overhead per inode (including B-Tree element,
inode data, and the directory entry).
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Users
mailing list