FPGA System Development
This document discusses the collaborative efforts of Colin Orsborne, Can Koklu, Calvin Kwok, and Paul Richardson in developing methods to offload execution from a Java Virtual Machine (JVM) to an FPGA. It details the roles of each contributor, including runtime profiling, JVM modification, and design implementation. The paper reviews two JVM candidates, Jikes RVM and jamVM, and highlights profiling techniques such as value and temporal profiling. Additionally, it explores selected bytecodes for FPGA execution, aiming to enhance performance and efficiency in future applications.
FPGA System Development
E N D
Presentation Transcript
FPGA System Development Colin Orsborne Can Koklu Calvin Kwok Paul Richardson
Purpose • Offloading methods from a Java Virtual Machine for execution on a FPGA
Roles • Colin • Runtime profiling • Assist with JVM modification • Paul • Modifying JVM • Calvin • Interface design and implementation • Can • FPGA design and implementation
JVMs and Runtime Profiling Colin Orsborne
Intro Into a JVM • Extract bytecodes • Two JVM Candidates • Jikes RVM • In Java, Larger, good documentation • jamVM • In C, small, poor documentation
Profiling • Value Profiling • Temporal Profiling • Jikes RVM Profiling Infrastructure • Instrumented event counter at runtime • Overhead
Two Virtual Machine Candidates: Jikes RVM and jamVM Profiling Temporal Value Goals Selected bytecodes for execution on FPGA select time consuming methods for future execution on FPGA Modified RVM or JamVM Conclusion