With the diffusion of Fog and Edge Computing paradigms, new application categories have emerged with specific quality of service requirements, in terms of communication latency and throughput. The placement of these applications on distributed Cloud-Edge environments is a challenging task, because of the continuously varying node-to-node network latency and bandwidth on Edge infrastructure. Although Kubernetes is the de-facto standard for container orchestration on Cloud data centers, its scheduling strategy is not suitable for the placement of time critical applications on Edge environments because it does not take into account current network conditions, neither communication requirements between microservices during its scheduling decisions. In this work we propose a network-aware scheduler plugin that extends the default Kubernetes scheduler, in order to deal with variable network conditions on cloud-edge clusters and run-time communication requirements of microservices. A custom descheduler is also proposed that periodically monitors run-time network state and traffic exchanged between microservices and evicts Pods from cluster nodes if better placement decisions can be done. An evaluation of our scheduling and descheduling strategies has been carried out on a sample microservices-based application deployed on a test bed environment.

Network-Aware Container Placement in Cloud-Edge Kubernetes Clusters

Marchese A.;Tomarchio O.
2022

Abstract

With the diffusion of Fog and Edge Computing paradigms, new application categories have emerged with specific quality of service requirements, in terms of communication latency and throughput. The placement of these applications on distributed Cloud-Edge environments is a challenging task, because of the continuously varying node-to-node network latency and bandwidth on Edge infrastructure. Although Kubernetes is the de-facto standard for container orchestration on Cloud data centers, its scheduling strategy is not suitable for the placement of time critical applications on Edge environments because it does not take into account current network conditions, neither communication requirements between microservices during its scheduling decisions. In this work we propose a network-aware scheduler plugin that extends the default Kubernetes scheduler, in order to deal with variable network conditions on cloud-edge clusters and run-time communication requirements of microservices. A custom descheduler is also proposed that periodically monitors run-time network state and traffic exchanged between microservices and evicts Pods from cluster nodes if better placement decisions can be done. An evaluation of our scheduling and descheduling strategies has been carried out on a sample microservices-based application deployed on a test bed environment.
978-1-6654-9956-9
cloud-edge computing
Cluster metrics
Container placement
Kubernetes descheduler
Kubernetes scheduler
Network monitoring
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11769/542226
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? 0
social impact