In the case such a functionality become necessary, I would suggest we use a mechanism similar to the attributes in MPI (but without the multi-language mess). That will allow whoever want to attach data to a hwloc node, to do it without the mess of dealing with reserving a slot. It might require a little bit more memory, but so far the number of nodes in the HWLOC data is limited.
george. On Oct 3, 2012, at 16:13 , Jeff Squyres <jsquy...@cisco.com> wrote: > WHAT: allowing multiple entities in the OMPI code base to hang data off > hwloc_obj->userdata > > WHY: anticipating that more parts of the OMPI code base will be using the > hwloc data > > WHERE: hwloc base > > WHEN: no real hurry; Ralph and I just identified the potential for this issue > this morning. We're not aware of it being an actual problem (yet). > > MORE DETAIL: > > The rmaps base (in mpirun) is currently hanging its own data off various > objects in the hwloc topology tree. However, it should be noted that the > hwloc topology tree is a global data structure in each MPI processes; > multiple upper-level entities in the ORTE and OMPI layers may want to hang > their own userdata off hwloc objects. > > Ralph and I figured that some functionality could be added to the hwloc base > to hang a opal_pointer_array off each hwloc object; each array value will be > a (void*). Then upper-level entities can reserve a slot in all the pointer > arrays and store whatever they want in their (void*) slot. > > For example, if the openib BTL wants to use the hwloc data and hang its own > userdata off hwloc objects, it can call the hwloc base and reserve a slot. > The hwloc base will say "Ok, you can have slot 7". Then the openib BTL can > always use slot 7 in the opal_pointer_array off any hwloc object. > > Does this sound reasonable? > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel