How can adaptation in cloud computing be coordinated among decentralized adaptation components?

CoAdapt: Coordinated Adaptation in Cloud Computing

The goal

  • To apply the distributed constraint optimization framework (DCOP) to dynamic scaling in Kubernetes.
  • To experimentally evaluate the developed technique in a real cloud setting

What students learn

  • To use Kubernetes for managing complex cloud applications.
  • To engineer adaptive behavior to cope with runtime challenges.
  • To apply state-of-the-art optimization algorithms and tools.
  • To effectively collaborate and work in teams.
  • To successfully write and present technical documents.

Cloud computing offers compelling advantages for deploying and running software. Advantages include the instantaneous access to seemingly infinite computing resources without the need for installing and maintaining costly IT equipment. However, the cloud is a complex and highly dynamic environment. For example, the active user base of cloud services is continuously changing, and so is the intensity with which cloud users use the services. Moreover, the requirements of users are always evolving, requiring new services, the upgrade of old services, or the removal of deprecated ones. To adapt to such kind of changes, cloud services must dynamically scale in or out by replicating (or discarding) software components cloud servers.

With the increasing scale of modern cloud systems, more and more companies use Kubernetes [1] to dynamically adapt their cloud systems at runtime. Kubernetes is an open-source solution introduced by Google. Kubernetes facilitates managing, deploying, scheduling, and scaling applications on large-scale cloud computing clusters.

Kubernetes works in a centralized way, which means that adaptation decisions are taken by a central adaptation component. Such a centralized adaptation component has many shortcomings: it exhibits a single point of failure, it leads to performance issues in the case of large-scale systems, and it assumes total visibility and control over system components.

The overall goal of this PG is to enhance Kubernetes to support decentralized adaptation. In particular, this requires coordinating the decentralized adaptation components. The PG explores a promising new direction to facilitate coordination: the distributed constraint optimization framework (DCOP) [2]. DCOP is a formal, model-based approach from the field of multi-agent systems, where agents employ joint decision-making to find optimal solution to complex coordination problems.

[1] https://kubernetes.io

[2 ] Fioretto, F., Pontelli, E., & Yeoh, W. (2018). Distributed constraint optimization problems and applications: A survey. Journal of Artificial Intelligence Research, 61, 623-698.

Other info

Anmeldung Master-Projektgruppe

Die Anmeldephase für die Projektgruppen des Sommersemesters 2024 startet Anfang Januar 2024. Die Anmeldung läuft zentral über die Abteilung Software Engineering der Fakultät für Informatik. Weitere Infos folgen in Kürze.