charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: "Van Der Wijngaart, Rob F" <rob.f.van.der.wijngaart AT intel.com>
- To: "Chandrasekar, Kavitha" <kchndrs2 AT illinois.edu>, "White, Samuel T" <white67 AT illinois.edu>
- Cc: Phil Miller <unmobile AT gmail.com>, "Totoni, Ehsan" <ehsan.totoni AT intel.com>, "Langer, Akhil" <akhil.langer AT intel.com>, "Harshitha Menon" <harshitha.menon AT gmail.com>, "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
- Subject: RE: [charm] When to migrate
- Date: Fri, 2 Dec 2016 20:20:02 +0000
- Accept-language: en-US
OK, thanks, Kavitha, I’ll do that. Should I apply this method to all load balancers, or only to MetaLB?
Rob From: Chandrasekar, Kavitha [mailto:kchndrs2 AT illinois.edu]
It would be useful to call AMPI_Migrate every few time steps. The load statistics collection happens at the AMPI_Migrate calls. If there is observed load imbalance, which I understand would be when the refinement appears and disappears, then Metabalancer would calculate the load balancing period based on historical data. So, it would be useful to call it more often than only at time step with the load imbalance.
Thanks, Kavitha
From: Van Der Wijngaart, Rob F [rob.f.van.der.wijngaart AT intel.com] Hi Kavitha,
After a lot of debugging and switching to the 6.7.1 development version (that fixed the string problem, as you and Sam noted), I can now run my Adaptive MPI code consistently and without fail, both with and without explicit PUP routines (currently on a shared memory system). I haven’t tried the meta load balancer yet, but will do so shortly. I did want to share the structure of my code with you, to make sure I am and will be doing the right thing. This is an Adaptive Mesh Refinement code, in which I intermittently add a new discretization grid (a refinement) to the original grid (AKA background grid). I do this in a very controlled fashion, where I exactly specify the interval (in number of time steps) at which the refinement appears, and how long it is present. This is a cyclical process. Obviously, the amount of work goes up (for some ranks) when a refinement appears, and goes down again when it disappears. Right now I place an AMPI_Migrate call each time a refinement has just appeared, and when it has just disappeared. So each time I call it something has changed. I have a number of parameters that I vary in my current test suite, including the over-decomposition factor, and the load balancing policy (RefineLB, RefineSwapLB, RefineCommLB, GreedyLB, and GreedyCommLB). I will add MetaLB to that in my next round of tests. My question is if my approach for when to call AMPI_Migrate is correct. Simply put, I only call AMPI_Migrate when the work structure (work assignment to ranks) has changed, and not otherwise. What do you think, should I call it every time step? Note that calling it every so many time steps without regard for when the refinement appears and disappears wouldn’t make much sense. I’d be sampling the workload distribution at a frequency unrelated to the refinement frequency. Thanks in advance!
Rob
From: Chandrasekar, Kavitha [mailto:kchndrs2 AT illinois.edu]
The meta-balancer capability to decide when to invoke a load balancer is available with the +MetaLB command line argument. It relies on the AMPI_Migrate calls to collect statistics to decide when to invoke the load balancer. However, in the current release, there is a bug in AMPI_Migrate's string handling, so it might not work correctly.
The meta-balancer capability to select the optimal load balancing strategy is expected to be merged to mainline charm in the near future. I will update the manual to include the usage of meta-balancer.
Thanks, Kavitha From:
samt.white AT gmail.com [samt.white AT gmail.com] on behalf of Sam White [white67 AT illinois.edu] Yes, Kavitha will respond on Metabalancer. MPI_Comm's are int's in AMPI. We should really have APIs in our C and Fortran PUP interfaces to hide these details from users, so thanks for pointing it out.
On Tue, Nov 22, 2016 at 3:01 PM, Van Der Wijngaart, Rob F <rob.f.van.der.wijngaart AT intel.com> wrote:
|
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/02/2016
- RE: [charm] When to migrate, Chandrasekar, Kavitha, 12/02/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/02/2016
- RE: [charm] When to migrate, Chandrasekar, Kavitha, 12/02/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/02/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/02/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/05/2016
- Re: [charm] When to migrate, Phil Miller, 12/05/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/05/2016
- Re: [charm] When to migrate, Phil Miller, 12/05/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/06/2016
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/21/2016
- Message not available
- Message not available
- RE: [charm] When to migrate, Chandrasekar, Kavitha, 12/02/2016
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Message not available
- Re: [charm] When to migrate, Sam White, 12/21/2016
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/21/2016
- Message not available
- RE: [charm] When to migrate, Van Der Wijngaart, Rob F, 12/02/2016
- RE: [charm] When to migrate, Chandrasekar, Kavitha, 12/02/2016
Archive powered by MHonArc 2.6.19.