[openib-general] [PATCH] [CM] add private data comparison tomatch REQs with listens
Caitlin Bestler
caitlinb at broadcom.com
Fri Dec 2 16:06:28 PST 2005
ftillier.sst at gmail.com wrote:
> On 12/2/05, Caitlin Bestler <caitlinb at broadcom.com> wrote:
>> Fab Tillier wrote:
>>
>>> To sum up, it is simpler to add the private data compare
>>> functionality to the IB CM than to add it to every client that wants
>>> it. The changes required don't complicate the API significantly,
>>> certainly within the grasp of someone interfacing to verbs. I know
>>> this from experience because I've done it before.
>>>
>>>> Or conversely, if you truly think this is of general utility, why
>>>> not implement it in INETD as well?
>>>
>>> I wasn't making the case that it has general utility, just that it
>>> has utility within the realm of IB connection management.
> Someone
>>> else is welcome to expand the scope if they see fit, but that's not
>>> what I'm advocating.
>>>
>>
>> But if your justification is MPI Ranks then you have already exceed
>> the scope "IB connection management".
>
> Why shouldn't an MPI implementation that interfaces directly
> to IB verbs use the IB CM functionality? Why should it
> restrict itself to TCP connection semantics when IB can
> provide it with something richer?
>
>> There is an *existing* solution on how the remote end establishes
>> multiple connections to the same service but with different
>> instances.
>>
>> That solution has been around for a very long time, literally
>> decades. Needing to restructure your code slightly to preserve an
>> existing interface that has been around that long does not seem
>> inapropriate.
>
> The IB CM is not an existing interface. I'M TALKING ABOUT
> I-N-F-I-N-I-B-A-N-D. INFINIBAND. Not IP, not TCP, not
> sockets, not iWarp. Show me the IB CM API that has existed for
> decades.
>
>> Are you claiming that there is something in the definition of the
>> protocol that *requires* IB to handle this differently than other
>> networks do?
>
> IB listen semantics are different from socket listen semantics.
> Again, IB is not Ethernet, not iWarp, not IP, not TCP. This
> is an important point that I feel you keep missing.
>
> - Fab
Socket listen semantics have nothing to do with Ethernet.
They are Unix/POSIX. In fact a major point of socket semantics
is that they worked over multiple networks.
Sockets are part of the problem when it comes to transferring
data once a connection is established, which is why we have
QPs and CQs.
But there is a very simple transport neutral definition of
passive side connectin setup. The server issues a listen.
The server receives connection requests. The service can
optionally hand off the connection request, accept it
or reject it.
That model is a natural extension of both TCP connection
setup and the InfiniBand CM. It allows the server to deal
with destination multiplexing. DAPL and IT-API both already
work this way.
Are you opposed to transport neutral connection establishment?
More information about the general
mailing list