Tell me when you are sleepy and what may wake you up! - Archive ouverte HAL
Communication Dans Un Congrès Année : 2021

Tell me when you are sleepy and what may wake you up!

Résumé

Nowadays, there is a shift in the deployment model of Cloud and Edge applications. Applications are now deployed as a set of several small units communicating with each other - the microservice model. Moreover, each unit - a microservice, may be implemented as a virtual machine, container, function, etc., spanning the different Cloud and Edge service models including IaaS, PaaS, FaaS. A microservice is instantiated upon the reception of a request (e.g., an http packet or a trigger), and a rack-level or data-center-level scheduler decides the placement for such unit of execution considering for example data locality and load balancing. With such a configuration, it is common to encounter scenarios where different units, as well as multiple instances of the same unit, may be running on a single server at the same time. When multiple microservices are running on the same server not necessarily all of them are doing actual processing, some may be busy-waiting - i.e., waiting for events (or requests) sent by other units. However, these "idle" units are consuming CPU time which could be used by other running units or cloud utility functions on the server (e.g., monitoring daemons). In a controlled experiment, we observe that units can spend up to 20% - 55% of their CPU time waiting, thus a great amount of CPU time is wasted; these values significantly grow when overcommitting CPU resources (i.e., units CPU reservations exceed server CPU capacity), where we observe up to 69% - 75%. This is a result of the lack of information/context about what is running in each unit from the server CPU scheduler perspective. In this paper, we first provide evidence of the problem and discuss several research questions. Then, we propose an handful of solutions worth exploring that consists in revisiting hypervisor and host OS scheduler designs to reduce the CPU time wasted on idle units. Our proposal leverages the concepts of informed scheduling, and monitoring for internal and external events. Based on the aforementioned solutions, we propose our initial implementation on Linux/KVM.
Fichier principal
Vignette du fichier
SOCC_21_camera_ready.pdf (539.27 Ko) Télécharger le fichier

Dates et versions

hal-03503825 , version 1 (03-01-2022)

Identifiants

Citer

Djob Mvondo, Antonio Barbalace, Alain Tchana, Gilles Muller. Tell me when you are sleepy and what may wake you up!. SoCC 2021 - ACM Symposium on Cloud Computing, Nov 2021, Seattle WA USA, United States. pp.562-569, ⟨10.1145/3472883.3487013⟩. ⟨hal-03503825⟩
125 Consultations
216 Téléchargements

Altmetric

Partager

More