Cultural advice

The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history.

Aboriginal and Torres Strait Islander peoples are advised that ANU Library collections may include images, names, voices, and other representations of deceased persons.

Material in the collection may contain terms, language or views that reflect the period in which the item was created and may be considered inappropriate today.

An efficient implementation of a micro virtual machine

dc.contributor.authorLin, Yi
dc.date.accessioned2019-04-01T03:18:23Z
dc.date.available2019-04-01T03:18:23Z
dc.date.issued2018
dc.description.abstractImplementing a managed language efficiently is hard, and it is becoming more difficult as the complexity of both language-level design and machines is increasing. To make things worse, current approaches to language implementations make them prone to inefficiency as well. A high-quality monolithic language implementation demands extensive expertise and resources, but most language implementers do not have those available so their implementations suffer from poor performance. Alternatively, implementers may build on existing frameworks. However, the back-end frameworks often offer abstractions that are mismatched to the language, which either bounces back the complexity to the implementers or results in inefficiency. Want et al. proposed micro virtual machines as a solution to address this issue. Micro VMs are explicitly minimal and efficient. Micro VMs support high-performance implementation of managed languages by providing key abstractions, i.e. code execution, garbage collection, and concurrency. The abstractions are neutral across client languages, and general and flexible to different implementation strategies. These constraints impose interesting challenges on a micro VM implementation. Prior to this work, no attempt had been made to efficiently implement a micro VM. My thesis is that key abstractions provided by a micro virtual machine can be implemented efficiently to support client languages. By exploring the efficient implementation of micro virtual machines, we present a concrete implementation, Zebu VM, which implements the Mu micro VM specification. The thesis addresses three critical designs in Zebu, each mapping to a key abstraction that micro virtual machines provide, and establishes their efficiency: 1) demonstrating the benefits of utilizing a modern language that focuses on safety to implement a high performance garbage collector, 2) analysing the design space of yieldpoint mechanism for thread synchronization, and 3) building a micro compiler under the specific constraints imposed by micro virtual machines, i.e. minimalism, efficiency and flexibility. This thesis is a proof of concept and an initial proof of performance to establish micro virtual machines as an efficient substrate for managed language implementation. It encourages the approach of building language implementations with micro virtual machines, and reinforces the hope that Mu will be a suitable back-end target. The thesis discusses the efficient implementation for micro virtual machines, but illustrates broader topics useful in general virtual machine design and construction.en_AU
dc.identifier.otherb59285047
dc.identifier.urihttp://hdl.handle.net/1885/158122
dc.language.isoen_AUen_AU
dc.subjectprogramming languageen_AU
dc.subjectvirtual machineen_AU
dc.subjectruntimeen_AU
dc.subjectcompileren_AU
dc.subjectmicro vmen_AU
dc.subjectgarbage collectionen_AU
dc.subjectyieldpointen_AU
dc.titleAn efficient implementation of a micro virtual machineen_AU
dc.typeThesis (PhD)en_AU
dcterms.valid2019en_AU
local.contributor.affiliationResearch School of Computer Science, College of Engineering and Computer Science, The Australian National Universityen_AU
local.contributor.supervisorBlackburn, Steve
local.description.notesthe author deposited 1/04/2019en_AU
local.identifier.doi10.25911/5ca1dad991dbf
local.mintdoiminten_AU
local.type.degreeDoctor of Philosophy (PhD)en_AU

Downloads

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Yi Lin Thesis 2019.pdf
Size:
2.59 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
884 B
Format:
Item-specific license agreed upon to submission
Description:
abcd