Co-managing software and hardware modules through the juggle middleware

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

External Research Organisations

  • IBM Austin Research Laboratory
  • ETH Zurich
View graph of relations

Details

Original languageEnglish
Title of host publicationMiddleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings
Pages431-450
Number of pages20
Volume7049 LNCS
Publication statusPublished - 2011
Externally publishedYes
Event12th ACM/IFIP/USENIX International Middleware Conference, Middleware 2011 - , Portugal
Duration: 12 Dec 201116 Dec 2011

Abstract

Reprogrammable hardware like Field-Programmable Gate Arrays (FPGAs) is becoming increasingly powerful and affordable. Modern FPGA chips can be reprogrammed at runtime and with low latency which makes them attractive to be used as a dynamic resource in systems. For instance, on mobile devices FPGAs can help to accelerate the performance of critical tasks and at the same time increase the energy-efficiency of the device. The integration of FPGA resources into commodity software, however, is a highly involved task. On the one hand, there is an impedance mismatch between the hardware description languages in which FPGAs are programmed and the high-level languages in which many mobile applications are nowadays developed. On the other hand, the FPGA is a limited and shared resource and as such requires explicit resource management. In this paper, we present the Juggle middleware which leverages the ideas of modularity and service-orientation to facilitate a seamless exchange of hardware and software implementations at runtime. Juggle is built around the well-established OSGi standard for software modules in Java and extends it with support for services implemented in reprogrammable hardware, thereby leveraging the same level of management for both worlds. We show that hardware-accelerated services implemented with Juggle can help to increase the performance of applications and reduce power consumption on mobile devices without requiring any changes to existing program code.

Keywords

    FPGA, Hardware Acceleration, OSGi, SDG 7 - Affordable and Clean Energy

Sustainable Development Goals

Cite this

Co-managing software and hardware modules through the juggle middleware. / Rellermeyer, Jan; Küpfer, Ramon.
Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings. Vol. 7049 LNCS 2011. p. 431-450.

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Rellermeyer, J & Küpfer, R 2011, Co-managing software and hardware modules through the juggle middleware. in Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings. vol. 7049 LNCS, pp. 431-450, 12th ACM/IFIP/USENIX International Middleware Conference, Middleware 2011, Portugal, 12 Dec 2011. https://doi.org/10.1007/978-3-642-25821-3_22
Rellermeyer, J., & Küpfer, R. (2011). Co-managing software and hardware modules through the juggle middleware. In Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings (Vol. 7049 LNCS, pp. 431-450) https://doi.org/10.1007/978-3-642-25821-3_22
Rellermeyer J, Küpfer R. Co-managing software and hardware modules through the juggle middleware. In Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings. Vol. 7049 LNCS. 2011. p. 431-450 doi: 10.1007/978-3-642-25821-3_22
Rellermeyer, Jan ; Küpfer, Ramon. / Co-managing software and hardware modules through the juggle middleware. Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings. Vol. 7049 LNCS 2011. pp. 431-450
Download
@inproceedings{d1d13c9de0c7421bad0d6fea07966366,
title = "Co-managing software and hardware modules through the juggle middleware",
abstract = "Reprogrammable hardware like Field-Programmable Gate Arrays (FPGAs) is becoming increasingly powerful and affordable. Modern FPGA chips can be reprogrammed at runtime and with low latency which makes them attractive to be used as a dynamic resource in systems. For instance, on mobile devices FPGAs can help to accelerate the performance of critical tasks and at the same time increase the energy-efficiency of the device. The integration of FPGA resources into commodity software, however, is a highly involved task. On the one hand, there is an impedance mismatch between the hardware description languages in which FPGAs are programmed and the high-level languages in which many mobile applications are nowadays developed. On the other hand, the FPGA is a limited and shared resource and as such requires explicit resource management. In this paper, we present the Juggle middleware which leverages the ideas of modularity and service-orientation to facilitate a seamless exchange of hardware and software implementations at runtime. Juggle is built around the well-established OSGi standard for software modules in Java and extends it with support for services implemented in reprogrammable hardware, thereby leveraging the same level of management for both worlds. We show that hardware-accelerated services implemented with Juggle can help to increase the performance of applications and reduce power consumption on mobile devices without requiring any changes to existing program code.",
keywords = "FPGA, Hardware Acceleration, OSGi, SDG 7 - Affordable and Clean Energy",
author = "Jan Rellermeyer and Ramon K{\"u}pfer",
year = "2011",
doi = "10.1007/978-3-642-25821-3_22",
language = "English",
isbn = "9783642258206",
volume = "7049 LNCS",
pages = "431--450",
booktitle = "Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings",
note = "12th ACM/IFIP/USENIX International Middleware Conference, Middleware 2011 ; Conference date: 12-12-2011 Through 16-12-2011",

}

Download

TY - GEN

T1 - Co-managing software and hardware modules through the juggle middleware

AU - Rellermeyer, Jan

AU - Küpfer, Ramon

PY - 2011

Y1 - 2011

N2 - Reprogrammable hardware like Field-Programmable Gate Arrays (FPGAs) is becoming increasingly powerful and affordable. Modern FPGA chips can be reprogrammed at runtime and with low latency which makes them attractive to be used as a dynamic resource in systems. For instance, on mobile devices FPGAs can help to accelerate the performance of critical tasks and at the same time increase the energy-efficiency of the device. The integration of FPGA resources into commodity software, however, is a highly involved task. On the one hand, there is an impedance mismatch between the hardware description languages in which FPGAs are programmed and the high-level languages in which many mobile applications are nowadays developed. On the other hand, the FPGA is a limited and shared resource and as such requires explicit resource management. In this paper, we present the Juggle middleware which leverages the ideas of modularity and service-orientation to facilitate a seamless exchange of hardware and software implementations at runtime. Juggle is built around the well-established OSGi standard for software modules in Java and extends it with support for services implemented in reprogrammable hardware, thereby leveraging the same level of management for both worlds. We show that hardware-accelerated services implemented with Juggle can help to increase the performance of applications and reduce power consumption on mobile devices without requiring any changes to existing program code.

AB - Reprogrammable hardware like Field-Programmable Gate Arrays (FPGAs) is becoming increasingly powerful and affordable. Modern FPGA chips can be reprogrammed at runtime and with low latency which makes them attractive to be used as a dynamic resource in systems. For instance, on mobile devices FPGAs can help to accelerate the performance of critical tasks and at the same time increase the energy-efficiency of the device. The integration of FPGA resources into commodity software, however, is a highly involved task. On the one hand, there is an impedance mismatch between the hardware description languages in which FPGAs are programmed and the high-level languages in which many mobile applications are nowadays developed. On the other hand, the FPGA is a limited and shared resource and as such requires explicit resource management. In this paper, we present the Juggle middleware which leverages the ideas of modularity and service-orientation to facilitate a seamless exchange of hardware and software implementations at runtime. Juggle is built around the well-established OSGi standard for software modules in Java and extends it with support for services implemented in reprogrammable hardware, thereby leveraging the same level of management for both worlds. We show that hardware-accelerated services implemented with Juggle can help to increase the performance of applications and reduce power consumption on mobile devices without requiring any changes to existing program code.

KW - FPGA

KW - Hardware Acceleration

KW - OSGi

KW - SDG 7 - Affordable and Clean Energy

U2 - 10.1007/978-3-642-25821-3_22

DO - 10.1007/978-3-642-25821-3_22

M3 - Conference contribution

SN - 9783642258206

VL - 7049 LNCS

SP - 431

EP - 450

BT - Middleware 2011 - ACM/IFIP/USENIX 12th International Middleware Conference, Proceedings

T2 - 12th ACM/IFIP/USENIX International Middleware Conference, Middleware 2011

Y2 - 12 December 2011 through 16 December 2011

ER -

By the same author(s)