[Lustre-discuss] Lustre and system cpu usage

Andreas Dilger adilger at whamcloud.com
Tue Mar 15 14:50:26 PDT 2011


On 2011-01-15, at 4:18 AM, Claudio Baeza Retamal wrote:
> El 14-03-2011 22:05, Andreas Dilger escribió:
>> On 2011-01-14, at 3:57 PM, Claudio Baeza Retamal wrote:
>>> last month, I have configured lustre 1.8.5 over infiniband, before, I
>>> was using  Gluster 3.1.2, performance was ok but reliability was wrong,
>>> when 40 or more applications requested at the same time  for open a
>>> file, gluster servers  bounced randomly the active connections from
>>> clients. Lustre has not this problem, but I can see others issues, for
>>> example, namd appears with "system cpu"  around of 30%,  hpl benchmark
>>> appears between  70%-80% of "system cpu", is too much high, with
>>> gluster, the system cpu was never exceeded 5%. I think, this is
>>> explained due gluster uses fuse and run in user space, but I am do not
>>> sure.
>>> I have some doubt:
>>> 
>>> ¿why Lustre uses ipoib? Before, with gluster  I do not use ipoib, I am
>>> thinking  that ipoib module produces bad performance in infiniband and
>>> disturbs the infiniband native module.
>> 
>> If you are using IPoIB for data then your LNET is configured incorrectly.  IPoIB is only needed for IB hostname resolution, and all LNET traffic can use native IB with very low CPU overhead.  Your /etc/modprobe.conf and mount lines should be using {addr}@o2ib0 instead of {addr} or {addr}@tcp0.
> 
> For first two weeks, I was using "options lnet networks="o2ib(ib0)", now, I am using "options lnet networks="o2ib(ib0),tcp0(eth0)" because I have a node without HCA card, in both case, the system cpu usage is the same, the compute node without infiniband is used to run matlab only.
> 
> In the hpl benchmark case, my doubt is, why has a high system cpu usage?   Is posible that LustreFS disturbs  mlx4 infiniband driver and causes problems with  MPI?  hpl benchmark mainly does I/O for transport data over MPI, with glusterFS system cpu was around 5%, instead, since  Lustre  was configured system cpu is 70%-80% and we use  o2ib(ib0) for LNET in modprobe.conf.

Have you tried disabling the Lustre kernel debug logs (lctl set_param debug=0) and/or disabling the network data checksums (lctl set_param osc.*.checksums=0)?

Note that there is also CPU overhead in the kernel from copying data from userspace to the kernel that is unavoidable for any filesystem, unless O_DIRECT is used (which causes synchronous IO and has IO alignment restrictions).

> I have tried several options, following instruction from mellanox, in compute nodes I disable irqbalance and run smp_affinity script, but system cpu still so higher.
> Are there any tools to study lustre performance?
> 
>>> It is posible to configure lustre to  transport metada over ethernet and
>>> data over infiniband?
>> Yes, this should be possible, but putting the metadata on IB is much lower latency and higher performance so you should really try to use IB for both.
>> 
>>> For namd and hpl benchmark, is  it normal to have system cpu to be so high?
>>> 
>>> My configuration is the following:
>>> 
>>> - Qlogic 12800-180 switch, 7 leaf (24 ports per  leaf) and 2 spines (All
>>> ports have QDR, 40 Gbps)
>>> - 66 HCA mellanox connectX, two ports, QDR 40 Gbps (compute nodes)
>>> - 1 metadata server, 96 GB RAM DDR3 optimized for performance, two Xeon
>>> 5570, SAS 15K RPM  hard disk in Raid 1, HCA mellanox connectX with two ports
>>> - 4 OSS with 1 OST of 2 TB in RAID 5 each one (8 TB in total). The all
>>> OSS have a Mellanox ConnectX with two ports
>> If you have IB on the MDS then you should definitely use {addr}@o2ib0 for both OSS and MDS nodes.  That will give you much better metadata performance.
>> 
>> Cheers, Andreas
>> --
>> Andreas Dilger
>> Principal Engineer
>> Whamcloud, Inc.
>> 
>> 
>> 
>> 
>> 
> 
> regards
> 
> claudio
> 
> 


Cheers, Andreas
--
Andreas Dilger 
Principal Engineer
Whamcloud, Inc.






More information about the lustre-discuss mailing list