AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


gVM - a Stand-alone gbeta Virtual Machine

Authors

; ;

Term

4. term

Publication year

2001

Abstract

Denne afhandling beskriver udviklingen af en virtuel maskine, gVM, der kan køre gbeta-bytecode. En virtuel maskine er et program, der udfører instruktioner i et kontrolleret miljø. Udviklingen begyndte på semesteret DAT5 med fokus på korrekt semantik – at programmer får den tilsigtede betydning og opfører sig korrekt. På DAT6 fortsatte vi med fokus på hastighed. Denne afhandling dækker arbejdet på DAT6: Vi undersøgte, hvorfor en implementation af gbeta har svært ved at blive lige så hurtig som en implementation af BETA. For at besvare det dokumenterede vi grundlæggende forskelle mellem gbeta og BETA, som har betydning for ydeevne. Vi foreslog og implementerede forbedringer af gVM for at øge hastigheden og udviklede benchmark-programmer til at måle effekten. Testene viser, at forbedringerne gør gVM hurtigere. Afslutningsvis sammenfatter vi de vigtigste konklusioner og hvad de betyder for fremtidigt arbejde.

This thesis describes the development of a virtual machine, gVM, that can execute gbeta bytecode. A virtual machine is a software system that runs instructions in a controlled environment. Development began in the DAT5 semester with a focus on correct semantics—the intended meaning and behavior of programs. We continued in DAT6 with a focus on speed. This thesis covers the DAT6 work: we examined why an implementation of gbeta struggles to be as fast as an implementation of BETA. To do so, we documented fundamental differences between gbeta and BETA that affect performance. We proposed and implemented improvements to gVM to increase speed and built benchmark programs to measure their effect. The benchmarks show that these changes make gVM faster. Finally, we summarize the main conclusions and what they imply for future work.

[This abstract was generated with the help of AI]