DocumentCode :
3253843
Title :
Implementing parallel algorithms on an FPGA directly from multithreaded Java using flowpaths
Author :
DuChene, Michael ; Hanna, Darrin M.
Author_Institution :
CSE Dept., Oakland Univ., Rochester, MI
fYear :
2005
fDate :
7-10 Aug. 2005
Firstpage :
980
Abstract :
The performance of software executed on a microprocessor is adversely affected by the basic fetch execute cycle. A further performance penalty results from the load-execute-store paradigm associated with the use of local variables in most high level languages. Implementing the software algorithm directly in hardware such as on an FPGA can alleviate these performance penalties. Such implementations are normally developed in a hardware description language such as VHDL or Verilog. More recently, several methods for using C as a hardware description language and for compiling C programs to hardware have been researched with challenges in multithreading. Previous work shows how a new systems architecture for FPGAs, called flowpaths, can implement Java byte codes directly in an FPGA without the need for a microprocessor core. Results show that flowpaths perform within a factor of 2 of a minimal hand-crafted direct hardware implementation and orders of magnitude better than compiling the program to a microprocessor. This paper describes a method to extend the flowpath architecture to generate hardware directly from Java byte codes representing Java threads. This hardware executes multiple tasks in parallel supporting both synchronized and unsynchronized shared memory access. A producer/consumer example is implemented on a Xilinx Spartan IIE FPGA
Keywords :
C language; Java; data flow computing; field programmable gate arrays; hardware description languages; multi-threading; parallel algorithms; FPGA system architecture; Java byte code thread; VHDL; Verilog; Xilinx Spartan IIE FPGA; fetch execute cycle; field programmable gate array; flowpath architecture; hardware description language; high level language; microprocessor core; multithreading; parallel software algorithm; shared memory access; software performance penalty; Field programmable gate arrays; Hardware design languages; High level languages; Java; Microprocessors; Multithreading; Parallel algorithms; Software algorithms; Software performance; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Circuits and Systems, 2005. 48th Midwest Symposium on
Conference_Location :
Covington, KY
Print_ISBN :
0-7803-9197-7
Type :
conf
DOI :
10.1109/MWSCAS.2005.1594267
Filename :
1594267
Link To Document :
بازگشت