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


Reply via email to