• DocumentCode
    2141024
  • Title

    FPGA-aware garbage collection in Java

  • Author

    Faes, Philippe ; Christiaens, Mark ; Buytaert, Dries ; Strooband, D.

  • Author_Institution
    Dept. of Electron. & Inf. Syst., Ghent Univ., Belgium
  • fYear
    2005
  • fDate
    24-26 Aug. 2005
  • Firstpage
    675
  • Lastpage
    680
  • Abstract
    During codesign of a system, one still runs into the impedance mismatch between the software and hardware worlds. This paper identifies the different levels of abstraction of hardware and software as a major culprit of this mismatch. For example, when programming in high-level object-oriented languages like Java, one has disposal of objects, methods, memory management, that facilitates development but these have to be largely abandoned when moving the same functionality into hardware. As a solution, this paper presents a virtual machine, based on the Jikes Research Virtual Machine, that is able to bridge the gap by providing the same capabilities to hardware components as to software components. This seamless integration is achieved by introducing an architecture and protocol that allow reconfigurable hardware and software to communicate with each other in a transparent manner i.e. no component of the design needs to be aware whether other components are implemented in hardware or in software. Further, in this paper we present a novel technique that allows reconfigurable hardware to manage dynamically allocated memory. This is achieved by allowing the hardware to hold references to objects and by modifying the garbage collector of the virtual machine to be aware of these references in hardware. We present benchmark results that show, for four different, well-known garbage collectors and for a wide range of applications, that a hardware-aware garbage collector results in a marginal overhead and is therefore a worthwhile addition to the developer´s toolbox.
  • Keywords
    Java; field programmable gate arrays; hardware-software codesign; storage management; FPGA-aware garbage collection; Java; abstraction levels; high-level object-oriented languages; impedance mismatch; reconfigurable hardware; system codesign; virtual machine; Bridges; Computer architecture; Functional programming; Hardware; Impedance; Java; Memory management; Object oriented programming; Virtual machining; Waste management;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Field Programmable Logic and Applications, 2005. International Conference on
  • Print_ISBN
    0-7803-9362-7
  • Type

    conf

  • DOI
    10.1109/FPL.2005.1515811
  • Filename
    1515811