itaps-parallel reasons against part=mesh instance
Tim Tautges
tautges at mcs.anl.gov
Wed Apr 21 11:03:25 CDT 2010
Some of the following argument depends on how partitions are handled. However, assuming the partition is also
associated with a mesh instance (with the partition in each mesh instance coordinated with those on other instances over
the parallel job)... using one part per instance, and multiple instances on a given process, implies multiple threads of
control, since many of the iMeshP functions are collective calls. Single threads of control are far and away the most
common mode for running codes at scale right now, and I assert will continue to be for some time (5-10 yrs).
Also, for the mode where an application is providing an iMeshP implementation on top of its data structure so it can use
services implemented on iMeshP, I think the restriction of one part per instance means that these apps will always
restrict themselves to one part per process. I think your application is of this type. So, I'd much rather have this
be a restriction of your application than a behavior bound at the interface level. In fact, the latter almost
guarantees that MOAB will only support one part per process, since that will cover 99% of the use cases.
I think this goes back again to the runtime notion of a part being confused with the unit of partitioning that's stored
with / associated to the mesh. Maybe that's just a narrow view, though, since I'm pretty sure Mark S. disagrees with that.
- tim
Mark Beall wrote:
> All,
>
> I was thinking over the call we had on Monday, specifically about what
> arguments were made against part=mesh instance. The only really
> compelling argument I recall (and sorry if I don't remember others,
> that's why I'm writing this email) was Tim's example of the overhead in
> partitioning a mesh into 100,000 partitions with 8 elements each.
>
> Well, it kind of struck me that Tim's example, while relevant in terms
> of the percentage of overhead isn't really that relevant in terms of
> total memory. The initial mesh there would be 800,000 elements, maybe a
> few hundred MB. Even with much more than 100% overhead, I could easily
> do that on my laptop. Given that I can buy a computer with 96 GB of
> memory today for about $8000 (192 GB for $17000) ( a Dell 7500 with 3rd
> party memory in case you're curious), you could add a couple zeros to
> the number of partitions for that mesh before it should become an issue
> for someone that will be running that simulation on a supercomputer
> costing a few hundred million dollars.
>
> What were the other compelling arguments against part=mesh instance?
>
> mark
>
>
--
================================================================
"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