Considerations for integrating virtual threads in a Java framework: a Quarkus example in a resource-constrained environment - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2023

Considerations for integrating virtual threads in a Java framework: a Quarkus example in a resource-constrained environment

Julien Ponge
  • Fonction : Auteur
  • PersonId : 1115357
Clément Escoffier
  • Fonction : Auteur
  • PersonId : 940241

Résumé

Virtual threads are a highly anticipated feature in the Java world, aiming at improving resource efficiency in the JVM for I/O intensive operations while simplifying developer experience. This feature keeps the traditional thread abstraction and makes it compatible with most of the existing Java applications, allowing developers preferring synchronous imperative abstractions to benefit from better performance without switching to asynchronous and reactive programming models. However, limitations currently hinder the usability of virtual threads. These limitations must be considered when building a piece of software around virtual threads for they might have non-trivial effects. This paper (i) discusses the different strategies envisioned to leverage virtual threads in the Quarkus framework, (ii) gives an overview of the final implementation, (iii) presents the benchmark used to characterize the benefits of using virtual threads in a typical container environment where resources are scarce compared to using Quarkus with traditional thread pools and Quarkus with reactive libraries ; (iv) results are interpreted and discussed. Our study reveals that the integration of virtual threads in Quarkus doesn't perform as well as Quarkus-reactive. This seems to be due to a mismatch between the core hypothesis of Netty and virtual threads regarding the amount of threads available.
Fichier principal
Vignette du fichier
debs23industry-final36.pdf (601.43 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04112339 , version 1 (31-05-2023)

Identifiants

Citer

Arthur Navarro, Julien Ponge, Frédéric Le Mouël, Clément Escoffier. Considerations for integrating virtual threads in a Java framework: a Quarkus example in a resource-constrained environment. DEBS'2023 - 17TH ACM International Conference on Distributed and Event-Based Systems, University of Neuchâtel, Jun 2023, Neuchatel, Switzerland. ⟨10.1145/3583678.3596895⟩. ⟨hal-04112339⟩
218 Consultations
1285 Téléchargements

Altmetric

Partager

More