Issue Details (XML | Word | Printable)

Key: RVM-292
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Steve Blackburn
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
RVM

Bloat performance

Created: 09/Oct/07 01:43 AM   Updated: 04/Jul/08 02:59 PM
Component/s: Compiler: Optimizing
Affects Version/s: None
Fix Version/s: 3.1

Time Tracking:
Not Specified

File Attachments: 1. Text File noloop.patch (1 kB)
2. Text File someoff.patch (2 kB)



 Description  « Hide
The performance of bloat seems to be stuck at around 7% of its peak [1]. Although there are changes in gc perf, the big issue appears to be mutator degradation [2]. It would be nice to get this back.

A closer look suggests two major dips, one at around 12222-12298 [3], and one at around 12830-12915 [4].

I did some experiments and established that 12223 was responsible for a 6% mutator degradation.
http://svn.sourceforge.net/jikesrvm/?rev=12223&view=rev
This commit moved O2 optimizations to O3, effectively turning them off. A quick look at mutator performance under [5] shows that bloat was probably the hardest hit benchmark.

I took a look at 12915 and the hit here was across the board, not specific to bloat [6].

I spent a little time trying to tease things apart w.r.t. 12223. First I established that the performance drop was coming from 12223. The only other suspects were these, but they did not contribute any measurable drop (I saw a small, consistent improvement of about 0.4%).

http://svn.sourceforge.net/jikesrvm/?rev=12294&view=rev
http://svn.sourceforge.net/jikesrvm/?rev=12296&view=rev

I did these numbers carefully (I measured 10 invocations, each timing the 10th iteration). Here's the info I have:

1. The commit seemed to boil down to 3 things:
a) SSA and related optimizations
b) Loop optimizations
c) A hand full of other misc

2. Turning loop optimizations back on reduces the hit of 12223 from 6.2% to 3.5%. See noloop.patch (applied in reverse to 12223). In other words, bloat seems to benefit from the loop optimizations.

3. Turning off the misc optimizations only (c) improves 12222 by 1% (ie they apparently were a net negative perf impact on bloat). See someoff.patch. In other words, the misc opts seem to slow bloat down.

[1]
http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.1453/production/default/perf-dacapo/bloat-10/bloat-10-time.large.png
[2] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.1453/production/default/perf-dacapo/bloat-10/bloat-10-time.mu.large.png
[3] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.1396/production/default/perf-dacapo/bloat-10/bloat-10-time.mu.large.png
[4]
http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.1235/production/default/perf-dacapo/bloat-10/bloat-10-time.mu.large.png
[5] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.1396/performance_report
[6] http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.1235/performance_report



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.