Skip to Content.
Sympa Menu

charm - [charm] load balancer runtime options

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

[charm] load balancer runtime options


Chronological Thread 
  • From: Noel Keen <ndkeen AT lbl.gov>
  • To: Charm Mailing List <charm AT cs.illinois.edu>
  • Subject: [charm] load balancer runtime options
  • Date: Wed, 13 Mar 2013 09:36:06 -0700
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Hi,

I have read the docs at http://charm.cs.illinois.edu/manuals/html/charm++/7.html,
but I can't seem to get any actual output related to load balancing.

First, I noted that the --help flag gives many more options that are not documented
in link above.  Now I don't need them to be documented, but I would like to use them!

I tried several of these and I don't see any new output.  So I must be doing
something wrong.  I've tried executables built in the standard fashion as well
as those with a specific load balancer, such as:   -balance workstealing


Specifically, here are some things I tried:

1) aprun -n 24 -d 2 ../main +c2 +cs Mt 1 Ma 3 Md 15 Mb 4 Mr 19 Mg 1 
+cs always produces a nice summary

2) aprun -n 24 -d 2 ../main.ws +c2 Mt 1 Ma 3 Md 15 Mb 4 Mr 19 Mg 1 +LBShowDecisions +LBPrintSummary
The output shows that something is being affected, ie:

Charm++> work stealing seed load balancer.
CharmLB> Load balancer print summary of load balancing result.
CharmLB> Load balancer assumes all CPUs are same.

But there is no output in standard out or any other files that I can see.

I also don't know what these options will provide me, they just seem hopeful.

3) aprun -n 24 -d 2 ../main +c2 +cs Mt 1 Ma 3 Md 15 Mb 4 Mr 19 Mg 1  +print_stats
+print_stats looks like it is only available on hopper and writes one small file per processor
    in the counter directory, though it is not clear what these measurements are.

4) aprun -n 24 -d 2 ../main.ws +LBShowDecisions +LBPrintSummary +c2 Mt 1 Ma 3 Md 15 Mb 4 Mr 19 +showcpuaffinity
I also tried the load balance options in different places on the run line.
+showcpuaffinity seems to do what I would expect.



Load Balancer Command-line Parameters:
           +balancer     string Use this load balancer
           +LBPeriod     number the minimum time period in seconds allowed for two consecutive automatic load balancing
             +LBLoop            Use multiple load balancing strategies in loop
             +LBTopo     string define load balancing topology
         +LBNumMoves    integer Percentage of chares to be moved (used by RefineKLB) [0-100]
        +LBPredictor            Turn on LB future predictor
   +LBPredictorDelay    integer Number of balance steps before learning a model
  +LBPredictorWindow    integer Number of steps to use to learn a model
          +LBVersion    integer LB database file version number
           +LBCentPE    integer CentralLB processor
             +LBDump    integer Dump the LB state from this step
        +LBDumpSteps    integer Dump the LB state for this amount of steps
         +LBDumpFile     string Set the LB state file name
              +LBSim    integer Read LB state from LBDumpFile since this step
         +LBSimSteps    integer Read LB state for this number of steps
         +LBSimProcs    integer Number of target processors.
    +LBShowDecisions            Write to File: Load Balancing Object to Processor Map decisions during LB Simulation
       +LBSyncResume            LB performs a barrier after migration is finished
            +LBDebug    integer Turn on LB debugging printouts
            +LBDebug            Turn on LB debugging printouts
           +teamSize    integer Team size
     +LBPrintSummary            Print load balancing result summary
     +LBNoBackground            Load balancer ignores the background load.
          +LBObjOnly            Only load balancing migratable objects, ignoring all others.
      +LBTestPESpeed            Load balancer test all CPUs speed.
         +LBSameCpus            Load balancer assumes all CPUs are of same speed.
       +LBUseCpuTime            Load balancer uses CPU time instead of wallclock time.
              +LBOff            Turn load balancer instrumentation off
          +LBCommOff            Turn load balancer instrumentation of communication off
             +MetaLB            Turn on MetaBalancer
            +LBAlpha     number per message send overhead
             +LBBeta     number per byte send overhead
   +MetaLBNoObjTimer     number Time in seconds before triggering reduction for no objs



  • [charm] load balancer runtime options, Noel Keen, 03/13/2013

Archive powered by MHonArc 2.6.16.

Top of Page