itaps-parallel Comments on parallel stuff so far.
Tim Tautges
tautges at mcs.anl.gov
Tue Oct 30 17:49:49 CDT 2007
Some questions of Carl's and my comments on his that I missed in my last
message:
> On the question of how to add entities to parts, I think we need to
> examine the use cases for adding entities to parts. I can think of
> several scenarios:
>
> 1. A new entity has been created by a modify operation and needs to
> be associated with a part.
> 2. An entity is being migrated from one part to another (small
> one-to-one migration due to change of ownership; data is almost
> certainly moving from one part to another).
> 3. A copy is being created (depending on the implementation, some
> data may have to copied from one part to another).
> 4. A new partition has been created and parts must be populated
> (massive all-to-all migration; vast amounts of data flying everywhere).
>
> That list probably isn't exhaustive, but it'll do for now. Of those
I think you missed the most common use case: assign entity to part, e.g.
as called from a partitioning tool. Note this is different from
migrate. As I have mentioned before, I think we shouldn't always assume
part assignment and migration go together (though they're not always
separate either, e.g. 2 above).
> Tim's stuff:
>
> getEntByTypeAndTagPar, getEntSetByTagPar: We don't have this
> functionality in serial. Maybe we should, but we currently don't.
>
Yes, this is not in the serial interface. I feel like it should be, but
I'm loath to suggest extensions right about now. It'll definitely be
part of any good data sorting and searching interface/tool.
> getTag*Operate: Again, we haven't got this in serial.
Correct. I feel like this would be valuable to have in parallel (and
have at least one example of another code using it to great affect).
Does the
> existence of such operations imply that we expect to implement fields as
> tags? (Because that wasn't what I was assuming about field
> implementations at all, personally...) Note that I'm not opposed to
> this sort of global reduction operation, I just wonder whether it'll see
> use outside of field-like situations. If not, then it should be in
> parallel fields, not parallel mesh, and usage for
> fields-implemented-as-tags should be handled there.
1. Any field interface that's not able to operate on tag data on a mesh
will be dead on arrival, at least with me. There's simply too much to
gain using data from the mesh directly not to do this. I don't mean to
imply that *all* the data will be tags on a mesh (I strongly feel the
opposite is true, in fact).
2. It may be that a field interface is a better place to address the
global reduce type operations, though IMO it's pretty close to being
useful enough to go into parallel iMesh.
>
> Global IDs:
>
> One question here. As I understand it, the intention that
> getEntHandle[Arr] will return a local handle (owned, copied, or ghosted)
> for the global ID if possible, and otherwise give an error. Is that
> correct?
Yes.
- tim
>
> I now return you to your regularly scheduled afternoon.
>
> Carl
>
>
--
================================================================
"You will keep in perfect peace him whose mind is
steadfast, because he trusts in you." Isaiah 26:3
Tim Tautges Argonne National Laboratory
(tautges at mcs.anl.gov) (telecommuting from UW-Madison)
phone: (608) 263-8485 1500 Engineering Dr.
fax: (608) 263-4499 Madison, WI 53706
More information about the itaps-parallel
mailing list