[openib-general] [ANNOUNCE] Contribute RDS (Reliable DatagramSockets) to OpenIB
Grant Grundler
iod00d at hp.com
Fri Nov 4 10:19:52 PST 2005
On Thu, Nov 03, 2005 at 08:06:21PM -0500, Rick Frank wrote:
> I've atttached a draft proposal for RDS from Oracle which discusses some of
> the motivation for RDS.
Thanks!
Some questions/comments...
o What is "GE" acronym for?
o I'm seeing about 1/5th CPU load for SDP (vs IPoIB).
The "50% less" number doesn't seem that impressive for RDP (vs IPoIB).
Maybe this is a difference in the benchmark (I'm running netperf).
o RDP wants to provide AF_INET_OFFLOAD. This doesn't exist in my source tree.
I don't know who assigns these but it isn't lanana.org.
Oracle would be wise to stick with what's in include/linux/sockets.h
in order to avoid long term maintenance issues.
ISTR OpenIB got flamed for wanting to use AF_INET_OFFLOAD name.
If RDP is accepted, I would expect RDP to get AF_INET_RDP.
And then use "LD_PRELOAD" and clone libsdp.so to take over AF_INET.
ie follow a similar trajectory that SDP had.
o Is access control to the RDP protocol something that applies to
all protocols?
I'm looking item #2 of "Additional Features".
o Doesn't SDP meet the following requirement as well?
| A goal of RDP should be to support all existing socket
| functionality relevant to UDP with no changes to any
| existing socket application - other than specifying
| AF_INET_OFFLOAD. However, an RDP aware socket application
| can take advantage of the RDP features.
o I'm struggling with the "RDP is connectionless" comments made earlier.
Later in this proposal, "RDP Interface" says packets will be
delivered "in order". Doesn't that conflict with "connectionless"?
Does UDP guarantee order?
o The "crossover" value for zero copy vs inlining data is chipset specific.
Ie even within the same architecture, different combinations of CPUs
and chipsets will give wide variance. Things like cache size, cache
replacement algorithm, available memory bandwidth, memory latency,
et al, affect the choice. This value is normally define by/for each
architecture since that's practical and lets each arch decide
what the right tradeoff is.
o The comments in "Recv operations" talk about "backpressure".
Is this another way of saying the driver should drop packets once
the "fairness threshold" is exceeded?
o Does detecting the "death of a remote node" still fall
within the "connectionless" definition?
o I didn't look through the "config" and "statistics".
o "RDP Information" section reminds me of the previous email thread
about "netstat" support. Those probably want to be aligned so
Oracle can leverage the same command as other users.
ie reduce long term maintenance.
And while researching the above, I found some nits with SDP:
o I was expecting AF_INET_SDP to be in 2.6.14 and it's not.
I hope it's part of 2.6.15-rc*.
o The ulp/sdp/Kconfig comments say "AF_INET_SDP (address family 26)".
AF_LLC uses 26 and sdp_sock.h defines 27.
Michael - need a patch or is this trivial enough to fix by hand?
thanks,
grant
More information about the general
mailing list