• Keine Ergebnisse gefunden

Laufzeitvorhersage f¨ ur synthetische benutzerterminierte Applikationen 151

7.3 Implementierung der Middleware-Komponenten

8.1.2 Laufzeitvorhersage f¨ ur synthetische benutzerterminierte Applikationen 151

wenn alle Tasks exakt die gleich Taskfunktion ausf¨uhren. Dazu wurde als Taskfunktion eine Z¨ahlschleife verwendet, die unabh¨angig von der Eingabe immer die gleichen Arbeitsschrit-te ausf¨uhrt und damit einen CPU-Kern derVM-Instanz g¨anzlich beansprucht. Zudem wird die Gr¨oße der ¨Ubertragungsdaten exakt festgelegt. Laufzeitschwankungen durch verschiedene Eingaben und dadurch auch unterschiedlich aufwendige Taskfunktionen werden somit aus-geschlossen. Etwaige dennoch messbare Schwankungen k¨onnen nur durch die Middleware selbst, durch die verwendetenVM-Instanzen oder die verwendete Kommunikationstechnolo-gie verursacht werden. F¨ur die Untersuchungen werden drei VM-Typen aus dem Portfolio von Amazon EC2 benutzt, die in ihrer Performance um ca. den Faktor 4 verschieden sind:

m1.small, c1.medium und c1.xlarge. Dass diese Auswahl f¨ur gut abgegrenzte Vorschl¨age von Cloud-Optionen sinnvoll ist, wurde in Kapitel 6.2.5 erl¨autert.

F¨ur benutzerterminierte Applikationen kann aufgrund der unzureichend bekannten Ein-gabe nur eine Verarbeitungsrate f¨ur gleichbleibende Taskfunktionen und schwankungsarme Ein-/Ausgabedaten gemessen werden. Die Taskverarbeitungsrate wird durch die maximal

Tabelle 8.2: Abweichung der Vorhersage f¨ur synthetische benutzerterminierte Applikationen in % (Taskrate fwork = 1.0 konstant)

Datengr¨oße UMTS HOME CAMPUS

in kB 0 10 50 100 0 10 50 100 0 10 50 100

m1.small 0,81 1,37 0,76 0,35 0,62 1,77 0,09 0,90 1,15 4,42 6,37 8,77

∆twork1s

c1.medium 0,13 3,14 8,84 1,08 2,43 0,86 0,15 0,24 0,87 0,87 0,87 0,87

∆twork2,5s

c1.xlarge 2,28 6,20 5,55 7,90 3,26 1,29 3,24 8,34 1,82 0,57 2,91 7,00

∆twork10s

m¨ogliche Taskverarbeitungsrate auf der VM (fwork) und durch die Kommunikationsrate fcomm begrenzt, die durch die Gr¨oße der Ein-/Ausgabedaten pro Task und die Netzwerkper-formance gegeben ist (siehe Kapitel 6.1.3, insbesondere Bedingung (6.7)). Der Vorhersagewert entspricht demnach dem Minimum aus fwork undfcomm.

Zun¨achst wird untersucht, welche Abweichung von der Vorhersage f¨ur eine Taskrate fwork von ca. 1,0 gemessen werden kann. Es wurde daf¨ur Sorge getragen, dass fcomm stets gr¨ o-ßer war als fwork, um eine Beeinflussung durch die Netzwerkperformance f¨ur diesen Test zu vermeiden. Als Taskfunktion wurde eine Z¨ahlschleife verwendet, deren Anzahl von Schleifen-durchl¨aufen auf einer m1.small-Instanz so geeicht wurde, dass die L¨ange der Tasklaufzeit

∆twork ca. 1 s betr¨agt. Hierbei wurden einige Schleifendurchl¨aufe abgewartet, bis durch den JIT-Compiler vorgenommene Optimierungen abgeschlossen waren und eine stabile Tasklauf-zeit erreicht wurde. Bei einem CPU-Kern ergibt sich somit eine Taskverarbeitungsrate von ca. 1,0. Durch eine auf dem Dell Streak 7Android Tablet installierte Testapplikation, wurden dann fortw¨ahrend Tasks zur VM-Instanz ¨ubertragen. Um die Taskrate auch f¨ur die perfor-manteren Instanzen bei ca. 1,0 zu belassen, wurden die Durchl¨aufe der Z¨ahlschl¨afe auf diesen Instanzen mit dem Faktor des Performanceunterschieds zur m1.small-Instanz multipliziert.

Als Maß wurde die ECU-Bewertung durchAmazon EC2 benutzt. Diem1.small-Instanz hat 1 ECU, diec1.mediumhat beispielsweise 5 ECU. Somit wurde die Z¨ahlschleife mit dem Fak-tor 5 multipliziert. Dies f¨uhrte im Ergebnis tats¨achlich zu einer etwa gleichen Taskrate auf allen VM-Typen. Die erreichte Tasklaufzeit wurde f¨ur jede Instanz trotzdem noch einmal separat ¨uberpr¨uft und gegebenenfalls leicht angepasst. F¨ur die drei Netzwerkkonfigurationen HOME, CAMPUS und UMTS und verschiedene Gr¨oßen von Ein-/Ausgabedaten der einzel-nen Tasks wurde anschließend die Abweichung der gemesseeinzel-nen Taskrate von der Vorhersage bestimmt. Die Ergebnisse sind in Tabelle 8.2 dargestellt. Dabei wurde pro Wert jeweils nur eine Messung ¨uber einen Zeitraum von mindestens 30 s durchgef¨uhrt. Ein wirklicher Benut-zer w¨urde die Applikation vermutlich auch nur einmal ausf¨uhren. Dargestellt ist jeweils die Abweichung der durchschnittlich erreichten Taskverarbeitungsrate im gemessenen Zeitraum vom vorhergesagten Wert. Die Netzwerkperformance limitierte die erreichbare Taskrate hier nicht. Auch f¨ur 100 kB Ein-/Ausgabedaten war in allen drei Konfigurationen die m¨ogliche Kommunikationsrate h¨oher.

Die Ergebnisse zeigen, dass die Abweichung f¨ur alle Messungen sehr gering sind. Zudem l¨asst sich an den Messungen auch erkennen, dass die f¨ur die Taskverarbeitung notwendigen Daten¨ubertragungen ohne merkliche Auswirkung auf die tats¨achliche Verarbeitungszeit der Tasks auf der VM im Hintergrund durchgef¨uhrt werden. Zudem war die Performance der getesteten VM-Instanzen ¨uber den gesamten Messzeitraum von mehreren Stunden stabil.

8.1 Synthetische Applikationen

Tabelle 8.3: Abweichung der Vorhersage f¨ur synthetische benutzerterminierte Applikationen in % (Programmcode des Tasks konstant→fwork variabel)

UMTS HOME CAMPUS

Datengr¨oße in kB 0 10 50 100 0 10 50 100 0 10 50 100

fwork 3,97 3,97 3,97 3,97 3,97 3,97 3,97 3,97 3,97 3,97 3,97 3,97

c1.medium fcomm 22,40 4,48 2,56 14,72 2,94 1,47 35,84 7,17 3,58

∆twork fmess 3,88 3,86 3,77 3,70 3,90 4,12 3,47 1,84 3,39 3,42 3,54 3,33

500ms ∆ in % 2,16 2,75 4,93 44,71 1,78 3,78 17,71 25,18 14,55 13,93 10,76 7,02

fwork 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00 10,00

c1.xlarge fcomm 22,4 4,48 2,56 14,72 2,94 1,47 35,84 7,17 3,58

∆twork fmess 9,55 9,26 4,08 2,36 9,89 9,85 4,25 2,14 8,62 9,71 8,04 3,17

800ms ∆ in % 4,46 7,37 9,01 7,70 1,11 1,46 44,40 45,06 13,82 2,92 12,13 11,57

Abweichung>20 %

In einem zweiten Szenario wurde im Gegensatz zum bereits beschriebenen Test die Taskfunk-tion auf allen Instanzen nicht ver¨andert. Es wurde die Variante benutzt, die auf einer m1.small-Instanz eine Ausf¨uhrungszeit von ca. 1 s ben¨otigt. Dies f¨uhrt dazu, dass die Taskfunktion auf den c1.medium- und c1.xlarge-Instanzen nicht nur schneller bearbeitet wird, sondern auf-grund der h¨oheren CPU-Kernanzahl auch mehr Tasks parallel verarbeitet werden k¨onnen.

Somit steigt die Taskverarbeitungsrate gegen¨uber m1.small teils erheblich an. Daf¨ur kann in diesem zweiten Szenario die Netzwerkperformance nicht mehr vernachl¨assigt werden. Die messbare Taskverarbeitungsrate fmess wird begrenzt durch das Minimum aus der maximal m¨oglichen Taskverarbeitungsrate auf der VM (fwork) und durch die Kommunikationsrate fcomm. Tabelle 8.3 stellt die Ergebnisse der Messungen dar. Auch hier wurde jede Messung einmal f¨ur eine Dauer von mindestens 30 s durchgef¨uhrt. Zus¨atzlich zur durchschnittlich er-reichten Taskrate fmess sind noch fwork, fcomm und die Abweichung von der Vorhersage angegeben. F¨ur diem1.small-Instanz entsprechen die Messungen den gleichen Werten wie in Tabelle 8.2, weshalb sie nicht noch einmal dargestellt sind.

Es weichen nur 4 Werte der 36 Messungen (ca. 11 %) um mehr als 20 % von der Vorhersage ab. Dabei ist der Grund f¨ur die starke Abweichung stets die falsch eingesch¨atzte Netzwerkper-formance. Keiner der Messwerte weicht um mehr als 50 % ab, wodurch das G¨uterkriterium KQgut erf¨ullt ist. Mehr als zwei Drittel aller Werte weicht sogar nur um weniger als 10 % von der Sch¨atzung ab. In der Zusammenfassung kann davon ausgegangen werden, dass die Taskverarbeitungsrate sich sehr gut vorhersagen l¨asst, wenn die Netzwerkperformance als limitierender Faktor keine Rolle spielt, wenn die Tasks also nur wenige Ein-/Ausgabedaten haben oder die Tasklaufzeiten recht hoch sind. Limitiert jedoch die Netzwerkperformance die Taskverarbeitungsrate, so wird die Vorhersage etwas ungenauer. Im Allgemeinen sollte es jedoch vermieden werden, dass die Taskverarbeitungsrate durch die Netzwerkperformance limitiert wird, da dadurch auch der Kostenoverhead durch eine schlecht ausgelastete VM -Instanz steigt. Somit relativiert sich die teils ungenaue Vorhersage in diesem Bereich.

Eine Restriktion des entwickelten Verfahrens l¨asst sich im Vergleich der Tabellen 8.2 und 8.3 erkennen. Die Messungen wurden an unterschiedlichen Tagen gemacht. Dabei wurden f¨ur bei-de Messreihen offensichtlich verschiebei-den schnelle VM-Instanzen der Typen c1.xlarge und c1.mediumzur¨uckgeliefert. Es wurden jeweils mehrere Instanzen angefordert. In Tabelle 8.2 zeigt diec1.xlarge-Instanz eine vierfach h¨ohere Performance als diec1.medium-Instanz, was der um viermal h¨oheren CPU-Keranzahl entspricht. In Tabelle 8.3 betr¨agt der Unterschied f¨ur die Messungen ohne Datentransfer hingegen nur 2,5. Dass es Perioden gr¨oßerer Schwankun-gen gibt, wurde in Kapitel 6.3.3 bereits erl¨autert. Um diesen l¨angerfristigen Schwankungen entgegenzuwirken, m¨ussten die Profile f¨ur die Laufzeitvorhersage h¨aufiger aktualisiert werden.

Im hier beschriebenen Fall wurden f¨ur beide Tage jeweils neue Profile erstellt.

Tabelle 8.4: Abweichung der Vorhersage f¨ur synthetische eingabeterminierte Applikationen in %

Datengr¨oße CAMPUS (7 Mbit/s) HOME (3 Mbits/s) UMTS (4,5 Mbit/s)

∆twork 10 s 60 s 5 min 10 s 60 s 5 min 10 s 60 s 5 min

0,2 MB 3,06 4,96 2,32 14,71 16,31 0,66 13,65 5,92 3,76

m1.small 12 MB 6,17 4,12 6,83 17,44 5,11 10,20 10,21 2,20 0,27

60 MB 15,39 9,32 10,23 28,01 17,61 6,60 10,02 12,86 5,83

0,2 MB 0,51 1,97 13,35 1,16 1,78 2,03 48,46 14,57 11,98

c1.medium 12 MB 12,61 1,58 3,03 17,10 11,89 2,92 14,37 8,23 9,94

60 MB 0,29 16,74 0,57 26,02 14,87 11,62 0,24 8,94 1,64

0,2 MB 4,44 4,82 4,40 1,04 1,06 16,14 15,45 10,26 3,52

c1.xlarge 12 MB 15,98 10,05 3,44 26,20 8,96 8,79 18,12 1,71 7,18 60 MB 19,72 14,17 12,65 24,76 22,87 3,27 11,11 18,42 17,75 Abweichung>20 %

8.1.3 Laufzeitvorhersage f¨ur synthetische eingabeterminierte Applikationen Die Taskfunktion zur Generierung einer synthetischen Last auf den VM-Instanzen wurde f¨ur die eingabeterminierte Applikation so ver¨andert, dass die Z¨ahlschleife, die schon f¨ur die Einzelprozessortasks der benutzerterminierten Applikation benutzt wurde, nun l¨anger und gegebenenfalls von mehreren Threads gleichzeitig abgearbeitet wird. Dabei werden jeweils so viele Threads verwendet, wie CPU-Kerne zur Verf¨ugung stehen. Somit wird stets genau ein sogenannter Multiprozessortask ausgef¨uhrt. Es ergibt sich eine gleichbleibende Abfolge von Arbeitsschritten, die jede VM-Instanz vollst¨andig beansprucht und auf jeder Instanz eines VM-Typs in etwa die gleiche Bearbeitungsdauer ben¨otigt.

Zur Bestimmung der G¨ute der Vorhersage wurden jeweils einzelne Tasks verschiedener Konfigurationen abgesetzt und deren Gesamtbearbeitungsdauer gemessen. Diese besteht bei eingabeterminierten Applikationen aus der Summe der ¨Ubertragungsdauer der Daten und der tats¨achlichen Bearbeitungszeit auf derVM (siehe Kapitel 6.1.3). F¨ur den Test wurden alle Kombinationen aus Verarbeitungszeit und Datengr¨oße benutzt, die bereits in Kapitel 5.4.6 zur Analyse der Daten¨ubertragungskosten verwendet wurden. Als Verarbeitungszeiten ∆twork

wurden 10 s, 60 s und 5 min gew¨ahlt. Als Daten¨ubertragungsgr¨oßen wurden 200 kB, 12 MB und 60 MB gew¨ahlt. Die Daten wurden f¨ur jede Messung zun¨achst zur VM ¨ubertragen und nach Berarbeitung der Taskfunktion wieder zur¨uck transferiert. Jede einzelne Messung wur-de genau einmal durchgef¨uhrt auf den drei konfiguriertenVM-Typen m1.small,c1.medium und c1.xlarge und den drei Netzwerkkonfigurationen HOME, UMTS und CAMPUS. Als Testger¨at wurde der Dell Latitude Laptop verwendet. F¨ur jedeVM-Instanz wurde zun¨achst die Z¨ahlfunktion passend geeicht, sodass sie die gew¨unschte Tasklaufzeit realisiert. Vor jedem Test wurde dann die verf¨ugbare Bandbreite ermittelt und entsprechend zur Vorhersage be-nutzt. Tabelle 8.4 fasst die Abweichungen der gemessenen Werte von der Vorhersage f¨ur alle 81 Messungen zusammen.

Nur 6 Messungen (ca. 7 %) wichen um mehr als 20 % von der Sch¨atzung ab. F¨ur die HOME-Konfiguration war es aufgrund der asynchronen ¨Ubertragungsrate f¨ur Upload und Download schwierig, die tats¨achlich nutzbare Bandbreite abzusch¨atzen. Deshalb traten hier vermehrt hohe Abweichungen auf, wenn die Taskausf¨uhrungszeit gering und die Datengr¨oße hoch war.

In der UMTS- und CAMPUS-Konfiguration waren Upload und Download nur leicht