title: Utility-based Allocation of Resources to Virtual Machines in Cloud Computing
title: Nutzenbasierte Ressourcenallokation für virtuelle Maschinen im Cloud Computing
Creators: name: Minarolli, Dorian
Publisher: name: Philipps-Universität Marburg
Year: 2014
Subjects: Virtualisierung
Ressource Allocation
Virtualization
Ressourcenallokation
Cloud Computing
Machine Learning
Maschinelles Lernen
Informatik

description: In recent years, cloud computing
      has gained a wide spread use as a new computing model that
      offers elastic resources on demand, in a pay-as-you-go
      fashion. One important goal of a cloud provider is dynamic
      allocation of Virtual Machines (VMs) according to workload
      changes in order to keep application performance to Service
      Level Agreement (SLA) levels, while reducing resource costs.
      The problem is to find an adequate trade-off between the two
      conflicting objectives of application performance and
      resource costs. In this dissertation, resource allocation
      solutions for this trade-off are proposed by expressing
      application performance and resource costs in a utility
      function. The proposed solutions allocate VM resources at the
      global data center level and at the local physical machine
      level by optimizing the utility function. The utility
      function, given as the difference between performance and
      costs, represents the profit of the cloud provider and offers
      the possibility to capture in a flexible and natural way the
      performance-cost trade-off. For global level resource
      allocation, a two-tier resource management solution is
      developed. In the first tier, local node controllers are
      located that dynamically allocate resource shares to VMs, so
      to maximize a local node utility function. In the second
      tier, there is a global controller that makes VM live
      migration decisions in order to maximize a global utility
      function. Experimental results show that optimizing the
      global utility function by changing the number of physical
      nodes according to workload maintains the performance at
      acceptable levels while reducing costs. To allocate multiple
      resources at the local physical machine level, a solution
      based on feed-back control theory and utility function
      optimization is proposed. This dynamically allocates shares
      to multiple resources of VMs such as CPU, memory, disk and
      network I/O bandwidth. In addressing the complex
      non-linearities that exist in shared virtualized
      infrastructures between VM performance and resource
      allocations, a solution is proposed that allocates VM
      resources to optimize a utility function based on application
      performance and power modelling. An Artificial Neural Network
      (ANN) is used to build an on- line model of the relationships
      between VM resource allocations and application performance,
      and another one between VM resource allocations and physical
      machine power. To cope with large utility optimization times
      in the case of an increased number of VMs, a distributed
      resource manager is proposed. It consists of several ANNs,
      each responsible for modelling and resource allocation of one
      VM, while exchanging information with other ANNs for
      coordinating resource allocations. Experiments, in simulated
      and realistic environments, show that the distributed ANN
      resource manager achieves better performance-power trade-offs
      than a centralized version and a distributed non-coordinated
      resource manager. To deal with the difficulty of building an
      accurate online application model and long model adaptation
      time, a solution that offers model-free resource management
      based on fuzzy control is proposed. It optimizes a utility
      function based on a hill-climbing search heuristic
      implemented as fuzzy rules. To cope with long utility
      optimization time in the case of an increased number of VMs,
      a multi-agent fuzzy controller is developed where each agent,
      in parallel with others, optimizes its own local utility
      function. The fuzzy control approach eliminates the need to
      build a model beforehand and provides a robust solution even
      for noisy measurements. Experimental results show that the
      multi-agent fuzzy controller performs better in terms of
      utility value than a centralized fuzzy control version and a
      state-of-the-art adaptive optimal control approach,
      especially for an increased number of VMs. Finally, to
      address some of the problems of reactive VM resource
      allocation approaches, a proactive resource allocation
      solution is proposed. This approach decides on VM resource
      allocations based on resource demand prediction, using a
      machine learning technique called Support Vector Machine
      (SVM). To deal with interdependencies between VMs of the same
      multi-tier application, cross- correlation demand prediction
      of multiple resource usage time series of all VMs of the
      multi-tier application is applied. As experiments show, this
      results in improved prediction accuracy and application
      performance.
description: In den letzten Jahren hat Cloud
      Computing eine hohe Popularität als neues
      Informationsverarbeitungsmodell erreicht, in dem Ressourcen
      elastisch nach Bedarf in einem pay-as-you-go Modus genutzt
      werden können. Ein wichtiges Ziel eines Cloud-Anbieters ist
      die dynamische Zuweisung von Ressourcen zu Virtuellen
      Maschinen (VMs) aufgrund der aktuellen Auslastung, um die
      Per- formanz von Anwendungen auf einem vereinbarten
      Service-Level-Agreement (SLA) Niveau zu halten, bei
      gleichzeitiger Reduktion der Kosten von Ressourcen. Das
      Problem besteht darin, einen adäquaten Kompromiss zwischen
      den beiden gegensätzlichen Zielen der Performanz von
      Anwendungen und den Kosten von Ressourcen zu finden. In
      dieser Dissertation werden Ansätze für die Erzielung eines
      solchen Kompromisses vorgestellt, die auf der Verwendung
      einer Nutzenfunktion für Performanz und Kosten basieren. Die
      vorgeschlagenen Lösungen allokieren Ressourcen zu VMs auf
      globaler Ebene eines Rechenzentrums und der lokalen Ebene
      realer Maschinen anhand der Optimierung der Nutzenfunktion.
      Die Nutzenfunktion, gegeben als Differenz zwischen Performanz
      und Kosten, repräsentiert den Profit des Cloud-Anbieters und
      bietet die Möglichkeit, den Performanz-Kosten Kompromiss in
      einer flexiblen und natürlichen Weise auszudrücken. Für die
      globale Ebene wird eine zweistufige Zuteilungsstrategie der
      Ressourcen vorgestellt. In der ersten Stufe weisen
      Steuerungsinstanzen in den lokalen Rechnern dynamisch
      Ressourcen-Anteile an die VMs zu, um eine lokale
      Nutzenfunktion zu maximieren. In der zweiten Stufe gibt es
      eine globale Steuerungsinstanz, die VM Live-Migration zur
      Optimierung einer globalen Nutzenfunktion durchführt.
      Experimentelle Ergebnisse zeigen, dass die Optimierung der
      globalen Nutzenfunktion durch Änderung der Anzahl der realen
      Rechner aufgrund der Auslastung die Performanz von
      Anwendungen auf einem akzeptablen Niveau hält, bei
      gleichzeitiger Senkung der Kosten von Ressourcen. Um mehrere
      Ressourcen auf lokaler Ebene zuzuteilen, wird ein Ansatz auf
      Grundlage der Rückkopplungssteuerungstheorie und der
      Optimierung der Nutzenfunktion vorgeschlagen. Hierdurch
      werden Anteile von mehreren Ressourcen, wie CPU, Speicher,
      Festplatte und Netzwerk I/O-Bandbreite, dynamisch an VMs
      zugewiesen. Zur Bewältigung der komplexen Nicht-Linearitäten,
      die in gemeinsam genutzten virtualisierten Infrastrukturen
      zwischen VM-Performanz und Ressourcenzuteilung existieren,
      wird eine Lösung vorgeschlagen, die Ressourcen zu VMs anhand
      einer Nutzenfunktion basierend auf Performanz und
      Energieverbrauch zuteilt. Ein künstliches neuronales Netzwerk
      (KNN) wird verwendet, um ein Online-Modell der Beziehung
      zwischen VM-Ressourcenzuteilung und Anwendungsperformanz und
      ein weiteres Online-Modell der Beziehung zwischen
      VM-Ressourcenzuteilung und Energieverbrauch zu erstellen. Um
      hohe Optimierungszeiten im Falle einer erhöhten Anzahl von
      VMs zu vermeiden, wird ein verteilter Ressourcen-Manager
      vorgeschlagen. Dieser besteht aus mehreren KNNs, die jeweils
      für die Modellierung und Ressourcenzuweisung einer VM
      verantwortlich sind, aber Informationen mit anderen KNNs für
      die Koordination der Ressourcenzuteilungen austauschen.
      Experimentelle Ergebnisse in simulierten und realistischen
      Umgebungen zeigen, dass die verteilten KNN Ressourcen-Manager
      bessere Performanz-Kosten Kompromisse erzielen als eine
      zentralisierte Version und eine verteilte unkoordinierte
      Version des Ressourcen-Managers. Um die Problematik des
      Erstellens eines akkuraten Online-Anwendungsmodells verbunden
      mit langen Modelladaptionszeiten zu behandeln, wird ein
      Ansatz auf der Grundlage der Fuzzy-Steuerung vorgeschlagen.
      Er optimiert eine Nutzenfunktion basierend auf einer Hill
      Climbling Heuristik, die als Fuzzy-Regeln implementiert ist.
      Zur Vermeidung langer Optimierungszeiten im Fall einer
      erhöhten Anzahl von VMs wird ein Multi-Agenten Fuzzy-Regler
      entwickelt, bei dem jeder Agent, parallel zu anderen Agenten,
      seine eigene lokale Nutzenfunktion optimiert. Der
      Fuzzy-Steuerungsansatz eliminiert die Notwendigkeit, ein
      Modell vorab aufbauen und bietet eine robuste Lösung auch für
      verrauschte Messungen. Experimentelle Ergebnisse zeigen, dass
      die Multi-Agenten Fuzzy- Regler die Nutzenfunktion besser
      optimieren als eine zentrale Version eines Fuzzy-Reglers und
      ein aktueller adaptiver optimaler Steuerungsansatz, ins-
      besondere bei einer erhöhten Anzahl von VMs. Um einige der
      Probleme reaktiver VM-Ressourcenzuteilunsansätze zu
      behandeln, wird eine proaktive Ressourcenallokationslösung
      vorgeschlagen. Dieser Ansatz entscheidet über
      VM-Ressourcenzuweisungen basierend auf der Vorhersage des
      Ressourcenbedarfs mittels der maschinellen Lernmethode der
      Support Vector Machine (SVM). Um die Abhängigkeiten zwischen
      VMs der gleichen Multi-Tier-Anwendung zu modellieren, wird
      die Bedarfsprognose mehrerer kreuzkorrelierter
      Ressourcennutzungszeitreihen aller VMs einer mehrschichtigen
      Anwendung durchgeführt. Wie Experimente zeigen, führt dies zu
      einer verbesserten Vorhersagegenauigkeit und
      Anwendungsperformanz.