8
FPGA System FPGA System Development Development Colin Orsborne Colin Orsborne Can Koklu Can Koklu Calvin Kwok Calvin Kwok Paul Richardson Paul Richardson

FPGA System Development

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: FPGA System Development

FPGA System FPGA System DevelopmentDevelopment

Colin OrsborneColin OrsborneCan KokluCan Koklu

Calvin KwokCalvin KwokPaul RichardsonPaul Richardson

Page 2: FPGA System Development

PurposePurpose

Offloading methods from a Java Offloading methods from a Java Virtual Machine for execution on a Virtual Machine for execution on a FPGAFPGA

Page 3: FPGA System Development

RolesRoles

ColinColin Runtime profilingRuntime profiling Assist with JVM modificationAssist with JVM modification

PaulPaul Modifying JVMModifying JVM

CalvinCalvin Interface design and implementationInterface design and implementation

CanCan FPGA design and implementationFPGA design and implementation

Page 4: FPGA System Development

JVMs and JVMs and Runtime Runtime ProfilingProfiling

Colin OrsborneColin Orsborne

Page 5: FPGA System Development

Intro Into a JVMIntro Into a JVM

Extract bytecodes Extract bytecodes

Two JVM CandidatesTwo JVM Candidates Jikes RVMJikes RVM

In Java, Larger, good documentationIn Java, Larger, good documentation jamVMjamVM

In C, small, poor documentationIn C, small, poor documentation

Page 6: FPGA System Development

ProfilingProfiling

Value ProfilingValue Profiling

Temporal ProfilingTemporal Profiling

Jikes RVM Profiling InfrastructureJikes RVM Profiling Infrastructure Instrumented event counter at runtimeInstrumented event counter at runtime OverheadOverhead

Page 7: FPGA System Development

ConclusionConclusion

Two Virtual Two Virtual Machine Machine Candidates: Candidates: Jikes RVM and Jikes RVM and

jamVMjamVM

ProfilingProfiling TemporalTemporal ValueValue

GoalsGoals Selected bytecodes Selected bytecodes

for execution on for execution on FPGAFPGA

select time select time consuming methods consuming methods for future execution for future execution on FPGAon FPGA

Modified RVM or Modified RVM or JamVMJamVM

Page 8: FPGA System Development

Questions and Questions and Answers?Answers?