Skip to Content.
Sympa Menu

charm - Re: [charm] [ppl] Distributed LB

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] [ppl] Distributed LB


Chronological Thread 
  • From: Gengbin Zheng <zhenggb AT gmail.com>
  • To: errodrigues AT inf.ufrgs.br
  • Cc: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: Re: [charm] [ppl] Distributed LB
  • Date: Mon, 11 Jul 2011 15:49:01 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Eduardo,

Have you looked NeighborLB for an example of distributed LB?
There are two types of load balancing scheme, AtSync and non-AtSync.

If an object is in AtSync mode (which is default for chare array
elements), it will wait for resumeClients call to resume.
Otherwise, use non-atsync mode, where you assert an object is capable
of any-time migration, and you don't need to resume it explicitly.

Gengbin

On Mon, Jul 11, 2011 at 2:26 PM, Eduardo Rocha Rodrigues
<errodrigues AT inf.ufrgs.br>
wrote:
> Hi,
>
> I think what I was looking for doesn't make much sense in a
> Distributed LB. I mean, I don't need to wait for the migrations to
> complete, right? I can just call theLbdb->Migrate and, immediately
> after that, call theLbdb->ResumeClients. A migrating object may resume
> execution in the same processor, but eventually it will get to its
> destination. Is that correct?
>
> Eduardo
>
> On Mon, Jul 11, 2011 at 11:32 AM, Eduardo Rocha Rodrigues
> <errodrigues AT inf.ufrgs.br>
> wrote:
>> Professor Kale,
>>
>> I am calling theLbdb->Migrate (theLbdb is a property of BaseLB) to
>> migrate objects. Does this call generate an event when it is done? I
>> mean, when the object is on its destination. If so, how can I wait for
>> such an event?
>>
>> Regards,
>> Eduardo
>>
>> On Mon, Jul 11, 2011 at 1:11 AM, Kale, Laxmikant V
>> <kale AT illinois.edu>
>> wrote:
>>> I haven't looked at CentralLB:MigrationsDone, but I think a simple use of
>>> a future (or just a flag) can make it so that the user just has to make a
>>> blocking call to wait for the event. Am I missing something?
>>>
>>> I will be happy to look at the code,and discuss, ma be with Celso and you
>>> on skype with the code in front of us.
>>>
>>>
>>> --
>>> Laxmikant (Sanjay) Kale         http://charm.cs.uiuc.edu
>>> <http://charm.cs.uiuc.edu/>
>>> Professor, Computer Science    
>>> kale AT illinois.edu
>>> 201 N. Goodwin Avenue           Ph:  (217) 244-0094
>>> Urbana, IL  61801-2302          FAX: (217) 265-6582
>>>
>>>
>>>
>>>
>>>
>>>
>>> On 7/10/11 1:06 PM, "Eduardo Rocha Rodrigues"
>>> <errodrigues AT inf.ufrgs.br>
>>> wrote:
>>>
>>>>Hi,
>>>>
>>>>In order to make sure that all migrations have finished, I wrote a
>>>>callback routine, similarly to what was done in CentralLB
>>>>(CentralLB::MigrationDone).
>>>>
>>>>It seems to work, but I think this is too complex. I want something
>>>>simpler for a tutorial.
>>>>
>>>>Can anyone help me?
>>>>
>>>>Thanks in advance,
>>>>Eduardo
>>>>
>>>>On Thu, Jul 7, 2011 at 2:31 PM, Eduardo Rocha Rodrigues
>>>><errodrigues AT inf.ufrgs.br>
>>>> wrote:
>>>>> Hi Abhinav,
>>>>>
>>>>> I was looking for something simpler for a tutorial I am going to
>>>>> present. I got as an example the NullLB and change it so that I
>>>>> perform some load balancing decisions, instead of doing nothing.
>>>>>
>>>>> I managed to do some migrations, but sometimes I resume execution
>>>>> before some objects migrate. I mean, I call the method
>>>>> LBDatabase::ResumeClients before some objects arrive to their
>>>>> destination. Is there any way to guarantee that all the objects that I
>>>>> ordered to migrate (with LBDatabase::Migrate) had finished migrating?
>>>>>
>>>>> Thanks,
>>>>> Eduardo
>>>>>
>>>>> On Sun, Jul 3, 2011 at 4:49 AM, Abhinav S Bhatele
>>>>> <bhatele AT illinoisalumni.org>
>>>>> wrote:
>>>>>> Hi Eduardo,
>>>>>> Are you referring to writing a hierarchical load balancer? Is yes,
>>>>>> HybridLB.C in src/ck-ldb is an example.
>>>>>> - Abhinav
>>>>>>
>>>>>> On Fri, Jul 1, 2011 at 11:28 AM, Eduardo Rocha Rodrigues
>>>>>> <errodrigues AT inf.ufrgs.br>
>>>>>> wrote:
>>>>>>>
>>>>>>> Is there any tutorial on how to write a distributed load balancer on
>>>>>>> Charm? I mean, something similar to what can be found on:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>https://charm.cs.uiuc.edu/manuals/html/charm++/3_13.html#SECTION0003133
>>>>>>>00000000000000
>>>>>>>
>>>>>>> Or an example would be helpful.
>>>>>>>
>>>>>>> Thanks in advance,
>>>>>>> Eduardo
>>>>>>> _______________________________________________
>>>>>>> charm mailing list
>>>>>>> charm AT cs.uiuc.edu
>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/charm
>>>>>>> _______________________________________________
>>>>>>> ppl mailing list
>>>>>>> ppl AT cs.uiuc.edu
>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/ppl
>>>>>>
>>>>>>
>>>>>
>>>>_______________________________________________
>>>>charm mailing list
>>>>charm AT cs.uiuc.edu
>>>>http://lists.cs.uiuc.edu/mailman/listinfo/charm
>>>
>>>
>>> _______________________________________________
>>> charm mailing list
>>> charm AT cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/charm
>>>
>>
>
> _______________________________________________
> ppl mailing list
> ppl AT cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/ppl
>





Archive powered by MHonArc 2.6.16.

Top of Page