Re: [rvm-research] About invocation_count_threshold

Michael Hind <[email protected]>
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <OF979C502B.1908AA53-ON85257C1C.0068B21C-85257C1C.006A4799@us.ibm.com>
A bit of backgroun:
	Jikes RVM traditionally only used sampling-based profiling to
determine methods to *consider* for (re-) compilation.  (It then uses a
cost/benefit model to decide what to compile and at what optimization
level.)  This is described in the OOPSLA 2000 paper.

Many years later in an effort to compare the usefulness of sampling-based
profiling vs what was more common at the time, invocation counter based
profiling, we (Dave Grove, I believe) implemented invocation-based
profiling.   However, the default and more robust version remains the
sampling-based profiler.    They are not used in combination in Jikes RVM.

So, since invocation counter-based profiling is experimental, it is not
recommended you use it as a baseline or default setting for trying out some
idea.

Dave, feel free to correct me if my knowledge is out of date.

Mike
_____________________________________________________________
Michael Hind, Senior Manager, Programming Technologies Department
IBM T.J. Watson Research Center
http://www.research.ibm.com/people/h/hind
914 945-2712
My internal blog:  https://w3-connections.ibm.com/blogs/hindsight



From:	Zhijia Zhao <[email protected]>
To:	"General discussion of Jikes RVM design, implementation,
            issues,	and plans"
            <[email protected]>,
Date:	11/07/2013 11:35 AM
Subject:	Re: [rvm-research] About invocation_count_threshold



Thanks, Erik. Very nice answer!
So it seems there are two ways to determine whether a method is hot or not:
one is sampling-based, the other is (invocation) counter-based.
The former prefers methods with longer accumulated execution time, while
the later prefers methods with more invocations so far, right?


May I have a further question?

I tested the command line arguments you suggested: "-X:aos:printOptions",
from which I found two interesting options as below:

method_sample_size             = 3
counter_based_sample_interval  = 1000


It seems the first one is the threshold (# of samples a method got) to
determine a method is "hot" or not,
and the second one is the sampling rate (in the default setting, it is
taking 1 sample every 1000 msecs).

Is my understanding correct?

I observed the changing of method_sample_size affects the # of methods
opt-compiled.
However, I did not see counter_based_sample_interval affect the  # of
methods opt-compiled at all.
Did I miss anything?


Thanks again!

Zhijia













On Thu, Nov 7, 2013 at 4:13 AM, Erik Brangs <[email protected]> wrote:
  Hi,

  On 07.11.2013 00:04, Zhijia Zhao wrote:
  > I tried to test the effects of "invocation_count_threshold" with the
  following command.
  >
  > rvm -X:vm:measureCompilation=true -X:aos:invocation_count_threshold=1
  -jar dacapo-2006-10-MR2.jar -s small eclipse

  Invocation counters are disabled by default. You will need to enable them
  first by adding "-X:base:invocation_counters=true" as a command line
  argument. You will need to fix bugs if you want to use invocation
  counters (see http://jira.codehaus.org/browse/RVM-919).

  To see the default values of command line arguments for AOS or the
  baseline compiler, use "rvm -X:aos:printOptions" and "rvm
  -X:base:printOptions" respectively.


  Kind regards,

  Erik Brangs

  ------------------------------------------------------------------------------

  November Webinars for C, C++, Fortran Developers
  Accelerate application performance with scalable programming models.
  Explore
  techniques for threading, error checking, porting, and tuning. Get the
  most
  from the latest Intel processors and coprocessors. See abstracts and
  register
  http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk

  _______________________________________________
  Jikesrvm-researchers mailing list
  [email protected]
  https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



--
Zhijia Zhao
PhD Student
Computer Science Dept., The College of William & Mary, USA
web: http://www.cs.wm.edu/caps/zzhao
------------------------------------------------------------------------------

November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models.
Explore
techniques for threading, error checking, porting, and tuning. Get the most

from the latest Intel processors and coprocessors. See abstracts and
register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers

------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk

_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
graycol.gif (image/gif, 105 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.