Performance Modeling of Storage Virtualization

Nikolas Huber

In dieser Arbeit wird ein Modell zur Leistungsbewertung einer Software-Virtualisierungsschicht der IBM erarbeitet. An einem realen Anwendungsszenario der IBM wird gezeigt, wie sich solch ein architekturbasiertes Performance- Modell erstellen lässt und wie man mit Hilfe solcher Modelle die Leistung von Systemen verbessern kann. Dies ist die erste Arbeit, welche untersucht, inwiefern automatisch erzeugte Performance- Modelle zur Bewertung von Virtualisierungsarchitekturen in der Praxis eingesetzt werden können. Die Ergebnisse der Arbeit zeigen, dass solche Modelle eine unabdingbare Unterstützung bei der ingenieurmäßigen Softwareentwicklung bieten.

Ende der 60er Jahre wurde die Virtualisierung eingeführt, eine Softwareschicht, welche von der benutzten Hardware eines Systems abstrahiert und dadurch den Betrieb mehrerer „Virtueller Maschinen“ auf der gleichen Hardware ermöglicht. Viele der wichtigen Virtualisierungskonzepte, einschlägige Entwicklungen, und erste praktische Untersuchungen kamen von den IBM Mainframes (heute System z). Weil Hardware immer billiger wurde, verlor sich diese Idee der Virtualisierung wieder und die heutige Situation ist die, dass nach einer Studie der IBM (Mass Distributed Server Consolidation) die vielen verteilten Server (28 Mio. Ende 2007) nur bei einer durchschnittlichen Server- und Softwareauslastung von 5-7% arbeiten und dadurch die IT Kosten versechsfachen ($120 Milliarden für Management, $22 Milliarden für Energie, beides 2007). Die Virtualisierung lebt deshalb heute wieder neu auf, weil sie viele Vorteile verspricht, wie z.B. Einsparungen durch effizientere Ressourcen- Nutzung und Kosteneinsparungen bei der Wartung. Wichtiger noch ist die Bedeutung der Virtualisierung bei der „Green IT“, da man mit Hilfe von Virtualisierung viele einzelne Rechner auf einem großen Server konsolidieren und somit Energie sparen kann. In welchem Ausmaß Energie gespart werden kann, zeigt das IBM Projekt Big Green. Ziel ist es ca. 3900 verteilte Server auf 33 System z Mainframes zu konsolidieren. Dadurch sollen 92% weniger Hardware benötigt, 40% + fünf Jahre TCO und 80% der Energie (entspricht dem Energiebedarf einer Kleinstadt) eingespart werden.

Die vorliegende Arbeit wurde im Rahmen einer Kooperation der IBM Deutschland Research & Development GmbH in Böblingen und des Forschungszentrums für Informatik (FZI) in Karlsruhe angefertigt. Ein Forschungsziel der IBM als Vorreiter in der Virtualisierung ist Weiterentwicklung und Verbesserung ihrer Virtualisierungskonzpte. Die Fragestellungen der IBM, auf welche diese Diplomarbeit aufbaut, ist, ob und wie man Storage- Virtualisierung durch Einführung asynchroner Kommunikationskonzepte weiter optimieren und leistungsfähiger machen kann. Gründe im Vorfeld sind u.a. kürzere Antwortzeiten und eine höhere Flexibilität. Darüber hinaus interessiert die IBM auch, in welchem Maß aktuelle Werkzeuge zur Leistungsbewertung wie z.B. das Palladio Component Model (PCM) eingesetzt werden und die IBM Entwickler bei der Bewertung und Verbesserung von System-Software unterstützen können.

Das seit 2003 existierende und am Lehrstuhl von Professor Dr. Ralf H. Reussner entwickelte Palladio Component Model (PCM) ist eine neue, innovative Architekturmodellierungssprache zur Beschreibung der Leistungsfähigkeit von komponentenbasierter Software. Diese Architekturmodelle werden als Grundlage für eine Simulation verwendet, mit welcher die Performance-Einflüsse von sowohl verschiedener Entwurfsentscheidungen als auch Nutzungsszenarien untersucht und bewertet werden können. Die PCM Konzepte wurden bisher allerdings nur für betriebliche Software entwickelt und validiert.

Die Herausforderungen der Arbeit waren daher a) zu untersuchen, welche Entwurfsalternative (bestehende synchrone oder neu zu implementierende asynchrone Kommunikation) die bessere ist und b) wie gut und in welchem Umfang sich das PCM in einem Szenario der IBM Deutschland Research & Development GmbH systematisch einsetzen lässt. Ziel war es, die Virtualisierungsschicht für die Ein-/Ausgabe des IBM Mainframes zu modellieren und mit Messungen an der bestehenden Hardware zu kalibrieren. Anschließend sollte das Modell dazu benutzt werden, um die Simulations- und Analyseergebnisse der Entwurfsentscheidungen zu vergleichen und zu bewerten. Die Ergebnisse dieser Arbeit sollten Rückschlüsse auf die Performance- Eigenschaften des modellierten Systems als auch auf die Anwendbarkeit des PCM in der Praxis ermöglichen. Nachdem die Arbeit zunächst die nötigen Grundlagen der Virtualisierung und des PCM, sowie die Architektur des untersuchten Mainframes beschreibt, folgt danach eine detaillierte Beschreibung zweier Entwurfsalternativen zur Storage-Virtualisierung, die von mir mit Hilfe des Wissens der IBM-Entwickler erstellt wurde. Der Kern der Arbeit liegt in der Modellierung dieser Entwurfsalternativen. Da das Anwendungsgebiet von PCM bei der IBM außerhalb der für PCM vorgesehenen Domäne liegt, waren einige Kniffe nötig, um das Verhalten des Systems korrekt zu reflektieren. Anschließend wurde die synchrone Entwurfsalternative, die bereits implementiert war, anhand von Messungen kalibriert. Die Validierung des so erstellten synchronen Modells erfolgte anhand neuer Messungen, deren Parameter unabhängig waren von den Parametern der Messungen zur Kalibrierung. Nach diesen Schritten konnten aufgrund der Flexibilität des PCM-Modells die synchronen Komponenten durch ihre asynchronen Pendants ersetzt und damit die Analyse- und Simu- lationsergebnisse benutzt werden, um das Performance- Verhalten beider Entwurfsalternativen zu vergleichen und zu bewerten.

Die Ergebnisse, welche die Arbeit enthält, sind überraschend. Auf technischer Ebene hat sich gezeigt, dass sich für die betrachteten Nutzungsszenarien bei der IBM die Leistung der synchronen Entwurfsalternative nicht signifikant von der asynchronen unterscheidet. Das bedeutet, man kann sich bei der Auswahl der richtigen Alternative auf die besonderen Eigenschaften der jeweiligen Implementierung konzentrieren. So haben beispielsweise die Simulationsergebnisse deutlich gemacht, dass bei kurzzeitig hohem Anfrageaufkommen an das System die asynchrone Entwurfsalternative flexibler reagiert und bessere Antwortzeiten liefert. Des Weiteren war es mit Hilfe des Modells möglich, festzustellen, wo die Engpässe bei der Storage-Virtualisierung liegen. Um z.B. den Durchsatz unter hoher Systemlast weiter verbessern zu können, wäre schnellere Storage Hardware nötig, während mehr Rechenkapazität den Durchsatz bei wenig Last verbessern würde. Außerdem kann mit Hilfe eines Modells das Verständnis gerade bei komplexen Systemen gefördert werden. So hat sich beispielsweise bei der Entwicklung des Modells durch Widersprüche zwischen Vorhersageergebnissen und Messungen gezeigt, dass das System für die Messungen nicht optimal konfiguriert war.

Was die Praktikabilität des PCM angeht, so verdeutlicht diese Arbeit, dass das PCM schon jetzt ein sehr ausgereiftes Werkzeug ist, welches mit wenigen Einschränkungen in aktuellen Anwendungsgebieten und Forschungsbereichen einsetzbar ist. Des Weiteren macht diese Arbeit deutlich, dass architekturbasierte Performance-Modelle im Allgemeinen ein effektives und kostengünstiges Mittel sind, um schnell und effizient die Leistungsfähigkeit von Systemen zu bewerten und auch um bestehende Systeme zu hinterfragen. Aufbauend auf dem in dieser Arbeit erstellten Modell könnte die IBM noch viele weitere Fragestellungen mit Hilfe der Simulationsergebnisse beantworten, angefangen bei „Welche Komponenten müssen verbessert werden, um die Leistungsfähigkeit des Systems zu steigern?“ bis hin zu „Wie muss man die Storage-Virtualisierung bei Kunde X konfigurieren, wenn er ein Nutzungsprofil Y und Z hat, damit das System so effizient wie möglich arbeitet?“.

Der innovative Beitrag dieser Arbeit besteht in der erfolgreichen Modellierung und Kalibrierung einer Virtualisierungsschicht in einem praktischen Anwendungsszenario der IBM. Die Ergebnisse der Arbeit wurden von der IBM erfolgreich zu einer Entscheidungsfindung über ein Performanceoptimiertes Design einer System-Software im Rahmen einer Machbarkeitsstudie herangezogen. Im Vergleich mit der parallel durchgeführten prototypischen Implementierung der zur Auswahl stehenden Design-Varianten, überzeugte die in der Arbeit angewandte Simulation mit PCM vor allem durch ihre Flexibilität und Effektivität. Belege dafür sind der deutlich geringere Zeit- und Personalaufwand und die kurzfristige Umsetzung von Änderungen in den Design-Anforderungen. Diese Ergebnisse verdeutlichen außerdem, dass mit diesem innovativen Werkzeug zur ingenieurmäßigen Softwareentwicklung effektiv und effizient Vergleiche und auch Bewertung verschiedener Entwurfsalternativen in Bezug auf die Performance von Systemen möglich sind. Des Weiteren hat sich gezeigt, dass ein Modell die Entwickler beim Verständnis eines so komplexen Systems unterstützt. Ohne dieses Modell ist eine Leistungsbeurteilung des Systems nicht ohne weiteres möglich, da das Wissen über das System über Abteilungsgrenzen hinweg verteilt ist. Bisher konnte in der Regel die Leistungsbewertung von Systemen nur von erfahrenen Entwicklern oder überhaupt nicht durchgeführt werden. Der eigentliche innovative Beitrag dieser Arbeit macht deutlich, wie und mit welchen Mitteln die Leistungsbewertung von Systemen unabhängig von Erfahrungswissen und Anwendungskontext erfolgreich durchgeführt werden kann.