title: Virtual Machine Image Management for Elastic Resource Usage in Grid Computing
title: Management von Images Virtueller Maschinen für die elastische Nutzung von Ressourcen im Grid Computing
Creators: name: Fallenbeck, Niels
Publisher: name: Philipps-Universität Marburg
Year: 2012
Subjects: Virtualization
Virtualisierung
Scheduling
Grid Computing
Cloud Computing
Informatik
VM

description: 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.
description: 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.