[ofa-general] Re: New proposal for memory management
Jeff Squyres
jsquyres at cisco.com
Fri May 1 04:56:48 PDT 2009
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
More information about the general
mailing list