Skip to Content.
Sympa Menu

charm - Re: [charm] Collecting Basic Application Information

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Collecting Basic Application Information


Chronological Thread 
  • From: Chris Wailes <chris.wailes AT gmail.com>
  • To: Laércio Lima Pilla <laercio.pilla AT ufsc.br>
  • Cc: charm <charm AT lists.cs.illinois.edu>
  • Subject: Re: [charm] Collecting Basic Application Information
  • Date: Fri, 26 May 2017 16:46:12 -0400

Dr. Pilla,

Thanks for your suggestions.  Recording the start time from the constructor is working like a Charm++ (I apologize for the joke and sincerely hope I'm not the first to have made it), but for some reason the code in the destructor isn't being executed.  Right now the destructor contains a single call to CkPrintf, without the PE guard, but nothing gets printed.  Any thoughts on why this might be?

As for the program name, I came across `program_invocation_name` (described in man pages), which is a global variable defined to hold the same value passed as argv[0].

Thanks,
Chris

On Thu, May 25, 2017 at 10:21 PM, Laércio Lima Pilla <laercio.pilla AT ufsc.br> wrote:

Dear Chris,

I believe you could get some application start and end time estimations by logging them during LB construction and destruction (just make it sure you are doing that in a "if (CkMyPe() == 0){...}").

Now for the application name, unless something changed recently, I believe you may not be able to get that directly in the LB framework. Perhaps a simple workaround would be 'echo'ing the name of the application directly to the log file before the application starts, or 'echo'ing it to a standard file to be read by your LB.

Best regards,

Em 2017-05-25 17:46, Chris Wailes escreveu:

For my research I'm collecting information about task layout during load balancing invocation.  To do this, I've implemented a "dummy" load balancer that collects the data I'm interested in and writes it to a log file.  That part has actually be very easy and straightforward.  However, there are three bits of information I need for bookkeeping purposes that I'm not entirely sure how to obtain: the name of the application, the time the application started, and the time the application ended.

Are these first two pieces of information available from within a load balancer, or will I need to modify other parts of the Charm++ runtime to make it available?  Is there a way to register a callback, so that I can write the timestamp at program exit to my log file?  I'd rather not have to manually collect this information.

In the worst-case scenario I'll just write a wrapper program that collects this information before and after execing the Charm++ program, but it would be nicer to do it all inside Charm++.
- Chris

P.S. I feel bad for spamming the mailing list with trivial questions like this.  Is there a Charm++ IRC room somewhere?


--
Laércio Lima Pilla, PhD.
Associate Professor (Professor Adjunto)
UFSC - CTC - INE, Brazil
Email: laercio.pilla AT ufsc.br or laercio.lima.pilla AT gmail.com
Tel: +55 (48) 9152 8120, +55 (48) 3721 7564
Website: www.inf.ufsc.br/~pilla/




Archive powered by MHonArc 2.6.19.

Top of Page