public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* Storing inodes in a separate block device?
@ 2008-05-22 14:53 Nathan Roberts
  2008-05-22 15:21 ` Eric Sandeen
  2008-05-22 16:03 ` Andreas Dilger
  0 siblings, 2 replies; 4+ messages in thread
From: Nathan Roberts @ 2008-05-22 14:53 UTC (permalink / raw)
  To: linux-ext4


Has a feature ever been considered (or already exist) for storing inodes 
in a block device separate from the data? Is it even a "reasonable" 
thing to do or are there major pitfalls that one would run into?

The rationale behind this question comes from use cases where a file 
system is storing very large numbers of files. Reading files in these 
file systems will essentially incur at least two seeks: one for the 
inode, one for the data blocks. If the seek to the inode were more 
efficient, dramatic performance gains could be achieved for such use cases.

Fast seeking devices (such as flash based devices) are becoming much 
more mainstream these days and would seem like a reasonable device for 
the inodes. The $/GB is not as good as disks but it's much better than 
DRAM. For many use cases, the number of these "fast access" inodes that 
would need to be cached in RAM is near 0. So, RAM savings are also a 
potential benefit.

I've ran some basic tests using ext4 on a SATA array plus a USB thumb 
drive for the inodes. Even with the slowness of a thumb drive, I was 
able to see encouraging results ( >50% read throughput improvement for a 
mixture of 4K-8K files).

I'm interested in hearing thoughts/potential pitfalls/etc.

Nathan





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

end of thread, other threads:[~2008-05-22 16:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-22 14:53 Storing inodes in a separate block device? Nathan Roberts
2008-05-22 15:21 ` Eric Sandeen
2008-05-22 16:58   ` Nathan Roberts
2008-05-22 16:03 ` Andreas Dilger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox