[Lustre-discuss] OSS Service Thread Count

Wojciech Turek wjt27 at cam.ac.uk
Sun Jan 25 15:56:27 PST 2009


Hi,

My lustre system specs:
Lustre-1.6.6
RHEL4
2 lustre file systems:  one consists  of 4 OSTs and other consists  of 
20 OSTs
4 x OSS/6OSTs
Storage: S2A9500
Clients: 600
Interconnect: Ethernet

I noticed that  my OSSs sometimes report very high load (around 500). I 
read that increasing number of ost_num_threads may help in such situation.
I am trying to calculate the optimal number of OST threads for my OSSs. 
Each OSS has 16GB of RAM and 2 dual core CPUs.
In the Lustre manual I read:
"An OSS can have a maximum of 512 service threads and a minimum of 2 
service threads. The number of service threads is a function of how much 
RAM and how many CPUs are on each OSS node (1 thread / 128MB * num_cpus)."

So if I understand above statement correctly the equation to calculate 
number of OST threads will look like this:

ost_num_threads = (RAM_size*Number_of_cores)/128MB

For my particular case it gives 512 ost_num_threads which is the Lustre 
max number for this particular parameter. Manual says that each thread 
uses actually 1.5MB of RAM, so 768MB of RAM will be consumed on each of 
my OSSs for I/O threads.

So I guess with 16GB of RAM the initial (default) value of the 
ost_num_threads is already being set to 512, is that correct?

I know that adding more OSSs and OSTs might help but at the moment this 
isn't an option for me.

Is there any other way I could lower down high load on the OSSs? Can 
tuning client side help?

Best regards,

Wojciech



More information about the lustre-discuss mailing list