Hello,
I have sent my proposal for Dacapo benchmark suite investigation, but
haven't sent it to the list to discuss before. After discussion with
potential mentor, I send it.
I think I'll be able to correct bugs and improve performances of some
parts of the API. I'm not sure either to be able to significantly
improve all the parts of the API tested by Dacapo. Dacapo have several
tests. It will be useful to know on which test you think I should
focus. I will test execution time of each test and compare them with
RI, and identify which part of the API are used by each benchmark
test, but if you want to take a look before, each test is very briefly
described here : http://www.dacapobench.org/benchmarks.html
Here's my proposal. If you have any comment...
=====
Proposal Title: [Harmony][performance] Investigate dacapo benchmark suite
Student Name: Rudy Pons
Student E-mail: rudy.p...@etu.u-bordeaux1.fr
Student Major: Computer Science
Student Degree: Studying for Graduate of Science Degree, 2nd year
Organization/Project: Apache Software Fondation/Harmony Project
Assigned Mentor: Mark Hindess
Proposal Abstract:
The goal of the project is to fix bugs and improve Harmony API global
performance by investigating results and performance of the Dacapo
benchmark suite on Harmony.
Detailed Description:
Investigate the performance of the Dacapo benchmark suite
(http://www.dacapobench.org/) on Harmony. Some of the benchmarks don't
run and some are unstable, and some run slower than the RI.. This task
would be to figure out why they don't run, what could be done to make
them more stable and how to make them run faster.
First step will be to run Dacapo suite, find which test don't run or
are unstable, read Dachapo source code to understand why they don't
work fine. Exploring JIRA tickets related to modules used in these
tests should be useful too. Then, I will be able to list all broken
features involved in the Dacapo suite, begin to read appropriate
Harmony code, produce patches to fix these problems, and add
regression tests.
Second step will be to improve performance. For this, I will focus on
tests where Harmony is slower than RI, try to write some new tests to
understand what precise parts of Harmony are slower than RI for this
test. I will sort all of these part to find the slowest, and become
familiar with involved Harmony code, to find how many time should take
each part to obtain significant performance improvement. Then I will
focus on best parts to work on, looking possible performance
improvement for code time ratio, and use of the API. Then I will try
different modifications on Harmony, and compare the results between
these modifications on Dacapo benchmark.
I?ve read part of the Dacapo source code, and begin to fix bugs on the
H2 test.
Available Timeline:
I have exams to attend and will not be fully available for the
Community Bonding Period before the end of these exams, May 11th.
I have no other unavailability during GSoC.
Draft Timeline:
Week 1: Run Dacapo benchmark suite, read source code, and identify bugs.
Week 2-5: Explore Harmony source code, write patch to fix identified
bugs and add regression tests.
Week 6: Write shorter tests than Dacapo ones to identify precisely
slowest part in Harmony.
Week 7-11: Write and compare several optimisations for different parts
of the API.
(This timeline is only a draft, as I can't predict how many bugs will
be discovered, and so how many time will be necessary to fix them)
Additional Information:
I?ve been using Java since 3 years, and have worked on several
projects based on Java, including a file conversion utility, a tennis
tournament draws manager, a cheap online game, and some AI for games.
I?m 19 years old, living in Bordeaux, France, and studying in Bordeaux
1 University.
=====
Thanks,
Rudy Pons