Tell Me When You Are Sleepy and What May Wake You Up!

Djob Mvondo, Antonio Barbalace, Alain Tchana, Gilles Muller

Research output: Chapter in Book/Report/Conference proceedingChapter

Abstract

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.
Original languageEnglish
Title of host publicationProceedings of the ACM Symposium on Cloud Computing
Place of PublicationNew York, NY, USA
PublisherACM Association for Computing Machinery
Pages562–569
Number of pages8
ISBN (Electronic)9781450386388
DOIs
Publication statusPublished - 1 Nov 2021
EventACM Symposium on Cloud Computing 2021 - Seattle, United States
Duration: 1 Nov 20214 Nov 2021
Conference number: 12
http://acmsocc.org/2021/

Symposium

SymposiumACM Symposium on Cloud Computing 2021
Abbreviated titleSoCC'21
Country/TerritoryUnited States
CitySeattle
Period1/11/214/11/21
Internet address

Fingerprint

Dive into the research topics of 'Tell Me When You Are Sleepy and What May Wake You Up!'. Together they form a unique fingerprint.

Cite this