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