Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.

Die Seite wird erstellt Melina Kunz
 
WEITER LESEN
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
Lastvorhersage in einer Cloud mit einem
        Bayes’schen Klassifizierer.
                  basierend auf der Arbeit

”Host Load Prediction in a Google Compute
      Cloud with a Bayesian Model”.
von Sheng Di, Derrick Kondo und Walfredo
                Cirne. [2]
         Seminar aus Informatik,
           Universität Salzburg
          betreut von Univ.-Prof. Dr. Wolfgang Pree

   David Herzog-Botzenhart und Johannes Priewasser
                       18. Juli 2013

                             1
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
Inhaltsverzeichnis
1 Vorwort.                                                                                                     2

2 Abstract                                                                                                    2

3 Einführung                                                                                                 3
  3.1 Die Deplyoment Modelle . . . . . . . . . . . . . . . . . . . . .                                        4
  3.2 Service Modelle . . . . . . . . . . . . . . . . . . . . . . . . . .                                     4
  3.3 Essentielle Charakteristiken von Cloud-Infrastrukturen . . . .                                          5

4 Lastvorhersage in Cloud basierten Systemen                                                                   5
  4.1 Lastvorhersagen in Grid, HPC und Cloud Systemen . . . . . .                                              6

5 Verbesserung der Voraussagen durch das Baye’sche                                        Modell               6
  5.1 Datenbasis für die Auswertung . . . . . . . . . . . . .                            . . . . .            6
  5.2 Berechnung der Last . . . . . . . . . . . . . . . . . .                             . . . . .            7
  5.3 Exponentiell segmentiertes Muster ESP
      Exponentially segemented Patern . . . . . . . . . . .                               . . . . .            8

6 Bayes’sches Modell                                                                                          11
  6.1 Klassifizierung . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
  6.2 Risikofunktion . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
  6.3 Mittlere quadratische Abweichung        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
  6.4 Beweisfenster (Evidence window)         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
  6.5 Merkmale (Features) . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
  6.6 Merkmalskorellation . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16

7 Experimentelle Ergebnisse                                                                                   17

                                      1
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
1    Vorwort.
Diese Arbeit entstand im Zuge einer Ausarbeitung einer Präsentation auf
Grundlage der Arbeit und des Studiums jener von Sheng Di, Derrick Kon-
do und Walfredo Cirne Host Load Prediction in a Google Compute Cloud
with a Bayesian Model. Das präsentierte Verfahren und die Auswertung der
Feldversuche entstammen eben genau dieser Arbeit von Sheng Di et.al. [2]

2    Abstract
Sheng Di, Derrick Kondo und Walfredo Cirne untersuchten die Verwendung
eines Bayes’schen Klassifizierers mit Hilfe von 9 dafür entwickelten Features
für die Lastvoraussage. Vor allem eine adequate Langzeitvoraussage war das
Ziel. Hierzu verwendeten Sie die Daten der Aufzeichnung eines Google Da-
ta Centers mit über 670.000 Jobs, 40 Millionen Tasks verteilt auf 12.000
Maschinen mit der Auflösung von einer Minute über ein ganzes Monat. Eine
Motivation der Arbeit ist der Vergleich der Charakteristiken von Lastvoraus-
sagen in Clouds mit jener von Grids. Unter Verwendung der aufgezeichneten
Daten erzielten sie vor allem bei Langzeitvoraussagen im Vergleich zu an-
deren gängigen Lösungen (Gleitender Durchschnitt moving averages, Auto-
Regression und/oder Rausch Filter) eine Verbesserung von 5.6% bis 50%[2].
Bei unserem Studium der Arbeit vermissten wir zeitbasierte Features, in de-
nen die Tageszeit oder Zeitzone mit einfließen. Es fiel uns auch der Umstand
auf, dass die Messwerte sowohl zum Lernen als auch als Datengrundlage für
die Auswertung herangezogen wurden und auf ein Monat begrenzt waren.

                                      2
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
3    Einführung
Cloud Computing hat in den letzten fünf Jahren extrem an Bedeutung zugenom-
men. Im Unterschied zu GRID Computing bei dem eine homogene Lastverteilung
und eine meist gut vorhersehbare Last zu verarbeiten sind, stellt Cloud Com-
puting die Branche vor die Aufgabe, komplexe Lastfluktuationen verarbeiten
zu müssen.
   Eine typische Cloud Architektur ist in Abbildung 1 dargestellt.

                                         USERS

                                         LOAD BALANCER

             HOST    HOST   HOST    HOST    HOST

            Abbildung 1: Host Load Verteilung in einer Cloud.

Definition 3.1 Cloud Computing ermöglicht einen einfachen netzbasierten
Zugriff auf Abruf (on-demand) auf einen Pool geteilter und verteilter Com-
puter Resourcen. Der Begriff Resourcen umfasst Netzwerke, Speicher, An-
wendungen und Dienste. Diese Resourcen müssen mit geringen Managemen-
taufwand und minimaler Service Provider Interaktion, schnell zur Verfügung
gestellt, beziehungsweise released werden können .[1, NIST]

    Das Cloud Computing Model von Badger et al. unterscheidet fünf essen-
tielle Charakteristiken, drei Service Charakteristiken und vier Deployment
Charakteristiken.[1, NIST]

                                    3
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
3.1    Die Deplyoment Modelle
Die Deployment Modelle:

  1. Private Cloud (private cloud ) Die Verwendung ist exklusiv für eine
     einzelne Organisation bestimmt. Sie kann aber von Dritten zur Verfügung
     gestellt werden.

  2. Gemeinschaftscloud (community cloud ) Die Cloud Infrastruktur wird
     von Konsumenten jener Organisationen geteilt, welche die selben Inter-
     essen teilen. (Zum Beisiel Projektmanagement, Sicherheitsverbesserung,
     etc.)

  3. Öffentliche Cloud(public cloud ) Die Cloud Infrastruktur wird für die
     Öffentlichkeit zur Verfügung gestellt.

  4. Hybridcloud(hybrid cloud )

3.2    Service Modelle
Badger et al. [1, NIST] unterscheiden drei Arten von Service Modellen.

  1. Cloud Software als Dienst (SaaS Cloud Software as a Service)
     Der Konsument nutzt Applikationen des Anbieters aus der Infrastruk-
     tur.

  2. Cloud Platform als Dienst (PaaS Cloud Platfom as a Service)
     Der Konsument verteilt und betreibt eigene oder Applikationen Dritter,
     unter Verwendung der Werkzeuge die der Infrastruktur Provider zur
     Verfügung stellt.

  3. Cloud Infrastruktur als Dienst (IaaS Cloud Infrastructure as a Service)
     Der Konsument erhält die Möglichkeit fundamentale Resourcen zu nutzen.
     Dazu können unter anderem Betriebssysteme der Rechner, Speicher,
     Netzwerke, Verteilung der Applikationen und limitierter Zugriff auf
     Firewalls gehören. Der Konsument darf aber nicht die Cloud Infras-
     truktur als solche kontrollieren.

                                     4
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
3.3     Essentielle Charakteristiken von Cloud-Infrastrukturen
Badger et al. unterscheiden fünf essentielle Charakteristiken. (On-demand
self-service, Broad network acces, Resource pooling, Rapid elasticity und Mea-
sured Service). Vorallem die Charakteristiken Rapid elasticity und Measured
Service verlangen nach einer möglichst genauen Lastvoraussage um einerseits
SLA’s (Service Level Agreements) und andererseits die Verfügbarkeit QoS
(Quality of Service) garantieren zu können. Dies wiederum ermöglicht es den
Aufwand und die daraus folgenden Kosten abschätzen und kontrollieren zu
können.
    1. Rapid elasticity (Schnelle und elastische Kapazitätsanpassung.) Bedeutet
       das Kapazitäten schnell und elastisch, zumeist automatisiert, zur Verfügung
       gestellt werden können. Es kann sowohl nach Innen als auch nach Außen
       skaliert werden. Dem Konsumenten erscheinen die bereitstellbaren Re-
       sourcen unendlich und deren Verfügbarkteit zeitlich unabhängig.
    2. Measured Service (Überwachte Dienste) Cloud Systeme kontrollieren
       und optimieren die Resourcen unter Verwendung von Metriken welche
       auf den Typ der zur Verfügung gestellten Resourcen angepasst ist. Die
       Verwendung der Resourcen kann überwacht, kontrolliert und zurückgemeldet
       werden.
Die größte Herausforderung für Cloud Service Anbieter ist eben der Kom-
promiss (trade-off) zwischen Kundenzufriedenheit und Profit.[3] Daher wurde
in den letzten Jahren intensiv untersucht, welche Voraussagesysteme für die
Auslastung bei Cloud Computing am besten einzusetzen sind. Es wurden
auch adaptive Systeme untersucht, in denen die Kapazitätsplanung abhängig
von SLA’s und QoS erfolgt.
    Sheng Di et al. [2] untersuchten den Bayes’schen Klassifizierer und die für
die Untersuchung nötigen unabhängigen Features.

4     Lastvorhersage in Cloud basierten Syste-
      men
Die Lastvorhersage in cloud basierten Systemen verglichen mit klassischen
Grid und High Performance Computing (HPC) Systemen stellt eine größere
Herausforderung dar, da die Last in der Cloud stärker fluktuiert. Diese Fluk-
tuation ist die Folge von kürzeren Jobdauern und mehr interaktiven Jobs. Die

                                       5
Lastvorhersage in einer Cloud mit einem Bayes'schen Klassifizierer.
1 1
Jobdauer in der Google Cloud beträgt nur [ 20 , 2 ] verglichen mit der Jobdauer
im AuverGrid System, was zu einer feingranulareren Resourcenreservierung
im Google Daten Center führt.

4.1    Lastvorhersagen in Grid, HPC und Cloud Syste-
       men
Bisherige Arbeiten zum Thema Lastvorhersage in Grid und HPC Syste-
men haben sich hauptsächlich auf Methoden fokussiert die auf dem gleiten-
dem Mittelwert, autoregressiven Modellen oder Rauschfiltern basieren. Diese
Methoden erzielen in Cloudsystemen nicht unbedingt brauchbare Genauigkeit-
en. Zum Beispiel würden durch das Filtern von Rauschen in den Lastaufze-
ichungen wichtige Daten von tatsächlichen hohen Fluktuationen verloren
gehen. Des weiteren konzentrieren sich diese Methoden eher auf kurzfristige
Vorhersagen und lassen längere Vorhersageintervalle außer Acht.

5     Verbesserung der Voraussagen durch das
      Baye’sche Modell
Durch die Anwendung des bayes’schen Modells sollen Voraussagen zur mit-
tleren Auslastung in einem Zeitintervall von bis zu 16 Stunden, sowie auf
mehreren aufeinander folgenden Zeitintervallen getroffen werden können. Das
Modell verwendet dazu voraussagenden Merkmale (features) die die Erwartung,
Voraussagbarkeit, Tendenzen und Muster in den Lastaufzeichnungen erfassen.
Wichtige Informationen über Fluktuationen und Rauschen werden bei diesem
Ansatz beibehalten. Die mittlere quadratische Abweichung (mean squared
error, MSE) beträgt 0.0014 für ein einzelnes Zeitintervall und ≤ 10−5 für
mehrere aufeinander folgende Zeitintervalle (pattern). Die Vorhersagegenauigkeit
verbessert sich verglichen mit anderen Methoden um 5.6-50%.

5.1    Datenbasis für die Auswertung
In den Lastaufzeichnungen werden die CPU und die Speicherauslastung er-
fasst, welche die zwei wichtigen Metriken für das System darstellen. Die zu-
grunde liegenden Daten wurden über einen Zeitraum von einem Monat in
einem Produktivsystem von Google mit über 12,000 Rechnern aufgezeich-
net. Die Benutzer senden dabei ihre Aufträge (jobs) an einen gebündelten

                                       6
Planungsprozess (batch scheduler). Jeder Auftrag besteht aus einer Menge
von Aufgaben (tasks) und einer Menge an Resourcenbeschränkungen. Der
Planungsprozess weist die einzelnen Aufgaben an die zur Vergügung ste-
henden Rechner des Systems zu. In diesem Monat wurden über 670,000
Aufträge und über 40 Millionen Aufgaben abgearbeitet. Die Last in dem
System ist darstellbar als Funktion von den eingehenden Aufträgen und der
Planungsstrategie (scheduling strategy).

5.2    Berechnung der Last
Die Last zu einem bestimmten Zeitpunkt auf einem bestimmten Rechner
besteht aus der Gesamtlast aller laufenden Aufgaben auf diesem Rechner.
Die relative Last errechnet sich durch die Division von der absoluten Last
durch die vorhandene Kapazität. Dieser Wert liegt dann zwischen 0 und 1.
Die Lastdaten werden diskretisiert durch die Berechnung der relativen Last
jedes Rechners über aufeinanderfolgende Zeitintervalle mit einer festgelegten
Länge von ein paar Minuten. Die diskretisierten Daten bilden die Basis der
Arbeit.
     Mit der selben Vorgehensweise wurden auch die relativen Lastdaten zu
jeder Periode von AuverGrid’s Lastaufzeichnungen berechnet. Damit konnte
das höhere Rauschen in den Daten von Google verglichen mit AuverGrid ver-
ifiziert werden. Das minimale/mittlere/maximale Rauschen der CPU Last-
daten wurde mit einem Mittelwertfilter berechnet und beträgt jeweils

   • AuverGrid: 0.00008, 0.0011, 0.0026

   • Google: 0.00024, 0.028, 0.081

                                      7
Abbildung 2: Lastvergleich zwischen Google und AuverGrid

    Die Verteilung der Lastdaten von Google und AuverGrid wird gegenübergestellt
in einem Quantile-Quantile-Plot. Dazu wird der Bereich der Lastdaten gle-
ichmäßig aufgeteilt in fünf Teilbereiche. Die Lastdauer ist definiert als die Zeit
in der die Last auf einem Rechner konstant in einem der fünf Teilbereiche
bleibt. Die Verteilung der Lastdauern wird miteinander verglichen.

      Abbildung 3: Quantile-Quantile Plot der Dauer and Aufgabenlänge

5.3     Exponentiell segmentiertes Muster ESP
        Exponentially segemented Patern
Vorhergesagt wird die mittlere Last über ein einzelnes Zeitintervall zu einem
bestimmten Zeitpunkt t0 . Auf dieser Basis wird die mittlere Last für mehrere

                                      8
aufeinander folgende Zeitintervalle vorhergesagt. Um die Fluktuation über
eine Zeitperiode zu charakterisieren, wird ein exponentiell segmentiertes Muster
(exponentially segmented pattern, ESP) eingeführt. Das Vorhersageintervall
wird aufgeteilt in eine Menge von aufeinander folgende Segmente, deren
Länge exponentiell zunimmt. Ermittelt wird die mittlere Last in jedem dieser
Segmente.

     Abbildung 4: Illustration des exponentiell segmentierten Musters

    Die Gesamtlänge des Vorhersageintervalls wird bezeichnet mit s. Das er-
ste Segment (s1 ) wird als Basislinie (baseline) mit der Länge b bezeichnet
und startet vom aktuellen Zeitpunkt t0 und endet bei t0 + b. Die Länge jedes
weiteren Segments (si ) berechnet sich mit b ∗ 2i−2 |i = 2, 3, 4, .... Wird zum
Beispiel b auf 1 Stunde gesetzt, so errechnet sich für die das vorherzusagende
Intervalls eine Gesamtlänge s von 16 Stunden (=1+1+2+4+8). Die Mittel-
werte werden bezeichnet mit li |i = 1, 2, 3, .... Die Vorhersagegenauigkeit ist
besser für kurzfristige Vorhersagen als für langfristige.

                                      9
Abbildung 5: Induktion der segmentierten Auslastung

   Es wird der Vektor von Lastdaten (l = (l1 , l2 , ..., ln )T ) vorhergesagt, wobei
jeder Wert den Mittelwert über ein bestimmtes Segment repräsentiert. Das
Zeitintervall welches die aktuell erfassten Lastdaten einschließt wird als Be-
weisfenster (evidence window) bezeichnet. Die Vorhersage für jedes einzelne
Segment ist der Schlüsselschritt für die gesamte Vorhersage.
   Die Last korelliert stark zwischen benachbarten Segementen und korelliert
nicht für nicht benachbarte Segmente. Die Darstellung der Segmente wird in
eine andere Darstellung transformiert, in der jedes Intervall das vorherge-
sagt werden soll an das Beweisfenster angrenzt. Dann wird eine Menge aus
mittleren Lastvorhersagen für die Intervalle verschiedener Länge berechnet,
wobei jedes Intervall zum aktuellen Zeitpunkt t0 startet. Das Ergebnis da-
raus wird bezeichnet mit η1 , η2 , ..., ηn |ηi+1 = 2ηi . Das Ziel ist es einen Vektor
η = (η1 , η2 , ..., ηn )T vorherzusagen, und nicht den Vektor l.
   Der Vektor l kann durch folgende Induktion aus dem Vektor η berechnet
werden:

   • Der aktuelle Zeitpunkt ist t0

   • Es wurden bereits zwei Lastvorhersagen (ηi−1 and ηi ) über zwei Inter-
     valle, [t0 , ti−1 ] und [t0 , ti ] berechnet

   • Die zwei Flächen (S1 and S2 ) werden einandern angeglichen

   • Die Ableitung der Lastvorhersage [ti−1 , ti ] wird berechnet

                                         10
• li ist die vorhergesagte mittlere Last in dem neuen Segment [ti−1 , ti ],
      dargestellt als rote Linie in der Grafik
                                        ti−1 − t0
                            li = ηi +             (ηi − ηi−1 )             (1)
                                        ti − ti−1

    Dies vereinfacht und verallgemeinert die Implementierung eines Prädiktors,
da jeder Prädiktor der ein einzelnes Intervall voraussagen kann in einen
Prädiktor der ein ESP voraussagen kann, verwandelt werden kann. Dadurch
ergibt sich die Möglichkeit ein einzelnes oder mehrere aufeinander folgende
Intervalle ohne Mehraufwand vorauszusagen.
    Die zwei Schlüsselschritte des Algorithmus:
    • mittlere Lastvorhersage (Zeile 1-5)
    • Segment Transformation (Zeile 6)
Jedes Intervall startet zum aktuellen Zeitpunkt, im Gegensatz zu den vorhin
definierten Segmenten in der Vektorräpresentation l.

         Abbildung 6: Pseudo-code der Cloud Lastmustervorhersage

6     Bayes’sches Modell
Zur Laufzeit wird das Beweisfenster mit den kürzlich aufgetretenen Fluktu-
ationen aktualisiert. Es wird die A-posteriori Wahrscheinlichkeit aus der A-
priori Wahrscheinlichkeitsverteilung berechnet, wobei ein Bayes Klassifikator

                                        11
Abbildung 7: Vorhersagefehler mit unterschiedlichen Vorhersagelängen

einbezogen wird. Ein Bayes Klassifikator ist ein klassischer Klassifikator wie
er auch beim Data Mining beim überwachten Lernen zum Einsatz kommt.

6.1    Klassifizierung
Die Klassifizierung besteht aus fünf Schritten:

  1.    • Bestimme die Menge an Zielzuständen (W = (ω1 , ω2 , ..., ωm )T ,
          mit m als Anzahl der Zustände)
        • Beweisvektor mit h voneinander unabhängigen Merkmalen (χ =
          (x1 , x2 , ..., xh )T )

  2. Berechne die A-priori Wahrscheinlickkeitsverteilung, P (ωi ), basierend
     auf den Beweisdaten

  3. Berechne die multivariate Wahrscheinlichkeitsverteilung (joint proba-
     bility) p(χ|ωi ) für jeden Zustand ωi

  4. Berechne die A-posteriori Wahrscheinlichkeit basierend auf den Beweis-
     daten

                                      12
p(xj |ωi )P (ωi )
                          P (ωi |xj ) = Pm                                     (2)
                                         k=1 p(xj |ωk )P (ωk )

   5. Triff eine Entscheidung basierend auf der Risikofunktion λ(ω̂i , ω̇i ), wobei
      ω̂i und ω̇i den tatsächlichen und den vorhergesagten Wert des Zustandes
      darstellen

   Es gibt zwei Verfahren basierend auf verschiedenen Risikofunktionen um
Entscheidungen zu treffen, unter Verwendung des

   • Naiven Bayes-Klassifikators (N-BC) und des auf der

   • minimierten quadratischen Abweichung (minimized mean square error,
     MMSE) basierten Bayes-Klassifikator (MMSE-BC)

6.2    Risikofunktion
Die entsprechenden Risikofunktionen davon sind:
                                      (
                                       0 |ω̇i − ω̂i | < δ
                      λ(ω̇i , ω̂i ) =                                          (3)
                                       1 |ω̇i − ω̂i | ≥ δ

                             λ(ω̇i , ω̂i ) = (ω̇i − ω̂i )2                     (4)
   Der vorhergesagte Wert für den Zustand (ω̂i ) wird ermittelt durch den
minimalen Fehler:

                             ω̂i = arg max p(ωi |xj )                          (5)

6.3    Mittlere quadratische Abweichung
Mittlere quadratische Abweichung (MSE):
                                       m
                                       X
                               ω̂i =         ωi p(ωi |xj )                     (6)
                                       i=1

Der Zielzustandsvektor und der Vektor generiert aus den Lastdaten des Be-
weisfensters sind die beiden kritischsten Faktoren für eine genaue Vorhersage.

                                             13
Die Lastdaten werden aufgeteilt in kleinere Bereiche, wobei jeder Bereich ein-
er gewissen Auslastungsstufe entspricht. Die Anzahl der Bereiche im Last-
datenbereich [0,1] wird mit r bezeichnet. Wird zum Beispiel r = 50 gesetzt
ergeben sich daraus die 50 Teilbereiche [0, 0.02), [0.02, 0.04), ..., [0.98, 1].

6.4     Beweisfenster (Evidence window)
Die Länge des Beweisfensters (evidence window) wird auf die Hälfte der
Länge des vorherzusagenden Intervalls gesetzt. Wenn das Vorhersageinter-
vall zum Beispiel 8 Stunden beträgt, wird das Beweisfenster auf die letzten
4 Stunden gesetzt. Mit dieser Vorgehensweise konnte in experimentellen Re-
sultaten das genaueste Ergebnis erzielt werden. Das Beweisfenster wird in
eine Menge von gleich großen Segmenten unterteilt. 48 (= 4∗60    5
                                                                    ) aufeinan-
derfolgende Lastzustände (mit einer Segmentgröße im Beweisfenster von 5
Minuten) bilden in dieser Periode die Ausgangsdaten für die Vorhersage.
Wenn das Vorhersageintervall zum Beispiel auf 4 Stunden gesetzt wird, be-
trägt die Länge des Beweisfensters 2 Stunden und es gibt 24 Auslastungswerte
im Beweisfenster.

      Abbildung 8: Illustration des Beweisfensters und den Zielzuständen

6.5     Merkmale (Features)
Der Lastzustandsvektor im Beweisfenster wird defininiert durch e = (e1 , e2 , ..., ed )T
wobei d die Anzahl der Teilsegmente im Beweisfenster darstellt, auch Fen-
stergröße (window size) genannt. Die Elemente in dem Vektor sind zeitlich
sortiert, beginnend mit dem aktuellsten Wert.

                                      14
Das Merkmal mittlere Auslastung (mean load, Fml (e))) ist der Mittel-
wert des Lastzustandsvektors e:
                                           d
                                        1X
                              Fml (e) =       ei                           (7)
                                        d i=1

   Der Wertebereich der mittleren Auslastung befindet sich in [0,1]. Dieser
Bereich wird wiederum aufgeteilt in r gleich große Teilbereiche, wobei wieder
jeder Teilbereich einen Lastzustand darstellt. Das Ergebnis der mittleren
Auslastung ist also einer dieser Teilbereiche.
   Die gewichtete mittlere Auslastung ist der linear gewichtete Mittel-
wert des Lastzustandsvektores e mit:
                     Pd                               d
                        i=1 (d − i + 1)ei       2    X
          Fwml (e) =        Pd            =              (d − i + 1)ei    (8)
                               i=1 i        d(d + 1) i=1

Bei diesem Merkmal werden die aktuelleren Lastzustände stärker gewichtet
als ältere. Auch dieses Merkmal befindet sich im Bereich [0,1], wobei der
Bereich wiederum aufgeteilt wird auf r Teilbereiche.
    Der Gerechtigkeitsindex (fairness index, Ff i (e))) wird verwendet um
den Grad an Lastfluktuation im Beweisfenster zu charakterisieren. Die Formel
dafür lautet:
                                      ( di=1 ei )2
                                       P
                            Ff i (e) = Pd 2                              (9)
                                      d i=1 ei
Das Ergebnis ist normalisiert im Bereich [0,1]. Ein höherer Wert deutet auf
eine stabilere Lastfluktuation hin. Der Wert beträgt 1, genau dann wenn
alle einzelnen Lastzustände gleich sind. Nachdem der Zielzustand in diesem
Modell die mittlere Auslastung im vorherzusagenden Intervall ist, scheint das
Merkmal der mittleren Auslastung wichtiger zu sein als der Gerechtigkeitsin-
dex. Wenn allerdings die Last im vorherzusagenden Intervall ähnlich fluk-
tuiert wie im Beweisfenster, kann der Gerechtigkeitsindex die Vorhersage
verbessern.
    Der rauschunterdrückte Gerechtigkeitsindex (noise-decreased fair-
ness index, Fndf i (e)) wird ebenfalls mit der Formel des Gerechtigkeitsindizes
berechnet. Gibt es allerdings ein oder zwei Ausreißer in den Beweisdat-
en (load outliers) die den Gerechtigkeitsindex maßgeblich verschlechtern, so
werden diese nicht in die Berechnung miteinbezogen. Solche Ausreißer sind
höchstwahrscheinlich Rauschen oder irreguläre Jitter.

                                      15
Das Zustandsstatus Merkmal (type state, Fts (e)) wird verwendet um
den Lastzustandsbereich im Beweisfenster, sowie den Grad an Jitter zu charak-
terisieren. Es ist definiert als zweiertupel α, β, wobei α die Anzahl an in-
volvierten Zuständen und β die Anzahl an Zustandsänderungen darstellt.
Liegt zum Beispiel ein Lastzustandsvektor von (0.023,0.042,0.032,0.045,0.056,0.036)
vor, so gibt es nur zwei Zustände die involviert sind, nämlich [0.02,0.04)
und [0.04,0.06), sowie vier Zustandsänderungen 0.023 → 0.042, 0.042 →
0.032, 0.032 → 0.045, 0.056 → 0.036. 0.056 ist keine Zustandsänderung, nach-
dem der vorhergehende Zustand in den selben Lastzustandsbereich fällt.
    Das Erste-Letzte Last Merkmal (first-last, Ff ll (e)) wird verwendet um
grob den Trend der Auslastung in der jüngeren Vergangenheit zu charak-
terisieren. Es ist definiert als Zweiertupel τ, υ, wobei τ den ersten und υ
den letzten Lastzustand aus dem Beweisfenster darstellt. Dieses Merkmal ist
praktisch nur brauchbar in Kombination mit anderen Merkmalen.
    Das N-Segment Muster (N-segment pattern, FN −sp (e)) charakterisiert
die Segmentmuster basierend auf dem Beweisfenster. Das Beweisfenster wird
wieder gleichmäßig aufgeteilt auf Teilbereiche, wobei jeder Teilbereich eine
mittlere Auslastung beinhaltet. Beträgt die Länge des Beweisfensters zum
Beispiel 4 Stunden (mit einer Fenstergröße von 48), dann besteht das 4-
Segment Muster aus einem Vierertupel dessen Elemente die folgenden mit-
tlere Auslastungswerte beinhaltet: [e1 , e12 ], [e13 , e24 ], [e25 , e36 ], [e37 , e48 ]. N wird
jeweils auf 2, 3 und 4 gesetzt, sodass sich daraus eigentlich vier Merkmale
mit dem N-Segment Muster ergeben.

6.6     Merkmalskorellation
Einige der Merkmale sind untereinander abhängig. Dies widerspricht der An-
nahme des Bayes Theorems, dass alle Merkmale voneinander unabhängig
sind. Die Merkmale die in Formel (3) verwendet wurden, sollten voneinan-
der unabhängig sein. Der Gerechtigkeitsindex und der rauschunterdrückte
Gerechtigkeitsindex sind vermutlich voneinander abhängig. Daher wurde un-
tersucht welche Merkmale miteinander linear korellieren und welche nicht.

                                           16
Abbildung 9: Kompatibilität der Merkmale

    Nachdem 9 Merkmale (Fml , Fwml , Ff i , Fndf i , Fts , Ff ll , F2−sp , F3−sp , F4−sp )
identifiziert wurden, ist die maximale Anzahl an Kombinationen 29 . Um
diese Zahl zu verkleinern wurden die Merkmale in 4 Gruppen unterteilt:
{Fml , Fwml , F2−sp , F3−sp , F4−sp }, {Fndf i , Ff i }, {Fts }, {Ff ll }. Elemente der sel-
ben Gruppe dürfen nicht mehrfach in einer Kombination vorkommen. Die
Anzahl an kompatiblen Kombinationen (number of compatible combinations,
NCC) beträgt 6, 3, 2, 2. NCC(9) = NCC(Gruppe 1) * NCC(Gruppe 2)
* NCC(Gruppe 3) * NCC(Gruppe 4) = 6 * 3 * 2 * 2 = 72. Dabei wird
noch der Fall abgezogen in dem kein Merkmal verwendet wird, was zu einer
Gesamtanzahl an 71 gültigen und sinnvollen Kombinationen führt.

7     Experimentelle Ergebnisse
Die einmonatige Datenaufzeichnung wurde in zwei Datensätze aufgeteilt, ein-
mal in eine Lernperiode von Beginn der Aufzeichung bis zu Tag 25, und ein-
mal in eine Testperiode von Tag 26 bis zum Ende der Aufzeichnung. Die
Lernperiode wurde dazu verwendet um das Modell mit Daten zu füttern, al-
so zum Beispiel um die A-priori Wahrscheinlichkeit P (ωi ) und die abhängige
Wahrscheinlichkeit p(xj |ωk ) zu berechnen.
    Die für die Vorhersage zu verwendenden Merkmale werden in einer Binärdarstellung
selektiert. Die Reihenfolge der Merkmale ist festgelegt und ein Merkmal wird
selektiert indem die entsprechende Stelle auf 1 gesetzt wird. Es stellte sich
heraus, dass die beste Kombination an Merkmalen immer 100000000 Fml
und die schlechteste immer 000010000 Fts ist, unabhängig von der Länge des
vorherzusagenden Intervalls. Die Vorhersage unter Verwendung des MMSE-
BC ist immer genauer als unter Verwendung von N-BC. Der MMSE-BC Klas-

                                            17
sifikator adaptiert den mathematisch erwarteten Wert des vorhergesagten
Lastzustands, der die höchste Wahrscheinlichkeit aufweist in den tatsächlichen
Lastdaten vorzukommen. Der N-BC Klassifikator verwendet den Lastzustand
mit der höchsten A-posteriori Wahrscheinlichkeit als Ergebnis der Vorher-
sage. Abschließend werden die besten und schlechtesten fünf Ergebnisse und
deren Fehlerraten präsentiert.

       Abbildung 10: Erfolgsrate und MSE des Bayes Klassifikators

                                      18
Literatur
[1] L. Badger, T. Grance, L. Badger, T. Grance, R. Patt-corner, J. Voas,
    and P. D. Gallagher. Cloud computing synopsis and recomendations,
    nist special publication 800-14, May 2012.

[2] S. Di, D. Kondo, and W. Cirne. Host load prediction in a google com-
    pute cloud with a bayesian model. In Proceedings of the International
    Conference on High Performance Computing, Networking, Storage and
    Analysis, page 21. IEEE Computer Society Press, 2012.

[3] Y. Kouki and T. Ledoux. Sla-driven capacity planning for cloud appli-
    cations. In Cloud Computing Technology and Science (CloudCom), 2012
    IEEE 4th International Conference on, pages 135–140. IEEE, 2012.

Abbildungsverzeichnis
    1   Host Load Verteilung in einer Cloud. . . . . . . . . . . . . . . 3
    2   Lastvergleich zwischen Google und AuverGrid . . . . . . . . . 8
    3   Quantile-Quantile Plot der Dauer and Aufgabenlänge . . . . . 8
    4   Illustration des exponentiell segmentierten Musters . . . . . . 9
    5   Induktion der segmentierten Auslastung . . . . . . . . . . . . 10
    6   Pseudo-code der Cloud Lastmustervorhersage . . . . . . . . . 11
    7   Vorhersagefehler mit unterschiedlichen Vorhersagelängen . . . 12
    8   Illustration des Beweisfensters und den Zielzuständen . . . . . 14
    9   Kompatibilität der Merkmale . . . . . . . . . . . . . . . . . . 17
    10 Erfolgsrate und MSE des Bayes Klassifikators . . . . . . . . . 18
    Wir weisen ausdrücklich darauf hin, dass die Abblidungen 2,3,4,5,6,7,8,9
und 10 aus der Arbeit[2] von Sheng Di, Derrick Kondo und Walfredo Cirne
übernommen wurden.
    Copyright notice: The figures 2,3,4,5,6,7,8,9 and 10 have been taken from
the paper[2] of Sheng Di, Derrick Kondo and Walfredo Cirne.

                                     19
Sie können auch lesen