[OpenAFS-devel] read performance 1.5.74 Linux

Jeffrey Altman jaltman@secure-endpoints.com
Thu, 13 May 2010 13:50:07 -0400


This is a cryptographically signed message in MIME format.

--------------ms060207090908040105030805
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 5/13/2010 1:34 PM, Steve Simmons wrote:
>=20
> On May 12, 2010, at 10:48 AM, Jeffrey Altman wrote:
>=20
>> On 5/11/2010 1:01 PM, Hartmut Reuter wrote:
>>>
>>> I have now ported AFS/RXOSD to 1.5.74.
>>> I am testing the client against servers running 1.4.12-osd.
>>>
>>> My client configuration is memcache with chunksize 18 (256K).
>>> Writing to the fileserver and also to the rxosd is as fast as with th=
e 1.4.12
>>> client (I am testing on my laptop with the whole test-cell in the lap=
top, so 30
>>> MB/s is already an acceptable value).
>>>
>>> But reading large files is terribly slow (~ 1 MB/s). With the 1.4.12 =
client read
>>> and write have about the same speed.
>>>
>>> with rxdebug -peer -long I can also see that some times in the rtt th=
e
>>> fileserver or rxosd see is growing up to several seconds and then aga=
in going
>>> down to a ms. So there seems to be something strange in the rx-layer.=

>>> It also shows a lot of resends (about 1 %).
>>>
>>> Any idea?
>>>
>>> Hartmut
>>
>> The first thing that comes to mind is that we found the rx library was=

>> dropping packets on the floor under high load.  This was fixed in the
>> 1.5.74 release but has not been fixed in the 1.4.12 release.
>=20
> Any feel for the net effect on throughput? Is the improvement significa=
nt enough to consider backporting to 1.4.13?

Its a serious bug.  It causes the Windows client stress test to have an
average SMB request RTT of 51 seconds instead of under 5 seconds due to
repeated RPC failures.  The problem is that the Rx when under load drops
packets on the floor by clearing the transmit queue before the packets
have been sent and acknowledged.  Since the queue is empty, the sender
things there is no more work to do and will never retry.  The receiver
can only timeout.  Regardless of which side of the connection the
packets are dropped the RPC issuer must perform a retry of the request.

These fixes do need to be back ported to 1.4.  It has not been done yet.
Before a 1.4.13 it will be done.

>> The 1.5.74 client should be able to put more load on the file server
>> as it does a much better job of efficiently reading from the page
>> cache.
>=20
> I don't understand the connection here. Hartmut seems to be saying that=
 a 1.4.12osd client reading from a 1.4.12osd server runs 30x faster than =
a 1.5.74osd client reading from a 1.4.12osd server. Improvements in 1.5.7=
4 client-side reading of the page cache shouldn't have any affect - presu=
mably one is only reading the file because it isn't in page or disk cache=
=2E 30-fold is a pretty big number, too.

The connection is this.  If the client is able to issue more RPCs to the
server in a shorter period of time, that puts stress on Rx and the
likelihood of packets being discarded increases.  As soon as packets
are discarded, the transfer rate hits the floor.

There are additional bottlenecks in Rx that have recently been removed
as well.  1.5.74 no longer contains a bottleneck that prevented calls
from ending while a request to allocate a new call was in flight.
Allocations of new calls can block on outstanding packet processing so
this reduced the ability of Rx to process calls in parallel.  That in
turn prevented multiple threads in the calling application to process
multiple calls in parallel effectively.

Another problem that has been fixed on master. The rx_rpc_stats mutex
is supposed to be a fined grained lock.  Unfortunately, the way it was
used the mutex would halt all rx processing whenever a ReapConnections
operation was performed.

At some point of course, backporting the changes gets silly.  We need to
cut the 1.6 branch and begin to get off the 1.4 series.  Its been nearly
five years since 1.4.0 was released.

Jeffrey Altman


--------------ms060207090908040105030805
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJeTCC
AxcwggKAoAMCAQICEAMF9RTCGOz151fTpHLih+cwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT
I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA5MDgyODA0MDExOVoX
DTEwMDgyODA0MDExOVowczEPMA0GA1UEBBMGQWx0bWFuMRUwEwYDVQQqEwxKZWZmcmV5IEVy
aWMxHDAaBgNVBAMTE0plZmZyZXkgRXJpYyBBbHRtYW4xKzApBgkqhkiG9w0BCQEWHGphbHRt
YW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQDZNscYIvF6xzGSAfa/QUIqiElyn0EUxL2b86eKiYqe91bj0gLr/MJoErLnb+OmokxqSAH6
y0zlFqSbiFwgNM8m69K6m/6YO+x3+5zBc+u6snwTWMEWygnhx3rQ/lMhoQOgArraL+/k9aWL
kNdaXQKk6EZVW9pfV2A4Lk4DoZGFjY8tJRWWDLlFkYnxDuIEpLYwJpwakv3QHOaq/G8KW0iE
jVhVzPobuZzwD2tuepY/bsClwqxz/gfAEpUvAn/lYTqnoT7RYljZlCIdbrgcG/HSYMxAy1Zp
Yh8Fx+9cqsG8O4nqo26SVfYZvrYhh8m6OqW8Vakdt7vBLCTa/QhIdJ4hAgMBAAGjOTA3MCcG
A1UdEQQgMB6BHGphbHRtYW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wDAYDVR0TAQH/BAIwADAN
BgkqhkiG9w0BAQUFAAOBgQBvbvJNXUJ4atv1CExIe0J38jZqoEUTttkXOfCDT9e3mSmVboOK
ifHDyLZQC4qSsCUfP7vdwAXjKtjak22HbfX2sEKCUgtnOkxRqXMM2V/NW/ESNVQZF0TO7L/Z
cW3icObO9FIZCSmgFMt2Al7VPfMQmaJNlqu9SLmXSwbRFJ5b4zCCAxcwggKAoAMCAQICEAMF
9RTCGOz151fTpHLih+cwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoT
HFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h
bCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA5MDgyODA0MDExOVoXDTEwMDgyODA0MDExOVow
czEPMA0GA1UEBBMGQWx0bWFuMRUwEwYDVQQqEwxKZWZmcmV5IEVyaWMxHDAaBgNVBAMTE0pl
ZmZyZXkgRXJpYyBBbHRtYW4xKzApBgkqhkiG9w0BCQEWHGphbHRtYW5Ac2VjdXJlLWVuZHBv
aW50cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZNscYIvF6xzGSAfa/
QUIqiElyn0EUxL2b86eKiYqe91bj0gLr/MJoErLnb+OmokxqSAH6y0zlFqSbiFwgNM8m69K6
m/6YO+x3+5zBc+u6snwTWMEWygnhx3rQ/lMhoQOgArraL+/k9aWLkNdaXQKk6EZVW9pfV2A4
Lk4DoZGFjY8tJRWWDLlFkYnxDuIEpLYwJpwakv3QHOaq/G8KW0iEjVhVzPobuZzwD2tuepY/
bsClwqxz/gfAEpUvAn/lYTqnoT7RYljZlCIdbrgcG/HSYMxAy1ZpYh8Fx+9cqsG8O4nqo26S
VfYZvrYhh8m6OqW8Vakdt7vBLCTa/QhIdJ4hAgMBAAGjOTA3MCcGA1UdEQQgMB6BHGphbHRt
YW5Ac2VjdXJlLWVuZHBvaW50cy5jb20wDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQUFAAOB
gQBvbvJNXUJ4atv1CExIe0J38jZqoEUTttkXOfCDT9e3mSmVboOKifHDyLZQC4qSsCUfP7vd
wAXjKtjak22HbfX2sEKCUgtnOkxRqXMM2V/NW/ESNVQZF0TO7L/ZcW3icObO9FIZCSmgFMt2
Al7VPfMQmaJNlqu9SLmXSwbRFJ5b4zCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAw
gdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUg
VG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp
b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFp
bCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0w
MzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxU
aGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwg
RnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV
+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfAr
hVqqP3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/
p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8
MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWls
Q0EuY3JsMAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxh
YmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/
TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amc
OY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggNxMIID
bQIBATB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5
KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQ
AwX1FMIY7PXnV9OkcuKH5zAJBgUrDgMCGgUAoIIB0DAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN
AQcBMBwGCSqGSIb3DQEJBTEPFw0xMDA1MTMxNzUwMDdaMCMGCSqGSIb3DQEJBDEWBBQK4vRn
dVAoY51CyNn3EVq+uYAPxjBfBgkqhkiG9w0BCQ8xUjBQMAsGCWCGSAFlAwQBAjAKBggqhkiG
9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcN
AwICASgwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0
ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVl
bWFpbCBJc3N1aW5nIENBAhADBfUUwhjs9edX06Ry4ofnMIGHBgsqhkiG9w0BCRACCzF4oHYw
YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4x
LDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhADBfUUwhjs
9edX06Ry4ofnMA0GCSqGSIb3DQEBAQUABIIBACccpLj/DACrGWZ+kWHFExucaeofwu1cJXNa
y7NiyqHTVXATm/W3HFTv77FLr8kjfMVT2CMKNK54QwBAx3iYdVrmKA3zPgtxGKxz8XN9lQXP
TAuoiiL0t+qhaKwhMMZ32D3jY+nAZ8GbtztKGzvr/xSPNKkNWcrrRz1COsGz6PFw38GlnX5s
wxSmUfVs/fK8JrPr1LTUASLISPu0L8Fe7zEwyQ4fV1jSHdPp5LInjrEDWJGNqXnGQNtSlVlh
ND+4aNiy0CmeqXln/C3yoPAKNjhSncIB+lJwiMDFB5ocbRPJ4y7zzqV0gYmAw8oW9P35xF23
fImKrOuuWfc2X/Iwf3EAAAAAAAA=
--------------ms060207090908040105030805--