Schauer, G. (2016). Predicting scalability of standalone spplications in cloud environments [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2016.22722
Cloud Computing eröffnet eine Vielzahl an Möglichkeiten wie z.B. die Verfügbarkeit oder Fehlertoleranz von Applikationen zu verbessern. Dabei entsteht aber auch ein unter Umständen nicht vernachlässigbarer Overhead. Es gibt verschiedene Ansätze um diesen, beispielsweise mittels Monitoring, zu identifizieren und zu vermindern. Diese großteils reaktiven Lösungen bieten jedoch keine Möglichkeit vorab hinreichend genaue Vorhersagen über Skalierbarkeit von Applikationen auf Cloud Plattformen zu treffen. Die vorliegende Diplomarbeit beschäftigt sich mit dieser Thematik und geht unter anderem der Frage nach ob und wie sich gewisse Performanceeigenschaften einer Applikation vorhersagen lassen ohne diese auf der Zielplattform zu betreiben. Dazu wurden anerkannte Modelle wie jene von Amdahl und Gustafson auf ihre Anwendbarkeit für Cloud Computing untersucht. Darauf aufbauend wurde ein Modell entwickelt, welches die Skalierbarkeit von Programmen unter Berücksichtigung von Cloud-spezifischen Eigenschaften mathematisch beschreibt. Anhand zweier Applikationen mit unterschiedlichen Lastprofilen wurde dieses Modell evaluiert. Dazu wurde ein leichtgewichtiger Profiler implementiert um Laufzeitinformationen der verteilten Applikationen zu sammeln. Die so gewonnen Daten wurden gefiltert, nach Thread geclustert und auf Methoden- und Klassenebene aggregiert. Anschließend wurden sie interpoliert und mit den Vorhersagen über die zu erwartende Performance verglichen. Desweiteren wurden Abweichungen analysiert und deren Ursachen wie Garbage Collection diskutiert. Die Arbeit zeigt, dass beispielsweise im Zuge einer Applikationsmigration entstehende geringfügige Änderungen die Performancecharakteristika der Applikation signifikant verändern können. Modelle, wie jenes, das im Rahmen der Arbeit entwickelt wurde, können wertvolle Informationen über beispielsweise Skalierbarkeit und technische Limits liefern.
de
Cloud computing opens up a variety of options, such as improving availability or fault tolerance of applications. However, it might also entail non-negligible overhead. There are different approaches for identifying and reducing overhead (e.g., by using a monitoring software). Most of those solutions are reactive and do not offer a way to do accurate predictions about scalability of applications running on cloud platforms. This thesis deals with the issue and considers the question of how to predict certain performance characteristics of an application without running it on the target platform. Generally accepted models such as Amdahl-s and Gustafson-s Law were examined for their applicability to cloud computing. Based on them, a model, which mathematically describes the scalability of applications under consideration of cloud specific properties, was developed. The model was evaluated on two applications with different load profiles. For this purpose, a lightweight profiler has been implemented to gather runtime information of the distributed applications. The collected data were filtered, clustered by thread, and aggregated by method and class level. Then they were interpolated and compared with the performance predictions. The deviations were analyzed and causes like garbage collection were discussed. The work shows that, for example, minor changes in the application can have a significant impact on the performance characteristics of the application. Models such as the one developed in the context of this thesis provide valuable information (e.g., scalability and technical limits).