[Lustre-discuss] lustre and small files overhead

Andreas Dilger adilger at sun.com
Mon Mar 3 11:16:30 PST 2008


Joe Barjo <mailto:jobarjo78 at yahoo.fr> wrote:
> Turning off debuging made it much better.
> It went from 1m54 down to 25 seconds, but still 85% of system processing...
> I really think you should turn off debuging by default, or make it appear
> as a BIG warning message.
>
> People who are trying lustre for the first time are not going to debug lustre.
> Also, looking in the documentation, though the debugging was documented, it
> was not clear that removing it would improve performance so much.
> 
> I will now make more tests and see how the coherency is...
> Thanks for your support.

What version of Lustre are you using?  We have turned down the default
debugging level in more recent versions of Lustre.

> Andreas Dilger a écrit : 
> 	On Feb 29, 2008  15:37 +0100, Joe Barjo wrote:
> 	  
> 
> 		We have a (small) 30 node sge based cluster with centos4 which will be
> 		growing to maximum 50 core duos.
> 		We use custom software that is based on gmake to launch parallel
> 		compilation and computations with lot of small files and some large files.
> 		We actualy use nfs and have a lot of problems with incoherencies between
> 		nodes.
> 		
> 		I'm currently evaluating lustre and have some questions about lustre
> 		overhead with small files.
> 		I succesfully installed the rpms on a test machine and launched the
> 		local lmount.sh script.
> 		    
> 
> 	
> 	Note that if you are using the unmodified llmount.sh script this is running
> 	on loopback files in /tmp, so the performance is likely quite bad.  For
> 	a realistic performance measure, put the MDT and OST on separate disks.
> 	
> 	  
> 
> 		The first thing I tried is to make a svn checkout into it. (lot of small
> 		files...)
> 		It takes 1m54 from our local svn server versus 15s into a local ext3
> 		filesystem and 50s over nfs network.
> 		During the checkout, the processor (amd64 3200) is busy with 90% system.
> 		
> 		How come is there so much system process?
> 		    
> 
> 	
> 	Have you turned off debugging (sysctl -w lnet.debug=0)?
> 	Have you increased the DLM lock LRU sizes?
> 	
> 	for L in /proc/fs/lustre/ldlm/namespaces/*/lru_size; do
> 	    echo 10000 > $L
> 	done
> 	
> 	In 1.6.5/1.8.0 it will be possible to use a new command to set
> 	this kind of parameter easier:
> 	
> 	lctl set_param ldlm.namespaces.*.lru_size=10000
> 	
> 	  
> 
> 		Is there something to tweak to lower this overhead?
> 		Is there a specific tweak for small files?
> 		    
> 
> 	
> 	Not really, this isn't Lustre's strongest point.
> 	
> 	  
> 
> 		Using multiple server nodes, will the performance be better?
> 		    
> 
> 	
> 	Partly.  There can only be a single MDT per filesystem, but it can
> 	scale quite well with multiple clients.  There can be many OSTs,
> 	but it isn't clear whether you are IO bound.  It probably wouldn't
> 	hurt to have a few to give you a high IOPS rate.
> 	
> 	Note that increasing OST count also by default allows clients to
> 	cache more dirty data (32MB/OST).  You can change this manually,
> 	it is by default tuned for very large clusters (000's of nodes).
> 	
> 	for C in /proc/fs/lustre/osc/*/max_dirty_mb
> 		echo 256 > $C
> 	done
> 	
> 	Similarly, in 1.6.5/1.8.0 it will be possible to do:
> 	
> 	lctl set_param osc.*.max_dirty_mb=256
> 	
> 	Cheers, Andreas
> 	--
> 	Andreas Dilger
> 	Sr. Staff Engineer, Lustre Group
> 	Sun Microsystems of Canada, Inc.
> 	
> 	
> 	  
> 
> 

> _______________________________________________
> Lustre-discuss mailing list
> Lustre-discuss at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-discuss


Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.




More information about the lustre-discuss mailing list