[openib-general] Re:[ULP] how to choose appropriate ULPs for application

James Lentini jlentini at netapp.com
Wed Jul 13 06:39:09 PDT 2005



On Tue, 12 Jul 2005, xg wang wrote:

>     Frankly speaking, I can not distinguish the function of SDP and DAPL. 
> Since Lustre is a file system, it runs on kernel. So I think maybe kDAPL is 
> better.

SDP stands for the Sockets Direct Protocol. The protocol is 
designed to support the Berkley Sockets API. This allows code already 
using the Sockets API to easily use InfiniBand by simply changing the 
socket type.

kDAPL is the kernel Direct Access Provider Library. It is an API 
that supports RDMA networks (InfiniBand, iWARP, etc.).

>     But for ULP application, what is the advantage and disadvantage of SDP 
> and DAP ?  While you implementation an application, will you use SDP or DAPL, 
> and why?  I just wonder the difference between them from the application 
> view.

First off, SDP is a protocol and kDAPL is an API. Since SDP is a 
protocol, you will only be able to communicate with other nodes that 
implement SDP.

Another thing to consider is the differences in the APIs. SDP 
accessed with traditional Sockets API. This makes porting applications 
to it easy, but doesn't give you much fine grained control over how 
the RDMA network is used. kDAPL was designed specifically for RDMA 
networks with lots of features that allow you to control how the 
network is used. This is good if you are writing new code, but means 
that old code needs substantial porting.



More information about the general mailing list