Improving the JCilk-1 Compiler and Runtime System
Studenteropgave: Kandidatspeciale og HD afgangsprojekt
- Allan B. Christensen
- Martin Skou
- Per S. Stilling
2. semester, Datalogi, Kandidat (Kandidatuddannelse)
This report deals with improving the
JCilk-1 framework, a Java-based approach
to the Cilk framework for C. The main features
of JCilk-1 include call-return semantics
for multi-threading using the spawn
and sync primitives and implementation of
a solution for passing exceptions from one
thread to the parent that created it.
A number of the shortcomings in JCilk-1
are identified and a number of possible solutions
are proposed. The advantages of
each proposal are weighted based on the
degree of improvement it will bring to the
framework in its current state. Two proposals
are chosen for implementation in
the framework; simplification of the compilation
architecture and increasing performance
by lowering object allocation in the
runtime system.
The architecture of JCilk is successfully
simplified by removing the need for the intermediate
language GoJava. The main
concern of this change is the possible overhead
that might arise from such a change,
but tests show that the overhead is insignificant.
To increase performance, two proposals are
described, an object manager and an object
reuse system. The reuse system is
chosen for implementation, and tests show
significant performance gain using the system.
Sprog | Engelsk |
---|---|
Udgivelsesdato | 2009 |
Antal sider | 91 |
Udgivende institution | Aalborg University, Department of Computer Science |