Skip to Content.
Sympa Menu

charm - Re: [charm] migrate non array chares

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] migrate non array chares


Chronological Thread 
  • From: "Kale, Laxmikant V" <kale AT illinois.edu>
  • To: Nicolas Bock <nicolasbock AT gmail.com>, "Lifflander, Jonathan Josiah" <jliffl2 AT illinois.edu>
  • Cc: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: Re: [charm] migrate non array chares
  • Date: Mon, 22 Jul 2013 18:18:21 +0000
  • Accept-language: en-US
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Yes,  the load balancer will consider both arrays for migration. A graph partitioner type load balancer (e.g. MetisLB)  will do well for this case.

You can, if you want, you can mark one array as not migratable (see setMigratavble in section 7.5 of the manual), and control its mapping explicitly, while the other chare array is marked as migratable.

Hope that helps.
-- 

On 7/22/13 12:39 PM, "Nicolas Bock" <nicolasbock AT gmail.com> wrote:

Suppose I have two chare arrays, A and B. Both contain data, and I would like A to do some computation and B to only provide data to A and not compute anything itself. Will the load balancer consider both arrays for migration? Will it try to move the data in B close to the work in A?

Thanks,

nick



On Sat, Jul 20, 2013 at 9:54 AM, Jonathan Lifflander <jliffl2 AT illinois.edu> wrote:
Normal chares in Charm++ are not load balanced like an array (which is
something we intend to change eventually). Instead, we use "seed"
balancers to load balance them. See manual section
http://charm.cs.illinois.edu/manuals/html/charm++/7.html#SECTION01670000000000000000

Singleton chares in Charm++ are typically viewed as a "task", which
will do some work (probably a fairly small amount), and then possibly
spawn some children chares. Hence, the seed load balancer for them
just moves the seed around, which is essentially a creation message.
So they can be migrated or load balanced until they are actually
instantiated. Once creation occurs, they are fixed on a processor.

For iterative applications, or ones where the parallelism is more
structured, we would recommend that you use a chare array. Note that
chare arrays allow dynamic insertions, which allows the size of the
collection to asynchronously grow at runtime.

On Fri, Jul 19, 2013 at 4:58 PM, Nicolas Bock <nicolasbock AT gmail.com> wrote:
> Hi,
>
> can normal chares, i.e. one I declare "chare Something" in the interface
> file be migrated? Can they be load balanced?
>
> Thanks,
>
> nick
>
>
> _______________________________________________
> charm mailing list
> charm AT cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/charm
>




Archive powered by MHonArc 2.6.16.

Top of Page