Jaguar: A compiler infrastructure for Java reconfigurable computing

Youngsun Han, Seon Wook Kim, Chulwoo Kim

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

In this paper, we present our compiler infrastructure, called Jaguar for Java reconfigurable computing. The Jaguar compiler translates compiled Java methods, i.e. sequence of bytecodes into Verilog synthesizable code modules with exploiting the maximum operational parallelism within applications. Our compiler infrastructure consists of two major components. One is a compiler to generate synthesizable Verilog codes from Java applications, which performs full compilation passes, such as bytecode parsing, intermediate representation (IR) construction, program analysis, optimization, and code emission. The other component is the Java Virtual Machine (JVM) which provides Java execution environment to the generated Verilog modules. The JVM closely interacts with hardware during the execution through an interrupt method. We discuss the performance issues and code transformation techniques to reduce the interaction overhead in our Java reconfigurable computing environment.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Pages386-397
Number of pages12
Volume3820 LNCS
Publication statusPublished - 2005 Dec 1
Event2nd International Conference on Embedded Software and Systems, ICESS 2005 - Xi'an, China
Duration: 2005 Dec 162005 Dec 18

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3820 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Other

Other2nd International Conference on Embedded Software and Systems, ICESS 2005
CountryChina
CityXi'an
Period05/12/1605/12/18

Fingerprint

Reconfigurable Computing
Computer hardware description languages
Compiler
Java
Infrastructure
Java Virtual Machine
Computer hardware
Module
Program Analysis
Parsing
Compilation
Parallelism
Hardware
Optimization
Interaction
Virtual machine

Keywords

  • Compiler
  • FPGA
  • Java
  • Reconfigurable computing
  • Verilog

ASJC Scopus subject areas

  • Computer Science(all)
  • Biochemistry, Genetics and Molecular Biology(all)
  • Theoretical Computer Science

Cite this

Han, Y., Kim, S. W., & Kim, C. (2005). Jaguar: A compiler infrastructure for Java reconfigurable computing. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3820 LNCS, pp. 386-397). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 3820 LNCS).

Jaguar : A compiler infrastructure for Java reconfigurable computing. / Han, Youngsun; Kim, Seon Wook; Kim, Chulwoo.

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 3820 LNCS 2005. p. 386-397 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 3820 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Han, Y, Kim, SW & Kim, C 2005, Jaguar: A compiler infrastructure for Java reconfigurable computing. in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). vol. 3820 LNCS, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 3820 LNCS, pp. 386-397, 2nd International Conference on Embedded Software and Systems, ICESS 2005, Xi'an, China, 05/12/16.
Han Y, Kim SW, Kim C. Jaguar: A compiler infrastructure for Java reconfigurable computing. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 3820 LNCS. 2005. p. 386-397. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
Han, Youngsun ; Kim, Seon Wook ; Kim, Chulwoo. / Jaguar : A compiler infrastructure for Java reconfigurable computing. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 3820 LNCS 2005. pp. 386-397 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{f277d234286343dfbdbc43448621fe3c,
title = "Jaguar: A compiler infrastructure for Java reconfigurable computing",
abstract = "In this paper, we present our compiler infrastructure, called Jaguar for Java reconfigurable computing. The Jaguar compiler translates compiled Java methods, i.e. sequence of bytecodes into Verilog synthesizable code modules with exploiting the maximum operational parallelism within applications. Our compiler infrastructure consists of two major components. One is a compiler to generate synthesizable Verilog codes from Java applications, which performs full compilation passes, such as bytecode parsing, intermediate representation (IR) construction, program analysis, optimization, and code emission. The other component is the Java Virtual Machine (JVM) which provides Java execution environment to the generated Verilog modules. The JVM closely interacts with hardware during the execution through an interrupt method. We discuss the performance issues and code transformation techniques to reduce the interaction overhead in our Java reconfigurable computing environment.",
keywords = "Compiler, FPGA, Java, Reconfigurable computing, Verilog",
author = "Youngsun Han and Kim, {Seon Wook} and Chulwoo Kim",
year = "2005",
month = "12",
day = "1",
language = "English",
isbn = "3540308814",
volume = "3820 LNCS",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
pages = "386--397",
booktitle = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",

}

TY - GEN

T1 - Jaguar

T2 - A compiler infrastructure for Java reconfigurable computing

AU - Han, Youngsun

AU - Kim, Seon Wook

AU - Kim, Chulwoo

PY - 2005/12/1

Y1 - 2005/12/1

N2 - In this paper, we present our compiler infrastructure, called Jaguar for Java reconfigurable computing. The Jaguar compiler translates compiled Java methods, i.e. sequence of bytecodes into Verilog synthesizable code modules with exploiting the maximum operational parallelism within applications. Our compiler infrastructure consists of two major components. One is a compiler to generate synthesizable Verilog codes from Java applications, which performs full compilation passes, such as bytecode parsing, intermediate representation (IR) construction, program analysis, optimization, and code emission. The other component is the Java Virtual Machine (JVM) which provides Java execution environment to the generated Verilog modules. The JVM closely interacts with hardware during the execution through an interrupt method. We discuss the performance issues and code transformation techniques to reduce the interaction overhead in our Java reconfigurable computing environment.

AB - In this paper, we present our compiler infrastructure, called Jaguar for Java reconfigurable computing. The Jaguar compiler translates compiled Java methods, i.e. sequence of bytecodes into Verilog synthesizable code modules with exploiting the maximum operational parallelism within applications. Our compiler infrastructure consists of two major components. One is a compiler to generate synthesizable Verilog codes from Java applications, which performs full compilation passes, such as bytecode parsing, intermediate representation (IR) construction, program analysis, optimization, and code emission. The other component is the Java Virtual Machine (JVM) which provides Java execution environment to the generated Verilog modules. The JVM closely interacts with hardware during the execution through an interrupt method. We discuss the performance issues and code transformation techniques to reduce the interaction overhead in our Java reconfigurable computing environment.

KW - Compiler

KW - FPGA

KW - Java

KW - Reconfigurable computing

KW - Verilog

UR - http://www.scopus.com/inward/record.url?scp=33744903671&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=33744903671&partnerID=8YFLogxK

M3 - Conference contribution

AN - SCOPUS:33744903671

SN - 3540308814

SN - 9783540308812

VL - 3820 LNCS

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 386

EP - 397

BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

ER -