Publikationsserver der Universitätsbibliothek Marburg

Titel: Virtual Machine Image Management for Elastic Resource Usage in Grid Computing
Autor: Fallenbeck, Niels
Weitere Beteiligte: Freisleben, Bernd (Prof. Dr.)
Erscheinungsjahr: 2012
URI: https://archiv.ub.uni-marburg.de/diss/z2011/0619
URN: urn:nbn:de:hebis:04-z2011-06190
DOI: https://doi.org/10.17192/z2011.0619
DDC: Informatik
Titel(trans.): Management von Images Virtueller Maschinen für die elastische Nutzung von Ressourcen im Grid Computing

Dokument

Schlagwörter:
Grid Computing, VM, Virtualisierung, Scheduling, Scheduling, VM, Cloud Computing, Virtualization, Grid Computing, Cloud Computing
Referenziert von:

Summary:
Grid Computing has evolved from an academic concept to a powerful paradigm in the area of high performance computing (HPC). Over the last few years, powerful Grid computing solutions were developed that allow the execution of computational tasks on distributed computing resources. Grid computing has recently attracted many commercial customers. To enable commercial customers to be able to execute sensitive data in the Grid, strong security mechanisms must be put in place to secure the customers' data. In contrast, the development of Cloud Computing, which entered the scene in 2006, was driven by industry: it was designed with respect to security from the beginning. Virtualization technology is used to separate the users e.g., by putting the different users of a system inside a virtual machine, which prevents them from accessing other users' data. The use of virtualization in the context of Grid computing has been examined early and was found to be a promising approach to counter the security threats that have appeared with commercial customers. One main part of the work presented in this thesis is the Image Creation Station (ICS), a component which allows users to administer their virtual execution environments (virtual machines) themselves and which is responsible for managing and distributing the virtual machines in the entire system. In contrast to Cloud computing, which was designed to allow even inexperienced users to execute their computational tasks in the Cloud easily, Grid computing is much more complex to use. The ICS makes it easier to use the Grid by overcoming traditional limitations like installing needed software on the compute nodes that users use to execute the computational tasks. This allows users to bring commercial software to the Grid for the first time, without the need for local administrators to install the software to computing nodes that are accessible by all users. Moreover, the administrative burden is shifted from the local Grid site's administrator to the users or experienced software providers that allow the provision of individually tailored virtual machines to each user. But the ICS is not only responsible for enabling users to manage their virtual machines themselves, it also ensures that the virtual machines are available on every site that is part of the distributed Grid system. A second aspect of the presented solution focuses on the elasticity of the system by automatically acquiring free external resources depending on the system's current workload. In contrast to existing systems, the presented approach allows the system's administrator to add or remove resource sets during runtime without needing to restart the entire system. Moreover, the presented solution allows users to not only use existing Grid resources but allows them to scale out to Cloud resources and use these resources on-demand. By ensuring that unused resources are shut down as soon as possible, the computational costs of a given task are minimized. In addition, the presented solution allows each user to specify which resources can be used to execute a particular job. This is useful when a job processes sensitive data e.g., that is not allowed to leave the company. To obtain a comparable function in today's systems, a user must submit her computational task to a particular resource set, losing the ability to automatically schedule if more than one set of resources can be used. In addition, the proposed solution prioritizes each set of resources by taking different metrics into account (e.g. the level of trust or computational costs) and tries to schedule the job to resources with the highest priority first. It is notable that the priority often mimics the physical distance from the resources to the user: a locally available Cluster usually has a higher priority due to the high level of trust and the computational costs, that are usually lower than the costs of using Cloud resources. Therefore, this scheduling strategy minimizes the costs of job execution by improving security at the same time since data is not necessarily transferred to remote resources and the probability of attacks by malicious external users is minimized. Bringing both components together results in a system that adapts automatically to the current workload by using external (e.g., Cloud) resources together with existing locally available resources or Grid sites and provides individually tailored virtual execution environments to the system's users.

Zusammenfassung:
Grid Computing hat sich von einem im wissenschaftlichen Umfeld initiierten Konzept zu einem mächtigen Paradigma im Bereich des Höchstleistungsrechnens entwickelt. Während der letzten Jahre wurden Grid-Systeme entwickelt, welche die automatische Verteilung und Ausführung von Berechnungen auf (geografisch) verteilten Ressourcen ermöglichen. Diese Grid-Systeme haben in den letzten Jahren die Aufmerksamkeit immer mehr kommerzieller Anwender erregt. Um diesen Anwendern die Verarbeitung vertraulicher Daten in Grid-Systemen zu ermöglichen, müssen starke Sicherheitsmechanismen entwickelt werden, um diese Daten vor dem Zugriff unberechtigter Dritter zu schützen. Im Gegensatz zu Grid Computing wurde das Konzept des Cloud Computing, welches im Jahr 2006 öffentlich vorgestellt wurde, von industriellen Anbietern entwickelt: Datensicherheit war von Anfang an ein wichtiger Aspekt. Um dies zu gewährleisten, wird Virtualisierungstechnologie eingesetzt, die eine sichere Trennung der Anwender ermöglicht, indem jeder Anwender eine eigene virtuelle Maschine zugeteilt bekommt, die verhindert, dass der Benutzer nur auf die in seiner virtuellen Maschine vorhandenen Daten zugreifen kann. Um die Sicherheit in Grid-Systemen zu erhöhen, wurde daher früh die Verwendung von Virtualisierungstechnologie auch in diesem Umfeld untersucht. Dabei stellte sich heraus, dass dieser Ansatz vielversprechend ist, um die Sicherheitsanforderungen kommerzieller Anwender in Grid-Systemen zu erfüllen. Ein Hauptteil der in dieser Dissertation vorgestellten Arbeit stellt die Image Creation Station (ICS) dar, eine Komponente, die es Anwendern erlaubt, ihre virtuellen Maschinen selbst zu erstellen und zu administrieren, und die für die automatische Verteilung dieser virtuellen Maschinen auf alle Ressourcen eines verteilten Systems verantwortlich ist. Im Gegensatz zu Cloud Computing, das auch unerfahrenen Benutzern das Ausführen ihrer Programme in der Cloud einfach ermöglicht, sind Grid-Systeme auf Grund ihrer Komplexität deutlich schwieriger zu verwenden. Die ICS vereinfacht die Benutzung eines Grid-Systems, indem sie traditionelle Einschränkungen beseitigt. Dazu zählt vor allem die Installation eigener Software auf den Rechenknoten, die für die Ausführung der Berechnungen der Anwender verwendet werden. Dies war früher nur durch den Administrator der physikalischen Ressourcen möglich und musste für jede im verteilten System vorhandene Ressource wiederholt werden. Durch die ICS ist es Anwendern möglich, sogar kommerzielle Software in Grid-Systemen zu verwenden, ohne dass andere Anwender des Systems Zugriff auf die Software haben. Weiterhin findet eine Verschiebung der Administrationstätigkeit vom Administrator der physikalischen Ressourcen hin zu den Anwendern oder erfahrenen Kollegen statt und ermöglicht die Bereitstellung individuell angepasster virtueller Maschinen für jeden Anwendungszweck. Die ICS ist nicht nur für die Bereitstellung der Administrationswerkzeuge verantwortlich, sondern sorgt auch dafür, dass die verschiedenen virtuellen Maschinen auf allen dem verteilten System angeschlossenen physikalischen Ressourcen verwendet werden können. Ein zweiter Aspekt der vorgestellten Lösung zielt auf die Elastizität des Systems, indem abhängig von der aktuellen Auslastung des Systems automatisch Ressourcen angefordert werden. Im Gegensatz zu bestehenden Systemen erlaubt die vorgestellte Lösung das Hinzufügen und Entfernen von Ressourcen, ohne die Ausführung von Berechnungen zu unterbrechen. Weiterhin können mit den präsentierten Komponenten nicht nur Grid-Ressourcen zur Durchführung von Berechnungen genutzt werden, sondern auch Cloud-Ressourcen dynamisch angefordert und verwendet werden, falls die vorhandenen Ressourcen nicht ausreichen, den Bedarf an Rechenkapazität zu decken. Durch das sofortige Herunterfahren nicht mehr benötigter Cloud-Ressourcen werden die Kosten für die Durchführung einer einzelnen Berechnung minimiert. Zusätzlich hat ein Anwender des präsentierten Systems die Möglichkeit, die Entscheidung zu beeinflussen, auf welchen Ressourcen seine Berechnungen durchgeführt werden. Dies ist entscheidend, wenn Daten verarbeitet werden müssen, die auf Grund gesetzlicher Bestimmungen oder sicherheitsrelevanter Bedenken die Firma oder das Land nicht verlassen dürfen. Um in heutigen Systemen ein vergleichbares Verhalten zu erreichen, ist der Anwender gezwungen, seine Berechnungen direkt an die entsprechenden Ressourcen zu senden und damit die Möglichkeit der automatischen Verteilung und optimalen Ressourcennutzung aufzugeben. Die in dieser Dissertation vorgestellten Komponenten ermöglichen den Aufbau eines System, das sich automatisch an die aktuelle Auslastung anpasst, indem es Grid und Cloud-Ressourcen zusammen mit lokal vorhandenen Ressourcen für die Durchführung von Berechnungen nutzen kann und jedem Anwender individuell angepasste virtuelle Ausführungsumgebungen zur Verfügung stellt.


* Das Dokument ist im Internet frei zugänglich - Hinweise zu den Nutzungsrechten