The co-design of virtual machines using reconfigurable hardware




Kent, Kenneth Blair

Journal Title

Journal ISSN

Volume Title



The prominence of the internet and networked computing has driven research efforts into providing support for heterogeneous computing platforms. This has been exemplified by the emergence of virtual machines, such as the Java virtual machine. Unfortunately, most virtual computing platforms come with a performance penalty. This dissertation investigates a new approach for providing virtual computing platforms through the use of reconfigurable computing devices and hardware/software co-design. Traditionally, when designing a hardware/software solution, instance specific methods are used to iterate towards a solution that satisfies the requirements. This is not an ideal approach as the costs involved with integrating hardware and software components are significant. This technique demotes the interface between the hardware and software, often resulting in major complications at the integration stage. These problems can be avoided through adherence to a sound methodology which the co-design process follows. This dissertation examines the original concept of using hardware/software co-design and reconfigurable computing as a means of providing virtual machine platforms. Specifically the contributions include an advancement towards a new general computing paradigm and architecture; guidelines and several algorithms for applying the general hardware/software co-design process to the specific virtual machine class of problems; and an assessment of the potential advantages of using co-design as an implementation approach for virtual machines. These are applied to the Java virtual machine and simulated for insights into the potential benefits, requirements, and caveats of co-design for virtual machines. This research demonstrates that using hardware/software co-design as described specifically for virtual machines, the solution can offer performance benefits over a software-only solution. These performance increases will be shown to be dependent upon several factors such as the application itself and the underlying architectural features. This dissertation will promote and give evidence that reconfigurable computing can be used for more general purpose computing and not just for specific problem instances.



Virtual computer systems, Computer software