From: Sanjay H A <san...@ly...> - 2008-02-04 06:50:42
|
Hello Sir <br> <br>Progress about MPI : I am able to get output with MPI application. <br> <br>But one of my MPI application is using "charm++", On that if I insert the routines <br> <br> <br>The application runs for given sampling seconds, then inside the <br>sampler subroutine, after calling ps_hwpc_read(), the program is exiting. (ret value is not equal to success) <br> <br>The return value from ps_hwpc_read() is 1012. <br> <br>The error it is giving while exiting is: "calling sequence not allowed" <br> <br>Any suggestion on this. Is this because of charm++? <br> <br>Thanx <br>Regards <br> <br>sanjay <br><br><br><br><br><br><blockquote style='border-top: 1px solid rgb(204, 204, 204); margin: 0.8ex 0pt 0pt 0pt; padding-bottom: 1ex;'> <br>---------[ Received Mail Content ]----------<br> <br> <b>Subject : </b>Re: [PerfSuite-users] Periodic measurement<br> <br> <b>Date : </b>Wed, 30 Jan 2008 11:10:04 -0600<br> <br> <b>From : </b>Rick Kufrin <rk...@nc...><br> <br> <b>To : </b>Sanjay H A <san...@ly...><br> <br> <b>Cc : </b>per...@li...<br> <br><br> <br>Sanjay, <br><br> <br><br>The example programs like sampler that are distributed with PerfSuite <br><br>are not meant to be production-quality tools, but small cases that might <br><br>be useful for people to see how things work and demonstrate some basic <br><br>capabilities. However, you might want to think about what's happening <br><br>underneath if you base something on an example like sampler. It might <br><br>be helpful for you to take a look at the manual pages for setitimer() <br><br>and sigaction(), which are used in sampler as building blocks. <br><br> <br><br>Here are a few points that may be relevant: <br><br> <br><br>1. For performance data to be printed within sampler, the signal handler <br><br>that is installed must be triggered by delivery of the signal. The <br><br>handler itself is the function "sampler". As an aside, this is not <br><br>typically a good idea to be doing output from within a signal handler <br><br>but again this is just a toy example program. <br><br> <br><br>2. The sampler program sets interval timers using the ITIMER_VIRTUAL <br><br>time domain, which is decremented only when the process is executing. <br><br>If a process is sleeping, it's not accumulating any execution time, and <br><br>so this timer would likely be decrementing at a much slower rate. <br><br> <br><br>3. The sampler program, in its use of sigaction, does not request that <br><br>system calls are restarted across signals (see the manual page for <br><br>sigaction()). <br><br> <br><br>I ran some tests and found that even with calls to printf() or sleep() <br><br>within the busyloop function, output from the signal handler will occur, <br><br>but not necessarily at the same rate one would expect when running the <br><br>example unchanged. You might want to play around with it some more to <br><br>see if you can produce similar results. <br><br> <br><br>One other point to raise in case you make some changes is that PAPI, <br><br>when multiplexing, also uses signals to trigger the timeslicing of <br><br>counters (in most cases, I believe it uses SIGPROF and ITIMER_PROF). <br><br>That means some care has to be taken if changing signals and interval <br><br>timers within sampler. <br><br> <br><br>Not trying to be evasive here, but rather, trying to point you in a <br><br>different direction in terms of how you are thinking things are working <br><br>with the sampler example. <br><br> <br><br>Rick <br><br> <br><br>Sanjay H A wrote: <br><br>> Hello Sir <br><br>> I got the point. Then I will insert persuite routines in my application to measure performance periodically. <br><br>> But I am afraid about the test I did with perfsuite sampler program.The thing I noticed is, inside busyloop(), if I insert printf statement or some sleep statement , the performance data will not <br><br>> be printed on standard output periodically. Any solutions for that? <br><br>> <br><br>> Thanx <br><br>> Regards <br><br>> Sanjay <br><br>> <br><br>> <br><br>> <br><br>> <br><br></BLOCKQUOTE> |