Prennsberger, A. (2017). A distributed approach to QoS-aware cloud resource scheduling [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2017.41891
Cloud Computing ist eine der wichtigsten Technologien um on-demand Services über das Internet verfügbar zu machen. Cloud Computing basiert auf der sogenannten Virtualization Technologie, über welche Cloud Konsumenten Zugriff auf theoretisch "unendlich" viel Rechenleistung haben. Diese wird üblicherweise über ein nutzungsbasiertes Preismodell angeboten. Das Ressourcen Scheduling Problem in der Cloud ist NP-Schwer. Es bezeichnet die Zuordnung von Workloads der Cloud Benutzer zu verfügbaren Ressourcen. Ziel der Cloud Anbieter ist es, hohe QoS (Kosten, Verfügbarkeit, Einhaltung von Deadlines) Standards einzuhalten. Cloud Konsumenten können jedoch überall auf der Welt verteilt sein und es ist zum Beispiel ineffizient Workloads von Konsumenten aus Europa in asiatischen Datenzentren zu bearbeiten. Durch die große geographische Distanz kann es außerdem der Fall sein, dass manche QoS Standards nicht mehr eingehalten werden können weil z.B. die Antwortzeiten zu groß sind. Deshalb sollten Ressourcen von verschiedenen Datenzentren an verschiedenen Standorten beim bearbeiten von Workloads berücksichtigt werden. Um das zu ermöglichen benötigt es verteilte Prozesse. In dieser Arbeit wird ein verteilter Ansatz für Ressourcen Scheduling in der Cloud - unter Berücksichtigung von QoS Standards - vorgestellt. Der Ansatz ist in zwei Phasen gegliedert: (i) Lokale Scheduling Phase und (ii) Resource Discovery Phase. In der Scheduling Phase werden Workloads auf verfügbaren Ressourcen zugeordnet. Dieses Optimierungsproblem wird mit Hilfe einer Particle Swarm Optimization Heuristik gelöst. Das lokale Scheduling findet innerhalb eines Datenzentrums statt. In der Resource Discovery Phase werden Workloads an andere Datenzentren weitergeleitet. Diese prüfen ob sie genug verfügbare Ressourcen haben um den Workload abarbeiten zu können. Wenn ja, antworten sie dem Sender mit Informationen zu ihren Ressourcen. Dadurch ist es möglich, lokale Ressourcen innerhalb eines Datenzentrums durch externe Ressourcen zu erweitern. Diese werden dann in der Scheduling Phase berücksichtigt. Mit Hilfe des CloudSim Frameworks wurde eine Simulation des Ansatzes durchgeführt. Die erzielten Ergebnisse zeigen, dass die Ausführungskosten von Workloads im Vergleich zu einem zentralen Scheduling Ansatz deutlich geringer sind. Die Einhaltung von Deadlines und Budgets ist ebenfalls besser wenn ein verteilter Ansatz verwendet wird. Vor allem bei sehr knappen Deadlines und in Szenarien mit sehr vielen Workloads sind die größten Verbesserungen durch einen verteilten Ansatz zu erkennen.
de
Cloud computing is one of the most important technologies for delivering on-demand services over the internet and has grown very fast over the last few years. Based on the virtualization technology, cloud consumer have access to seemingly 'unlimited' computing power in a pay-as-you-go manner. The cloud resource scheduling problem, where tasks from cloud users are mapped to cloud resources is known to be NP-hard. The aim of each cloud provider is to deliver high QoS (cost, availability, deadlines) to their users. Because cloud users could be from anywhere in the world, it would be inefficient to schedule for example resources in Asian data centers to European users. Also the QoS requirement of meeting application deadlines could not be met if response times are high. Hence, cloud resources from different locations (e.g. data centers) must be utilized to fulfill adequate response times for geographically-dispersed cloud consumers. In order to tackle these challenges, scheduling approaches should consider distributed cloud resources among different data centers using distributed processes. This work proposes a distributed approach to QoS-aware cloud resource scheduling. The overall approach is divided into two phases: (i) local scheduling phase and (ii) resource discovery phase. In the scheduling phase workloads are mapped to available resources using a Particle Swarm Optimization heuristic. This is done within a single data center. In the resource discovery phase, an incoming task (workload) is forwarded to adjacent data centers in order to determine if the have available resources which can handle the workload. If they are capable of processing the workload they send back a message to the requesting data center with their resource information. In this way, the local available resources within a single data center can be extended by remote resources from other data centers. They are then considered during the scheduling phase and are treated as local resources. An experimental simulation of the approach was conducted in the CloudSim framework. The observed results showed that the execution cost of submitted task are significantly lower for the distributed scheduling approach compared to a centralized one where only a single data center exists. Also the deadline violation rates and task completion rates are better when using the distributed approach. This is especially the case for very tight deadlines and large scale environments with many tasks. Because the distributed approach can utilize more resources from other data centers the results are better.