Skip to Content.
Sympa Menu

charm - RE: [charm] Invoking the Load Balancer on a Workstation

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

RE: [charm] Invoking the Load Balancer on a Workstation


Chronological Thread 
  • From: "Galvez Garcia, Juan Jose" <jjgalvez AT illinois.edu>
  • To: Chris Wailes <chris.wailes AT gmail.com>
  • Cc: charm <charm AT lists.cs.illinois.edu>
  • Subject: RE: [charm] Invoking the Load Balancer on a Workstation
  • Date: Mon, 22 May 2017 21:08:59 +0000
  • Accept-language: en-US

Hi Chris,

 

Those tests are not intended to be used for load balancing (looks like the Makefile doesn’t link any load balancers).

 

Instead, I would suggest trying the load balancing examples in examples/charm++/load_balancing (stencil3d and kNeighbor).

 

-Juan

 

From: Chris Wailes
Sent: Monday, May 22, 2017 3:12 PM
To: Miller, Philip B
Cc: charm
Subject: Re: [charm] Invoking the Load Balancer on a Workstation

 

Thanks for your help.  I tried running each of the three programs I'm testing (lb_test, kNeighbor, and jacobi3d) with `+p8` (in the multicore build), and that did cause the lb_test program to print out load balancing data, but kNeighbors segfaulted during LB step 1 and jacobi3d failed to print any load balancing info.  This is all using the 6.7.1 tag from the main Git repository.

Is jacobi3d able to be load balanced?  Do I need to give it other options?  Are there other applications in the test directory that would be better for evaluating load balancing techniques?

- Chris

P.S. I can provide output for the program executions if that would be helpful.

On Thu, May 18, 2017 at 6:01 PM, Phil Miller <mille121 AT illinois.edu> wrote:
You'll need to add a flag "+p N", where N is the number of actual worker threads the runtime should use - by default, when run as a standalone command from the shell, it will occupy only one.

On the multicore build, this will work directly. On the other builds, you'll need to use our multi-process launcher, charmrun, or pass an additional '+ppn M' flag to indicate a number of threads to run in each process.

See the relevant manual section for details:

On Thu, May 18, 2017 at 4:54 PM, Chris Wailes <chris.wailes AT gmail.com> wrote:
First, I'd like to thank everyone for their hard work on the Charm++ project.  My life would be a lot more complicated right now without all of your efforts.

Now, to get to the issue I'm having:

I'm attempting to work with Charm++'s load balancing infrastructure.  Right now, I'd like to develop things on my workstation, which has a single quad-core, hyperthreaded CPU in it.

I've compiled Charm++ with the following versions:
  • multicore-linux64
  • net-linux-x86_64-smp
  • net-linux-x86_64
  • netlrts-linux-x86_64-smp
  • netlrts-linux-x86_64

I've tried running lb_test, jacobi3d, and kNeighbor with each of these versions using the following commands:

  • ./lb_test.every +isomalloc_sync +balancer GreedyLB +LBDebug 9 +LBPrintSummary 1024 100 10 10 100 100 mesh2d
  • ./jacobi3d +isomalloc_sync +balancer GreedyLB +LBDebug 9 +LBPrintSummary 128 32
  • ./kNeighbor +isomalloc_sync +balancer GreedyLB +LBDebug 9 +LBPrintSummary 128 16 32

So far none of these combinations have resulted in any load balancer summaries or debugging prints besides the following (this output was from the netlrts-linux-x86_64 version):

CharmLB> Verbose level 9, load balancing period: 0.5 seconds
CharmLB> Topology torus_nd_5 alpha: 3.500000e-05s beta: 8.500000e-09s.
CharmLB> Load balancer print summary of load balancing result.
CharmLB> Load balancer assumes all CPUs are same.
Charm++> Running on 1 unique compute nodes (8-way SMP).
Charm++> cpu topology info is gathered in 0.011 seconds.
[0] GreedyLB created

It seems like the line `Running on 1 unique compute nodes (8-way SMP).` might indicate that the load balancer isn't running because there is only 1 "node" or processing element.  I tried and failed to find any way to force the creation of 8 processing elements for my 8 logical cores.

Cold anyone tell me what I need to do to get the load balancer firing when I run these applications on my workstation?

- Chris





Archive powered by MHonArc 2.6.19.

Top of Page