Journal of Signal Processing Systems

, Volume 77, Issue 1, pp 95–115

Hardware Acceleration of Red-Black Tree Management and Application to Just-In-Time Compilation

  • Alexandre Carbon
  • Yves Lhuillier
  • Henri-Pierre Charles
Article

DOI: 10.1007/s11265-014-0902-3

Cite this article as:
Carbon, A., Lhuillier, Y. & Charles, HP. J Sign Process Syst (2014) 77: 95. doi:10.1007/s11265-014-0902-3
  • 217 Downloads

Abstract

Due to the everlasting consumer demand for more complex applications, embedded systems have evolved both in terms of complexity and heterogeneity. The architecture of such systems often includes several kinds of different computing resources (DSPs, GPUs, etc.). As a consequence, software designers are facing significant performance and portability issues to target these devices. Software relies more and more on virtualization technologies to maximize portability of applications. In order to balance portability and performance, most virtualization technologies leverage Just-in-time (JIT) compilation to provide runtime optimized code from portable one. Nevertheless, the efficiency of JIT compilation depends on the ability to compensate its overhead with execution speedups of generated code. While most research efforts focus on limiting overhead of JIT compilation phases by reducing their occurrences, this paper investigates opportunities of speeding up JIT compilation itself. We first present a performance analysis of different JIT compilation technologies in order to identify hardware and software optimization opportunities. Second, we propose a solution based on a dedicated processor with specialized instructions for critical functions of JIT compilers. These specialized instructions provide an average 5× speedup on manipulations of associative arrays and dynamic memory allocation. Based on the LLVM framework, we show a 15% overall speedup on code generator’s execution time. Because our specialized instructions are hidden behind standard libraries, we also argue that these instructions may be transparently reused for a wider range of applications.

Keywords

Hardware acceleration Red-Black trees Associative arrays JIT compilation Virtualization Embedded systems 

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Alexandre Carbon
    • 1
  • Yves Lhuillier
    • 1
  • Henri-Pierre Charles
    • 2
    • 3
  1. 1.CEA, LISTEmbedded Computing LaboratoryGif-sur-YvetteFrance
  2. 2.Univ. Grenoble AlpesGrenobleFrance
  3. 3.CEA, LISTMINATEC CampusGrenobleFrance

Personalised recommendations