On Apr 30, 2009, at 6:22 PM, Jason Gunthorpe wrote:

After reading all the postings, I think my idea to fix the verbs API
to not, essentially, corrupt an existing registration when the virtual
address space changes is the best bet. This slightly changes the
semantics of the verbs MR to refer to virtual address space within the
process, not the underlying object(s) that happen to be mapped there
when the registration is made.


I'm not sure how this helps MPI -- our registration caches will still become invalid if the MPI app free()'s registered memory...?

MPI maintains a registration cache because registration is so expensive. Even if the registration cache becomes "safely" invalid (e.g., you'll never get a scenario where one virtual address could have previously pointed to a different hardware address within the span of one process), it doesn't help.

MPIs can choose to continue to hook malloc/free/etc or not, it doesn't


No no no! We don't want to continue hooking this stuff. The hooks are horrible, horrible, horrible -- there's real-world apps that break them.

> While MPI is currently the biggest victim, this broken memory management > model is also an enormous roadblock for any other application or ULP to
> write to verbs.

I'm not sure this is true.. The purpose built verbs apps I've worked
on don't have a problem like MPI, and managing the memory registration
was not hard.


Ok, I'll back off slightly: if you want verbs to go mainstream, there will be many other ULPs / middleware libraries that have memory models like MPI's (that the upper layer is responsible for allocating/freeing message buffers). Put differently: the TCP/sockets stack doesn't have this restriction; it will be extremely difficult to convert legions of sockets programmers to verbs if you effectively restrict large messages to only be allocated/freed by the network layer (kinda defeats the point of RDMA if you have to copy large messages, right?).

--
Jeff Squyres
Cisco Systems

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to