A Light-Weight Approach to Dynamical Runtime Linking Supporting Heterogenous, Parallel, and Reconfigurable Architectures

  • Authors:
  • Rainer Buchty;David Kramer;Mario Kicherer;Wolfgang Karl

  • Affiliations:
  • Institut für Technische Informatik, Lehrstuhl für Rechnerarchitektur, Universität Karlsruhe (TH), Karlsruhe, Germany 76128;Institut für Technische Informatik, Lehrstuhl für Rechnerarchitektur, Universität Karlsruhe (TH), Karlsruhe, Germany 76128;Institut für Technische Informatik, Lehrstuhl für Rechnerarchitektur, Universität Karlsruhe (TH), Karlsruhe, Germany 76128;Institut für Technische Informatik, Lehrstuhl für Rechnerarchitektur, Universität Karlsruhe (TH), Karlsruhe, Germany 76128

  • Venue:
  • ARCS '09 Proceedings of the 22nd International Conference on Architecture of Computing Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

When targeting hardware accelerators and reconfigurable processing units, the question of programmability arises, i.e. how different implementations of individual, configuration-specific functions are provided. Conventionally, this is resolved either at compilation time with a specific hardware environment being targeted, by initialization routines at program start, or decision trees at run-time. Such technique are, however, hardly applicable to dynamically changing architectures. Furthermore, these approaches show conceptual drawbacks such as requiring access to source code and requiring upfront knowledge of future system configurations, as well as overloading the code with reconfiguration-related control routines. We therefore present a low-overhead technique enabling on-demand resolving of individual functions; this technique can be applied in two different manners; we will discuss the benefits of the individual implementations and show how both approaches can be used to establish code compatibility between different heterogeneous, reconfigurable, and parallel architectures. Further we will show, that both approaches are exposing an insignificant overhead.