linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* resize2fs memory footprint
@ 2010-02-15  7:56 Ulrich Bauer
  2010-02-15 12:26 ` Ric Wheeler
  2010-02-15 21:50 ` tytso
  0 siblings, 2 replies; 3+ messages in thread
From: Ulrich Bauer @ 2010-02-15  7:56 UTC (permalink / raw)
  To: linux-ext4

We develop a deployment solution that is able to resize up to 16 drives 
at a time. While testing, we observed that resize2fs' memory usage 
scales with the volume size. Even in case of relatively small file 
systems of about 1.5TB, resize2fs would need about 135MB of application 
memory. Wit 16 large drives, one would need some GB of RAM just to 
resize the drives. Our guess is that this is related to the super block 
group bitmaps of ext4 that are held in memory to manipulate/zero their 
on-disc counterparts. A quick observation of resize2fs' source revealed 
that the latest git tree already has a bitmap interface that allows for 
different implementations of the bitmap manipulation algorithms. To 
solve the memory usage problem, two solutions seem to be feasible:

- For the huge bitmaps that already exist on the volume, we could create 
a disk-backed bitmap implementation that would only cache a small 
working set of the entire bitmap. My guess is that we can implement this 
efficiently enough to not loose too much performance.
- For the all-zero bitmaps, we could implement a dummy bitmap that 
forces all bits to zero and spawns a real bitmap as soon as any bits are 
set to one. An alternative would be a tree-based aproach that works 
especially well when the bitmap is just sparsely set.

I'd be glad if one of the developers involved in the ext4 development 
could tell me if these thoughts make sense and if yes, are there any 
plans to incorporate these approaches into the ext library anytime soon 
or does it make sense if I would have a deeper look into these issues 
and implement them? Thanks in advance for any thoughts about this.

Sincerely
U. Bauer


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-02-15 21:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-15  7:56 resize2fs memory footprint Ulrich Bauer
2010-02-15 12:26 ` Ric Wheeler
2010-02-15 21:50 ` tytso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).