1 Dec 2006 01:15
[RFC] delayed allocation, mballoc, etc
Alex Tomas <alex <at> clusterfs.com>
2006-12-01 00:15:06 GMT
2006-12-01 00:15:06 GMT
Good day, I'd like to ask the community to discuss and review few things I've been working on. we propose set of patches with intention to improve performance of ext4: * locality groups to achieve good performance writing many small files we need to allocate them closely each to other. the simplest way could be to allocate all small files using next block after the previous small file. and this would work well for a single-job case. for multi-job case (few untar's, for example) this would break job locality and cause performance penaly in subsequent access. locality groups idea may help here: let's group all files by some property. pgid, for example. now, every time the kernel ask filesystem to flush dirty pages, we flush inodes from 1st group, then from 2nd and go on. this one we can form large contiguous allocations (for a whole group) achieving good throughput and preserve quite good locality. * scalable block reservation this is required to protect from -ENOSPC when pages enter pagecache w/o space allocation (delayed allocation). it also should scale well on high-end SMP as every cpu has one "pool" of block. when pool is empty, the filesystem rebalance free blocks between all cpus(Continue reading)
Agreed, I think there isn't any reason to increase the group size
RSS Feed