[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