|Title:||JMTk: A portable memory management toolkit|
|Author(s):||Garner , Robin|
JMTk is a memory management toolkit written in Java for the JikesRVM Java Virtual Machine. JMTk provides reusable components for the development of allocation and garbage collection algorithms, and an efficient implementation of a rapidly growing number of memory management schemes, and is a significant enabler for memory management research. A portable version of JMTk would allow the growing body of memory management research done using it to be repeated in different language environments, and to study the different performance characteristics of algorithms across programming languages without the variation in implementation techniques that clouds such issues today. This thesis describes a project that has ported JMTk for use in C/C++ based lan guage runtimes. The project has used the gcj aheadoftime java compiler and a source transformation technique to produce a version of JMTk that can efficiently perform memory management for traditionally compiled systems. It is currently running in a testbed environment, where it provides interesting comparisons between accurate and conservative garbage collection techniques. The source transformation tool is currently in use by a team at Purdue, to integrate JMTk into the OVM Java Virtual machine. This thesis also describes partially completed work to incorporate JMTk into the runtime of the Glasgow Haskell Compiler (ghc), and describes the difficulties that were encountered in the process, and an approach that should enable the work to be completed in the future. The thesis describes the architecture and construction of the ported system, the source code transformation process used, and evaluates the performance of the final product. It also explores possible future extensions of the techniques used, looks at the issues surrounding working with complex software such as the ghc runtime, and provides a brief evaluation of Java as a system programming language. The key contribution of this thesis is therefore the availability of JMTk to researchers and developers of language runtimes, and a convincing demonstration of the use of Java in a new application domain.
|Appears in Collections:||Open Access Research|
Files in This Item:
Items in Digital Collections are protected by copyright, with all rights reserved, unless otherwise indicated.