[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