harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Google Summer Of Code 2008 Projects Proposals" by TimEllison
Date Thu, 13 Mar 2008 10:12:51 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by TimEllison:
http://wiki.apache.org/harmony/Google_Summer_Of_Code_2008_Projects_Proposals

The comment on the change is:
Moved proposals onto ASF page.

------------------------------------------------------------------------------
  #format wiki
  #language en
- (Please add your proposals in the list)
  
+ Apache Harmony project proposals have now moved onto the [http://wiki.apache.org/general/SummerOfCode2008
ASF-wide GSoC wiki page].
- [[Anchor(harmony-gc-1)]]
- || '''Subject ID''' || ''harmony-gc-1'' ||
- || '''Title''' || '''Implement the "Compressor" GC proposed by Kermany and Petrank''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, memory management, GC ||
- || '''Description''' || The Compressor garbage collector [1] is a compacting GC that leverages
virtual memory support in underlying OS. It compacts the heap in two passes. [[BR]] [1] Haim
Kermany, Erez Petrank: ''The Compressor: concurrent, incremental, and parallel compaction''.
PLDI 2006.||
- || '''Possible Mentors''' || Xiao-Feng Li (xiaofeng.li (a) gmail com) ||
- || '''Status''' || Unassigned ||
  
- 
- [[Anchor(harmony-gc-2)]]
- || '''Subject ID''' || ''harmony-gc-2'' ||
- || '''Title''' || '''Implement the "Mapping Collector" proposed by Wegiel and Krintz'''
||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, memory management, GC ||
- || '''Description''' || The Mapping Collector [1] utilizes the virtual memory support in
a novel way so that it can compact the heap without moving the objects or fixing the references.[[BR]]
[1] Michal Wegiel and Chandra Krintz, ''The Mapping Collector: Virtual Memory Support for
Generational, Parallel, and Concurrent Compaction'', ASPLOS 2008.||
- || '''Possible Mentors''' || Xiao-Feng Li (xiaofeng.li (a) gmail com) ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-gc-3)]]
- || '''Subject ID''' || ''harmony-gc-3'' ||
- || '''Title''' || '''Write a graphical front-end for Harmony memory management''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, memory management, GC ||
- || '''Description''' || Harmony runtime needs a graphic front-end visualizing the memory
management activities and the runtime status. It can be standalone or better an Eclipse plugin.
It can be online display of the runtime execution, or offline processing of the log. ||
- || '''Possible Mentors''' || Xiao-Feng Li (xiaofeng.li (a) gmail com) ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-gc-4)]]
- || '''Subject ID''' || ''harmony-gc-4'' ||
- || '''Title''' || '''Unify the native memory management of Harmony DRLVM''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, virtual machine, memory management, GC ||
- || '''Description''' || DRLVM uses inconsistent APIs for native memory management, such
as APR or malloc or mmap. It is desirable to have a unified API for native memory management.
Hopefully the runtime native memory usage can be managed with a global view and then optimized.
This layer could be extended to provide the API for Java heap native management as well. ||
- || '''Possible Mentors''' || Xiao-Feng Li (xiaofeng.li (a) gmail com) ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-gc-5)]]
- || '''Subject ID''' || ''harmony-gc-5'' ||
- || '''Title''' || '''Build a garbage collector for C/C++ programs on the top of Harmony'''
||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || C, C++, memory management, GC ||
- || '''Description''' || One may notice a lack of open source effective parallel GC implementation
for C/C++ programs. For example, Parrot (Perl 6) community expressed an [http://www.perl6.org/perl6-internals/2007-10/msg00091.html
interest] in attaching our GC to their code base. If numbers would show some benefit, we might
get other adopters of our code base. Successful completion of GC library on the top of Harmony
would teach a person in refactoring skills and give a good background in garbage collection.
||
- || '''Possible Mentors''' || Alexei Fedotov; [[BR]]Xiao-Feng Li (xiaofeng.li (a) gmail com)
||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-tools-1)]]
- || '''Subject ID''' || ''harmony-tools-1'' ||
- || '''Title''' || '''Implement "Bundle Tool", a tool to make binary snapshots of Java applications
with Harmony''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, tools ||
- || '''Description''' || There is no simple way for Harmony users to define the list of needed
classes, jars and native libraries for their applications. Create a tool that creates a Harmony
package with the classes and native libraries used by specific application or work flow. First
of all this application should collect data from one or multiple application runs and then
create a Harmony bundle without unneeded classes and native code. ||
- || '''Possible Mentors''' || Egor Pasko [[BR]] Mark Hindess ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-tools-2)]]
- || '''Subject ID''' || ''harmony-tools-2'' ||
- || '''Title''' || '''Implement a Java developer's command line tool''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, tools ||
- || '''Description''' || Harmony is missing several of the tools that ship with the JDK,
including jar, jconsole, javaws and policytool.  For this task you would implement one of
these tools, either in Java or C/C++ if preferred. ||
- || '''Possible Mentors''' || Sian January [[BR]] Mark Hindess ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-vm-1)]]
- || '''Subject ID''' || ''harmony-vm-1'' ||
- || '''Title''' || '''Support invokedynamic bytecode instruction in Harmony VM and JIT'''
||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || C++, java, virtual machine, JIT, bytecode, dynamic languages ||
- || '''Description''' || Support the [http://blogs.sun.com/gbracha/entry/invokedynamic invokedynamic]
instruction i.e. the ideas of [http://jcp.org/en/jsr/detail?id=292 JSR 292] draft. And implement
basic support for a dynamic language like {{{Python}}}, {{{Ruby}}}, {{{JavaScript}}} as a
proof of concept. We want this language to have dynamic typing, reasonable user base, usable
standard library, a set of compatibility tests. Students are free to choose the actual dynamic
language. We will discuss the reasoning behind the choice. The code involved is C (VM part)
C++ (JIT) and probably some class library part in Java. The task is rather challenging for
the summer, hence, will require a lot of interaction with the team on the tricky details.
Lots of fun guaranteed. ||
- || '''Possible Mentors''' || Egor Pasko ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-vm-2)]]
- || '''Subject ID''' || ''harmony-vm-2'' ||
- || '''Title''' || '''Integrate Harmony and Jikes RVM''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, virtual machine, VM ||
- || '''Description''' || [http://jikesrvm.org/ Jikes RVM] is a research virtual machine that
has been a test bed for many JVM and GC developments. This project will look to integrate
the Harmony class libraries with Jikes RVM. This will require work on the VM interfaces (the
Jikes RVM is a Java-in-Java VM meaning that current VM interfaces are written in Java rather
than native code) as well as exploring how Jikes RVM can be integrated with Harmony's threading
and other runtime models. ||
- || '''Possible Mentors''' || Ian Rogers [[BR]] Tim Ellison (t.p.ellison (a) gmail com) ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-jit-1)]]
- || '''Subject ID''' || ''harmony-jit-1'' ||
- || '''Title''' || '''Refactor Java Bytecode Translator in Harmony JIT''' ||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || C++, JIT, bytecode, compilers, Java ||
- || '''Description''' || The optimizing JIT (Jitrino.OPT) parses Java bytecode on early stages
of method compilation to produce Internal Representation to allow further stages to optimize
it. This code is well-tested, but not easy to extend (for example, not easy to teach JIT to
understand new types of instructions) The major inconvenience is that translator makes things
too complicated by trying to optimize on the fly. The task is to refactor the Java-Bytecode-Translator
in the Jitrino.OPT to make the code cleaner and simplify the data structures used. Move optimization
to a separate stage. Take care of correctly mapping line number info from bytecode into JIT
instructions. Code is C++, but not a tricky style. The student will get an in-depth knowledge
of Java bytecode, overall knowledge of just-in-time compilation techniques. ||
- || '''Possible Mentors''' || Egor Pasko ||
- || '''Status''' || Unassigned ||
- 
- 
- [[Anchor(harmony-demo-1)]]
- || '''Subject ID''' || ''harmony-demo-1'' ||
- || '''Title''' || '''Make [http://www.freecol.org/ FreeCol] game playable on Harmony'''
||
- || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
- || '''Keywords''' || Java, games, graphics ||
- || '''Description''' || For someone who is interested in a graphical user interface development,
enabling one of the most popular strategic games may be an interesting task. Since client
API development is not finished, the one who would choose this task might learn designing
of areas related to image processing, code development, bug fixing and refactoring. See for
[http://issues.apache.org/jira/browse/HARMONY-4252 details] on the current status of the project.
BTW, you may want to replace [http://www.freecol.org/ FreeCol] enabling  with enabling of
your favorite application, and this is welcome. ||
- || '''Possible Mentors''' || Alexei Fedotov ||
- || '''Status''' || Unassigned ||
- 

Mime
View raw message