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.
Antal sider91
Udgivende institutionAalborg University, Department of Computer Science
ID: 17683011