Skip to Content.
Sympa Menu

charm - Re: [charm] Manual mode load balancing

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Manual mode load balancing


Chronological Thread 
  • From: Ronak Buch <rabuch2 AT illinois.edu>
  • To: Jozsef Bakosi <jbakosi AT lanl.gov>
  • Cc: "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu>
  • Subject: Re: [charm] Manual mode load balancing
  • Date: Tue, 7 Aug 2018 14:12:00 -0500
  • Authentication-results: illinois.edu; spf=pass smtp.mailfrom=rabuch2 AT illinois.edu; dmarc=pass header.from=illinois.edu

Yes, if you want to use AtSync mode, you put usesAtSync = true, and never call AtSync, you should get no migration. That's the strategy I'd take if I understand what you're trying to to. You may also want to use setMigratable(bool migratable), which can be called from an array element to mark it as migratable or not.

Yes, if you're using dynamic insertion, you should explicitly call CkStartLB() when your dynamic insertion is done and you want to balance load.

With bound arrays, you should have to call AtSync from every object, not just one of the bound objects.

On Tue, Aug 7, 2018 at 10:09 AM, Jozsef Bakosi <jbakosi AT lanl.gov> wrote:
Thanks Ronak,

I'm experimenting with periodic, atsync, as well as manual modes and
have some more questions:

If I want to use AtSync mode, am I correct that if I put 'usesAtSync =
true' into all of my chare array's constructors and never call AtSync(),
I should get no migration? (I'm trying to incrementally enable migration
for different chare arrays to hunt down a possible bug. Is this a good
strategy or there is a better one?)

The manual says that in periodic and AtSync modes I should not worry
about starting load balancing, only when I have array elements created
using dynamic insertion. Does that mean that I have to explicitly call
CkStartLB() when all my dynamic insertion is done?

If I have bound arrays, is it enough to call AtSync only from one of the
bound objects and not from the others?

Thanks,
Jozsef

On 08.06.2018 17:07, Ronak Buch wrote:
> The easiest way to do so, assuming you're using AtSync() for load
> balancing, is to merely not call AtSync() while you don't want to
> migrations to happen.
>
> With periodic load balancing, then yes, TurnManualLBOn() and
> TurnManualLBOff() should disable migration due to load balancing while
> manual load balancing is turned on. You should only have to call
> CkStartLB() if you do want to balance load while manual load balancing is
> enabled, so you shouldn't have to call it at all.
>
> Thanks,
> Ronak
>
> On Mon, Aug 6, 2018 at 4:29 PM, Jozsef Bakosi <jbakosi AT lanl.gov> wrote:
>
> > Hi folks,
> >
> > I would like to turn off load balancing (and migration) for a given
> > period.
> >
> > Should I just put TurnManualLBOn() and TurnManualLBOff() around which I
> > do not want migration and that's it?
> >
> > Do I also have to call CkStartLB()? What if I don't? If I do, where
> > should that be relative to the above two calls?
> >
> > Thanks,
> > Jozsef
> >




Archive powered by MHonArc 2.6.19.

Top of Page