Hello,

A while ago I asked the list for advice on how to tune AFM to speed-up the 
prefetch of small files (~1MB). In the meantime, we got some results which I 
want to share.

We had to increase the maximum socket buffer sizes to very high values of 
40-80MB. Consider that we use IP over Infiniband and the 
bandwidth-delay-product is about 5MB (1-10us latency). 

How do we explain this? The reads on the nfs server have a latency of about 
20ms. This is physics of disks. Hence a single client can get up to 50 
requests/s. Each request is 1MB. To get 1GB/s we need 20 clients in parallel. 
At all times we have about 20 requests pending. Looks like the server does 
allocate the socket buffer space before it asks for the data. Hence it 
allocates/blocks about 20MB at all times. Surprisingly it’s storage latency and 
not network latency that required us to increase the max. socket buffer size. 

For large files prefetch works and reduces the latency of reads drastically and 
no special tuning is required.

We did test with kernel-nfs and gpfs  4.2.3 on  RHEL7. Whether ganesha shows a 
similar pattern would be interesting to know. Once we fixed the nfs issues afm 
did show a nice parallel prefetch up to ~1GB/s with 1MB sized files without any 
tuning. Still much below the 4GB/s measured with iperf between the two nodes ….

Kind regards,

Heiner

--
Paul Scherrer Institut
Science IT
Heiner Billich
WHGA 106
CH 5232  Villigen PSI
056 310 36 02
https://www.psi.ch
 


_______________________________________________
gpfsug-discuss mailing list
gpfsug-discuss at spectrumscale.org
http://gpfsug.org/mailman/listinfo/gpfsug-discuss

Reply via email to