Re: Rgerading RDMA/SDP and traditional socket apps
Caitlin Bestler <[email protected]>
| Newsgroups | gmane.ietf.rddp |
|---|---|
| Message-ID | <[email protected]> |
On Oct 1, 2004, at 7:58 AM, Mohan Parthasarathy wrote: > Hi, > > I am new to RDMA and would appreciate if my questions are viewed > with tolerance. > I believe existing socket apps doing a send and reusing the buffer > will > not work with RDMA since the send might not have completed. > Isn't it possible to copy the user buffer to another in the SDP > library, > to let the user app reuse the buffer ? I guess it might lead to > increase > in memory usage, but it will be only for legacy apps not using the > RDMA capabilities, and will probbaly be no different from today's > situation where often the user buffer gets copied to a kernel buffer. > Also, are there any new socket APIs in SDP or variations in the > current > socket calls to distinguish if the caller can handle running over > RDMA ? > Another way to phrase that is if SDP will be aware of legacy apps > versus new ones. > > Regards, > Mohan > > The purpose of SDP is to identify when zero-copy transfers can be done, directly using either the ULP source or destination buffer directly, without requiring a fundamental change in the how the application uses the network. Without SDP a stack can only identify zero-copy opportunities locally, without collaborating with the peer's stack. However, an optimized local stack can identify many zero-copy opportunities, and when it does it is without the overhead and latency of additional wire traffic. The tradeoff between local-stack-only optimization and SDP-enabled optimization is complex and dependent on the application and deployment environment. Obviously an RDMA aware application that explicitly posts receive operations and explicitly exports STags to advertise buffers is going to avoid intermediate copying *all* of the time, something that SDP can only hope to approach. Both an optimized local stack, such as a TOE, and SDP are valuable tools to achieve partial zero-copy without requiring program redesign. Achieving the full potential of RDMA requires designing the Upper Layer Protocol and its implementation on both peers to be RDMA aware. The SDP specification is an excellent source on when and how SDP identifies zero-copy opportunities. The Applicability Statement discusses the impact of RDMA on application design.