RDS/eth round trip latency

I’ve been working on an interesting project at work for a while now. It’s an implementation of a socket API that provides reliable message delivery over ethernet. I’m being brief here because we’re still going through the process of getting approval to share the code. The intent, of course, is to see it properly maintained in the kernel.

I’m excited because I’ve been testing it on some machines at work and have some encouraging results. The test is a little application that measure the time it takes to to get a response to a message that is sent to a machine who immediately just sends it right back. The machines are dual opterons with e1000 gigabit cards. The following table reports the fastest round trip time seen over a period of a few seconds.

(I apologize in advance for the awful style of this table, maybe I’ll try my hand at some CSS)

message size
(bytes)
round trip (ųsecs)
TCP UDP RDS/eth
4 86 63 67
8 88 63 68
16 92 63 70
32 98 66 73
64 110 74 79
128 135 88 92
256 185 115 121
512 285 173 180
1024 485 287 295

This is exciting for at least two reasons.

First, the latency is lower than TCP. This shows that users who want reliable messages but are sensitive to latency might well be interested in this. Some significant pieces of Oracle are certainly interested in low latency reliable messages, hence my involvement.

Secondly, it’s awfully close to the latency of UDP. There’s still enough room for improvement in the RDS/eth sending path to gain back that difference, I think. We could well get reliable messages with better latencies than UDP, which would make me smile.

Comments (1) to “RDS/eth round trip latency”

  1. Reliable message delivery — telecom geeks feel your pain. Ain’t it fun? More fun with magnitudes less bandwidth back when we lived in caves or at least coded there.

    I’m having fun watching this “problem/solution” convergence communications and webbiness. In general that is. Not necessarily your personal pain.

Post a Comment
*Required
*Required (Never published)