Eine Cloud-basierte Software Infrastruktur für verteilte Simulation

Eine Cloud-basierte Software Infrastruktur für verteilte Simulation

Das Spektrum von Cloud Computing-Diensten reicht von einfachen BackUp-Diensten bis hin zu der Möglichkeit ganze Rechencluster in einer Remote-Umgebung aufzusetzen. Firmen können Cloud Computing nutzen um Spitzenlasten in ihrer IT-Infrastruktur zu bedienen indem sie automatisch nach Bedarf (engl. on demand) Ressourcen bei einem Cloud-Provider mieten. Durch die Flexibilität, Kosteneffizienz und Benutzerfreundlichkeit sind Cloud-Dienste auch für wissenschaftliche Simulationen interessant um Herausforderungen an Rechenleistung und Speicher zu lösen. Indem wissenschaftliche Arbeitsgruppen Cloud-Dienste nutzen, reduzieren sie ihren Aufwand die benötigte IT-Infrastruktur zu Verfügung stellen und zu pflegen.

Beim Cloud Computing unterscheidet man allgemein zwischen „Infrastructure-as-a-Service“ (IaaS), „Platform-as-a-Service“ (PaaS) und „Software-as-a-Service“ (SaaS). Innerhalb dieser Architektur kann ein spezialisierter Cloud Computing- Dienst („Simulation Platform-as-a-Service“ (SimPaaS)) implementiert werden, der die Ressourcennutzung für wissenschaftliche Simulationen vereinfacht und optimiert.

Unsere SimPaaS-Cloud soll eine Plattform auf IaaS implementieren, welche virtualisierte Ressourcen für die automatische, verteilte und skalierbare Bereitstellung von Simulationsanwendungen zur Verfügung stellt. Spezielle Simulationsanwendungen können dann auf dieser Plattform als SaaS implementiert werden. Für die Evaluierung unserer Konzepte haben wir, basierend auf dem häufig in der Industrie eingesetzten, quelloffenem  Cloud-Betriebssystem OpenStack, eine prototypische IaaS-Cloud aufgesetzt. Unser Langzeit-Ziel ist es, eine Cloud-basierte Software Infrastruktur den am SWZ beteiligten Wissenschaftlern zur Verfügung zu stellen, die Wissenschaftler bei Simulationen im Rahmen des SWZ Clausthal-Göttingen unterstützt. Unsere Forschung konzentriert sich auf die folgenden drei Aspekte einer SimPaaS Cloud. 

Benutzerfreundlichkeit

Das Abstraktionsniveau und die Flexibilität von Cloud-Diensten bieten die Chance den Bereitstellungs- und Managementaufwand von IT-Infrastruktur für Wissenschaftler zu minimieren. Wir untersuchen, wie eine Cloud-basierte Software Infrastruktur Wissenschaftler innerhalb des kompletten Simulationsablaufes unterstützen kann. Dieser umfasst Modellierung, Ausführung, Monitoring und Zusammenfassung und Darstellung der Simulationsergebnisse. In der Modellierungsphase können modell-getriebene Entwicklungsmethoden aus der Softwaretechnik genutzt werden. Eine Option ist es eine grafische Modellierungssprache (z.B. UML) für die Modellierung von Simulationen zu erweitern. Eine andere Option ist die Entwicklung einer domänenspezifischen Sprache (DSL) für die Entwicklung von Simulationsanwendungen. Um die Bereitstellung der Rechenressourcen zu vereinfachen, untersuchen wir zusätzlich Techniken um die entwickelten Simulationen automatisch auf eine Cloud-Infrastruktur abzubilden.

Zuverlässigkeit

Wir entwickeln ein hierarchisches Modell um die Zuverlässigkeit der Simulationsanwendungen in der Cloud zu beurteilen und zu verbessern. Das Modell erfasst die Abhängigkeiten der Cloud-Komponenten (physikalische Server, Instanzen, Webserver, Dienste, etc.) durch Auswertung ihrer Bereitstellung und der genutzten Cloud-Struktur. Basierend auf diesen Abhängigkeiten wird die Zuverlässigkeit einer Simulationsanwendung bewertet und der Einfluss der Zuverlässigkeit einzelner Cloud-Komponenten auf die Zuverlässigkeit der Anwendung bestimmt. Kombiniert man diese Ergebnisse mit den cloud- und anwendungsspezifischen Zusatzbedingungen, wie Zuverlässigkeitsanforderungen, Ressourcenlimitierungen und Performanzanforderungen, können Strategien zur Verbesserung der Zuverlässigkeit abgeleitet werden. Diese Strategien können z.B. zeigen wie die Bereitstellung von Cloud-Ressourcen verbessert werden kann (wo sollen Instanzen gestartet werden, bzw. wie viele Instanzen sollen gestartet werden) oder welche Cloud-Komponente verbessert werden müssen um die Zuverlässigkeit einer Anwendung zu erhöhen.

Effizienz

Laut einer Untersuchung, die im Rahmen des 2013 OpenStack Treffens in Hong Kong veröffentlicht worden ist, sind Kosteneinsparung, operative Effizienz und Plattformoffenheit die drei Haupttreiber für OpenStack basierte Clouds. Wir sind speziell an der operativen Effizienz oder genauer einer hohen Performanz unserer Cloud Umgebung interessiert.

Um Effizienz in der Ressourcennutzung zu erreichen, werden verschiedene Optionen untersucht und implementiert, dazu gehören:

  • die Entwicklung alternativer Scheduling-Mechanismen für virtuelle Maschinen (VMS),
  • Live-Migration von virtuellen Maschinen während der Simulationsausführung,
  • die Verringerung von Netzwerk- und Virtualisierungslatenzzeiten (z.B. durch TCP/IP Kommunikationsoverhead),
  • die Erhöhung der Priorität einzelner Cloud-Dienste durch deren Ausführung innerhalb eines Echtzeit-Betriebssystems.

Alternative Scheduling-Mechanismen für VMs können unter Berücksichtigung der optimalen Hardware-Anforderungen für Simulationsanwendugen implementiert werden. Eine Möglichkeit ist es, neue Kontrollmechanismen für das VM-Scheduling zu implementieren (z.B. mit Prioritäten oder unter Angabe von festen Zeitpunkten). Eine weitere Möglichkeit ist, die Scheduling-Mechanismen für bestimmte Simulationsklassen anzupassen.

Live Migration ermöglicht es VMs neu zu arrangieren und anderen, besser passenden physikalischen Servern zuzuweisen, welche noch nicht zur Verfügung standen, als die VMs initial geschedult wurden. Dies kann helfen die Ausnutzung der Ressourcen und die Performanz der Simulationsanwendung zu verbessern.  

Ein Weg die Netzwerk- und Virtualisierungslatenzzeiten zu reduzieren, ist den TCP/IP Kommunikationsoverhead zu minimieren oder ihn ganz zu vermeiden indem andere Kommunikationsmechanismen genutzt werden.

Höhere Effizienz kann erreicht werden, indem das Host-Betriebssystem mit Echtzeit-Fähigkeiten ausgestattet und die Prioritäten der einzelnen Cloud-Dienste erhöht werden. Zum Beispiel kann der VM-Scheduler mit höheren Prioritäten ausgestattet werden, um ihm Vorzug vor anderen lokalen Prozessen zu geben.

Anwendungsfälle

Um unsere Ansätze zu evaluieren, arbeiten wir eng mit Wissenschaftlern aus unterschiedlichen Bereichen zusammen, die Beispielsimulationen aus ihrem Anwendungsbereich zur Verfügung gestellt haben. Die folgenden drei Anwendungen wurden ausgewählt um eine möglichst heterogene Testmenge für unseren Cloud-Dienst zu bilden:

  • Materialsimulationen (Prof. Brenner, TU Clausthal)
  • Monte-Carlo Simulationen aus der Hochenergiephysik (Prof. Quadt, Uni Göttingen)
  • Modellierung und Optimierung von öffentlichen Verkehrssystemen (Prof. Schöbel, Uni Göttingen)

Antragstellender Wissenschaftler

Veröffentlichungen

2016

  • F. Glaser, Domain Model Optimized Deployment and Execution of Cloud Applications with TOSCA , Proceedings of the 9th System Analysis and Modelling Conference (SAM 2016), Saint-Malo, France, 2016. 

2015

  • F. Glaser, J. N. Serrano, J. Grabowski, A. Quadt, ATLAS user analysis on private cloud resources at GoeGrid , Proceedings of the 21st Conference on Computing in High Energy Physics and Nuclear Physics (CHEP 2015), 13-17 April, Okinawa, Japan, available online: http://iopscience.iop.org/article/10.1088/1742-6596/664/2/022020, 2015. 
  • F. Glaser, Towards Domain-Model Optimized Deployment and Execution of Scientific Applications in Cloud Environments , Proceedings of the Doctoral Symposium at the 5th Conference on Cloud Computing and Services Sciences (DCCLOSER 2015), Lisbon, Portugal, 2015.
  • M. Göttsche, F. Glaser, S. Herbold, J. Grabowski, Automated Deployment and Parallel Execution of Legacy Applications in Cloud Environments, Proceedings of the 8th IEEE International Conference on Service Oriented Computing & Applications (SOCA 2015), Rom, Italy, 2015.
  • H. Richter, About the Suitability of Clouds in High-Performance Computing, to be published in Proc. ISC Cloud&Big Data, Sept. 28–30, Frankfurt, Germany, 2015.
  • H. Richter and A. Keidel and R. Ledyayev, Über die Eignung von Clouds für das Hochleistungsrechnen (HPC), in IfI Technical Report Series ISSN 1860-8477, IfI-15-03, editor: Department of Computer Science, Clausthal University of Technology, Germany, 2015.

2014

2013