[Lustre-discuss] Lustre read performance decay when OSSes are assigned in two different subnet

zhengfeng zf5984599 at gmail.com
Thu Mar 15 06:38:19 PDT 2012

Thanks a lot , Charles.

I agree with you about this problem.

And I did more tests with the following steps:
0) Use 3 subnets to assign the 3 nodes.
1)Run "netperf" in the two OSS separately, run "netserver"  in "client";this step could simulate the 
networking scenario: "client" reads data from two OSS, but here is no disk i/o or other r/w;
2) two OSS netperf's results are about 200 M/s, totally are 400M/s. so low - -!
3) run only netperf at one OSS, the test result is 950M/s.. this res is ok. 
4) All the upper steps prove that, the networking is the bottleneck of the read performance.

When 2 NODEs send TCP stream at the same time, and only 1 NODE recv TCP stream. The total throughput is half of normal value. so oddball..
What induced that?  Thanks a lot

Best regards

From: Hammitt, Charles Allen
Date: 2012-03-15 20:50
To: zf5984599; lustre-discuss at lists.lustre.org
Subject: RE: [Lustre-discuss] Lustre read performance decay when OSSes are assigned in two different subnet
Networking overhead… vlan routing perhaps;  1) with either adding an extra network device hop and latency from a network device/router or 2) overburdened switch handling the routing itself still introducing network latency.    Latency is the storage and network i/o bandwidth killer.
I’m willing to bet two things:  
1) changing your stripe size from 2 to 1 will make similar bandwidth results to the diagram 2 [54.3MB/s], even if the layout is as diagram 1 [separate nets].
2) If all your OSS/MDS and Clients nodes were in the same single vlan network…you’d see better performance than diagram’s 2 54.3MB/sec bandwidth throughput.
So, drop classful subnets…go with cidr / supernetting networks to get the ip spaces you need and drop the extra routing latency.
Charles Hammitt
Storage Systems Specialist
ITS Research Computing @ 
The University of North Carolina-CH

From: lustre-discuss-bounces at lists.lustre.org [mailto:lustre-discuss-bounces at lists.lustre.org] On Behalf Of zhengfeng
Sent: Thursday, March 15, 2012 12:11 AM
To: lustre-discuss at lists.lustre.org
Subject: [Lustre-discuss] Lustre read performance decay when OSSes are assigned in two different subnet
Dear all,
We met one problem about Lustre read performance decay when OSSes are assigned in two different subnet.
Describing that in the following diagram:
diagram 1, OSS in different subnets:
Client (subnet
|          | 
|          |
|          |
   OSS1       OSS2
(   (
For diagram 1, we made the CLient OSS1 and OSS2 in 3 different subnets. the switch used is able forward all packages. 
Use dd cmd to test r/w performance, write/rad data to/from to OSS1 and OSS2 at the same time:
test result:
[root at client client]# time dd if=test2 of=/dev/null bs=1M count=2000
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB) copied, 53.5922 seconds, 39.1 MB/s
real 0m53.796s
user 0m0.005s
sys 0m2.914s
diagram 2, OSS in same subnet:
Client (subnet
|          | 
|          |
|          |
   OSS1       OSS2
(,, at same subnet)
for diagram 2, we assigned OSS1 and OSS2 at the same subnet, then test:
test result:
[root at client219 client]# time dd of=/dev/null if=test1 bs=1M 
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB) copied, 193.07 seconds, 54.3 MB/s
In different subnets, the OSS read performance is 39.1 MB/s, while OSS in
same subnet, the read performance is 54.3 MB/s. the performance decays so much.
Why using different subnets in lustre, the performance decayed?
Anyone had met such problems? Many thanks for your answers and advice.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20120315/f1a3a783/attachment.htm>

More information about the lustre-discuss mailing list