Paul Horn

Transcription

Paul Horn
Universität Jena, Institut für Informatik
LS für Datenbanken und Informationssysteme – Prof. Dr. Küspert
Seminar: Aspekte und Werkzeuge der Datenbankadministration
“The information technology industry loves
to prove the impossible nothing”
- Paul Horn
Christian Adam
Seminararbeit – Autonomic Computing
Inhalte
Seite
1. Motivation
3
2. Autonomic Computing
4
2.1 Die Vision
4
2.2 Ziele
5
3. Self-Management
6
3.1 Self-Configuring
6
3.2 Self-Optimizing
7
3.3 Self-Healing
7
3.4 Self-Protecting
8
3.5 Self-Organizing
9
3.6 Self-Inspecting
9
4. Architekturelle Überlegungen
10
5. Integrationsstufen
12
6. Ausgewählte heutige Ansätze
14
7. Fazit
15
Christian Adam
Seite 2 von 16
Seminararbeit – Autonomic Computing
1. Motivation
Historisch betrachtet hat die computergestützte Datenverarbeitung in den
letzten 60 Jahren gewaltige Fortschritte gemacht. Es vollzogen sich viele
Entwicklungen und Veränderungen in der Informatikbranche. Dabei ist vor allem
ein deutlicher Wandel der Benutzerstruktur von Computersystemen zu
verzeichnen. Während die ersten Großrechner anfangs von mehreren Benutzern
verwaltet und betrieben wurden (1:n), initiierte die spätere Einführung von
Personalcomputern eine 1:1 – Beziehung zwischen Benutzer und Rechner, bis hin
zum 21.Jahrhundert, in dem die meisten einzelnen Benutzer schließlich eine
Mehrzahl an Computersystemen besitzen (n:1). Damit sind nicht nur PCs
gemeint, sondern auch andere elektronische Geräte wie beispielsweise Handys
und PDAs. Computersysteme werden zunehmend über Netzwerke miteinander
verbunden, was vor allem bei größeren Unternehmen eine bedeutende Rolle
spielt. Die Interaktion der einzelnen Geräte hat sich dabei enorm vervielfacht.
Wirtschaftssubjekte sind gezwungen eine Vielzahl von Softwaresystemen zu
unterhalten um einen heterogenen Informationsaustausch mit Kunden,
Lieferanten etc. gewährleisten zu können und somit konkurrenzfähig zu bleiben.
Dazu müssen ständig neue Softwareprodukte in das Gesamtsystem eines
Unternehmens integriert werden, was oft umfangreiche Aufgaben mit sich bringt,
z.B. bei der Migration einer Datenbank.
Konventionelle Benutzer haben immens hohe Anforderungen an
Computersysteme, die im Alltag verwendet werden, insbesondere bezüglich
Verfügbarkeit, Performanz und Sicherheit. Andererseits beansprucht jedes
einzelne Gerät den Nutzer und dessen Zeit immer mehr, so dass er mit
steigender Anzahl an Geräten kontinuierlich mit deren Bedienung überfordert
wird. Es werden hoch qualifizierte Spezialisten bzw. Systemadministratoren
benötigt, deren Aufgaben in diesem Zuge sehr viel komplexer und
zeitaufwendiger werden. Die Hauptaufgaben zielen einerseits auf die Installation
und Integration neuer sowie die Wartung, Bedienung, Konfiguration und
Optimierung vorhandener Computersysteme ab.
Moore´s Law [1] ist ein Indiz für die verblüffende Kontinuität dieses
Fortschrittes und zeigt dass jahrelang immer neue Rekorde in der
Informationstechnik aufgestellt und ständig neue Soft- und Hardwareprodukte
entwickelt wurden.
Abb. 1: Moore's Law
Christian Adam
Seite 3 von 16
Seminararbeit – Autonomic Computing
Diese Gesetzmäßigkeit von Gordon Moore ist eine aus empirischer Beobachtung
gegründete Faustregel, die besagt, dass durch den technischen Fortschritt sich
die Komplexität von integrierten Schaltkreisen etwa alle 24 Monate verdoppelt
(siehe Abbildung 1).
Forscher meinen, dass das zukünftige Problem der IT-Branche weder mangelnder
Speicherplatz noch mangelnde Rechenzeit sein wird, sondern vielmehr wird
durch die ständige technische Weiterentwicklung und Vergrößerung der
Computersysteme die Komplexität dieser Systeme dem Menschen früher oder
später über den Kopf wachsen. Diese Annahme erscheint allerdings extrem
paradox, da doch seit Jahrzehnten diese Komplexität von Rechensystemen der
große Ansporn aller Entwicklungen war. Des Weiteren wird gemutmaßt, dass
dieses Problem den Menschen daran hindern wird den Schritt in die nächste Ära
der rechnergestützten Datenverarbeitung zu bewältigen.
Um diesem Phänomen der explodierenden Komplexität entgegenzuwirken gibt es
den Lösungsansatz bzw. die Vision des Autonomic Computing. Wie der Name
schon erkennen lässt, ist das Autonomic Computing darauf angelegt die
Gesamtheit der Computersysteme möglichst autonom fungieren zu lassen.
Neben der wachsenden technologischen Komplexität gibt es drei weitere zentrale
Triebkräfte des Autonomic Computing. Sowohl die steigende Größe der
Infrastruktur (immer mehr Benutzer greifen zur gleichen Zeit auf einen Service
zu), wie auch die wachsenden Kosten des Systems, zur Instandhaltung und
Wartung, und der Mangel an qualifizierten Arbeitskräften und
Arbeitsbedingungen verlangen eine grundlegende Lösung.
2.1 Die Vision des Autonomic Computing
Die Vision wurde erstmals im März 2001 von Paul Horn auf der "National
Academy of Engineers" an der Harvard Universität vorgestellt. Paul Horn
arbeitete damals als Vizepräsident der Forschungsabteilung von IBM.
Er versuchte den Grundgedanken der Informatik fortzusetzen, Abläufe zu
automatisieren und dem Benutzer Aufwand zu ersparen, den er im Umgang mit
Computersystemen hat. Als einer der ersten erkannte Paul Horn, dass das
zukünftige Grundproblem der Informatik die Komplexität der Systeme sein wird
und beschrieb dieses in seinem Manifesto [3].
”We obliterate barriers and set records with
astonishing regularity. But now we face a problem
springing from the very core of our success - and
too few of us are focused on solving it.”
“More than any other I/T problem, this one - if it
remains unsolved - will actually prevent us from
moving to the next era of computing.”
Abb. 2: Paul Horn
“The obstacle is complexity. Dealing with it is the single most
important challenge facing the I/T industry.”
Christian Adam
Seite 4 von 16
Seminararbeit – Autonomic Computing
Paul Horn wählte den Begriff des Autonomic Computing mit Anlehnung an den
medizinischen Begriff des autonomen Nervensystems, da sich viele Parallelen
zwischen dem medizinischen und dem ingenieurwissenschaftlichen Begriff
aufzeigen lassen. So steuert beispielsweise das vegetative Nervensystem
autonom die Vitalfunktionen wie Atmung, Verdauung oder den Stoffwechsel. Es
übernimmt somit Routinefunktionen, so dass sich das Gehirn auf komplexere
Vorgänge konzentrieren kann. Der Mensch kann deshalb einerseits durch „tiefes
Durchatmen“ sein Bewusstsein explizit der Atmung widmen, andererseits ist es
ihm möglich bei aktiver sportlicher Betätigung die Atmung zu steigern, ohne dass
ihm das direkt bewusst ist. In dieser Weise sollen autonome Systeme
funktionieren. Auf Computersysteme übertragen, soll sich ein Administrator nicht
mehr um die alltäglichen Probleme kümmern müssen. Routineaufgaben und
Probleme wie Speicherengpässe, Geschwindigkeitsprobleme etc. sollen vom
System selbstständig gelöst werden (entspricht „unbewusstem Steigern der
Atmung“). Nur falls Probleme nicht selbstständig lösbar sind, soll der
Administrator informiert werden um entsprechende Maßnahmen einzuleiten
(entspricht „eigenem tiefen Durchatmen“).
2.2 Ziele des Autonomic Computing
Ziel des Autonomic Computing ist es möglichst viele Aufgaben das System
selbstständig lösen zu lassen, ohne dass die Interaktion der Benutzer von Nöten
ist. Die Entscheidungsfreiheit liegt beim System. Es trifft dabei alle
Entscheidungen immer in Betracht auf die Hauptorientierung des Unternehmens
bzw. entsprechend den Vorgaben des Administrators. Diese so genannten
Service Level Agreements (SLA) werden explizit spezifisch vorgegeben und
stellen eine Zielorientierung für das System dar.
Des Weiteren soll das System alle wichtigen Parameter autonom überwachen
und bei auftretenden Abweichungen oder Änderungen entsprechende
Maßnahmen einleiten. Dem Ideal der Vision entsprechend sollten Lösungen nicht
nur für Routineprobleme gefunden werden, sondern sogar für unerwartete
Probleme, deren Lösung nicht unmittelbar bekannt ist. Das System soll in
gewisser Weise lernfähig sein.
Ein weiteres zentrales Ziel ist die Entlastung der Benutzer und
Systemadministratoren. Diese haben dementsprechend mehr Zeit für wichtigere
Aufgaben und müssen nicht rund um die Uhr vor Ort sein, falls Probleme
auftauchen. Administratoren können Problemlösungen hinausschieben während
das System andere verfügbare Ressourcen zum Überbrücken beansprucht.
Wirtschaftlich betrachtet zielt das Autonomic Computing vor allem auf deutliche
Kostenersparnisse und eine gute Ausfallsicherheit der Systeme ab. Erweiterte
Systeme können weiterhin mit dem gleichen Personal verwaltet werden.
Vorteilhafter Weise wird das Personal schließlich seine Zeit effektiver nutzen
können.
Christian Adam
Seite 5 von 16
Seminararbeit – Autonomic Computing
3. Self-Management
[4,5]
Der Begriff des Self-Managements ist der zentrale Begriff des
Autonomic Computing. Aus dieser Hauptvorstellung werden vier
Teilfelder abgeleitet, die den angestrebten Eigenschaften des
Autonomic Computing entsprechen und in ihrer Gesamtheit zum
Selbst-Management führen sollen. Als Kernfunktionalität zielt
Selbst-Management stets auf eine optimale Performance des
Systems bezüglich der Erfüllung der SLAs ab. Es muss darum
kontinuierlich die eigene Auslastung überprüfen um gegebenenfalls Abb. 3: CHOP
Schritte einzuleiten, die Engpässe verhindern. Aus diesem Ansatz
resultiert die Self-Optimizing-Eigenschaft. Nach jeder Veränderung des
Systems, wie nach einem Optimierungsversuch oder der Integration einer neuen
Komponente, ist immer ein Selbsttest vorgesehen. Falls also Fehler aufgetreten
sind, soll die Eigenschaft des Self-Healing garantieren, dass diese Fehler
autonom lokalisiert und behoben werden.
Ein weiterer wichtiger Faktor ist die Sicherheit des Systems vor Angriffen von
innen und außen, der auf die Fähigkeit des Self-Protecting schließen lässt.
Die Letzte zentrale Eigenschaft ist das Self-Configuring bzw. die
Selbstkonfiguation neuer Komponenten.
Die Fähigkeit des Self-Managements wird in Fachkreisen auch als CHOP
bezeichnet, welches sich aus den Anfangsbuchstaben der vier Eigenschaften
ergibt. In den folgenden Abschnitten wird jede Funktion des CHOP tiefgründiger
erläutert.
3.1 Self-Configuring
Mit der anfangs erwähnten steigenden Anzahl an Computersystemen steigt
trivialer Weise auch der Aufwand der Konfiguration und Integration einzelner
neuer Systemkomponenten. Subsysteme müssen dabei immer enger
miteinander zusammenarbeiten, so dass jede einzelne Konfiguration enorm viel
Arbeit für die Administratoren mit sich bringt. Diesem Trend des steigenden
Aufwands soll das Selfconfiguring von autonomen Systemen entgegenwirken.
Das Autonomic Computing sieht vor, neue Komponenten autonom zu integrieren,
stets unter dem Gesichtspunkt der SLAs. Bei der Integration einer neuen
Komponente, lernt diese automatisch die Umgebung und Konfiguration des
bisherigen Systems kennen und wird im System registriert, so dass ihre Dienste
beansprucht werden können. Einfach gesagt gibt der Benutzer nur noch vor
„Was“ integriert werden soll und das „Wie“ bewerkstelligt das autonome System.
Dabei ist es vor allem wichtig, dass die Konfiguration ohne Unterbrechung
bereitgestellter Dienste anderer Komponenten abläuft.
Heutige Beispiele, die die angestrebte Richtung des Self-Configuring deutlich
machen sind die automatische Vergabe von Netzwerkadressen durch einen
Server, Plug`n Play Erweiterungen und selbstkonfigurierende USB-Komponenten.
Christian Adam
Seite 6 von 16
Seminararbeit – Autonomic Computing
3.2 Self-Optimizing
Da die Anzahl der in Unternehmen eingesetzten Soft- und Hardware-Produkte
ständig wächst, ist die Funktion des Self-Optimizing ein zentraler Bestandteil des
Autonomic Computing. Große Softwarepakete wie DB2 oder SAP bringen
hunderte von Parametern mit sich, die alle individuell angepasst werden müssen
um optimale Performance des Systems zu garantieren. Auch beim SelfOptimizing ist die Performance immer bezüglich der SLAs zu betrachten, die
beispielsweise durch spezifische Rechenzeitangaben oder Zugriffszeiten
repräsentiert werden können.
Self-Optimizing meint konkret, dass Autonome Systeme stets bemüht sind ihre
Effizienz in Bezug auf Performance und Kosten zu steigern. In diesem
Zusammenhang fallen dem System auch Aufgaben wie die ständige Überprüfung
der Aktualität und Auslastung zu, um bei Änderungen der Zielerfüllung spezielle
Parameter anzupassen. Durch Selbsttests soll dementsprechend garantiert
werden, dass die Leistungsfähigkeit gehalten oder sogar gesteigert wird.
Ein anderer Aspekt des Self-Optimizing ist das Ausgleichen von
Leistungsengpässen. Falls das Computersystem an seine Leistungsgrenzen stößt,
muss es sich bemühen entweder betreffende Ressourcen von anderen
Komponenten zu bekommen oder durch dynamisches Speicherauslagern bzw.
dynamische Dateisysteme wieder optimale Performance zu garantieren.
Die Fähigkeit des Self-Optimizing wird oft mit einer speziellen Fähigkeit der Iris
des menschlichen Auges verglichen. Die Iris passt sich perfekt an die äußeren
Einflüsse an, ohne dass der Mensch darauf direkt Einfluss nimmt. Je nach
Lichtintensität verengt bzw. vergrößert sie sich um entweder den Sehnerv zu
schützen oder bei Dunkelheit die Sehstärke zu verbessern.
Im Gegensatz zur Selbstkonfiguration neuer Komponenten, zielt die Eigenschaft
des Self-Optimizing eher auf die Einstellungen vorhandener Komponenten und
der Auslastung im System ab.
3.3 Self-Healing
Die Fehlererkennung und -behebung ist seit geraumer Zeit ein schwerwiegendes
Problem, speziell in der Softwareindustrie. Es gibt große Anstrengungen um
Fehlerursachen zu erkennen, zu isolieren und schließlich zu beheben. Sowohl
entsprechende Maßnahmen zur Erkennung als auch die Folgen einer NichtErkennung können enorme Kosten zu Folge haben. Die Vision des Autonomic
Computing involviert deshalb auch die Fähigkeit der Fehlererkennung und
Selbstheilung.
Eine denkbare mögliche Umsetzung wäre die Implementierung einer autonomen
Diagnosekomponente, die zutreffende Logdateien nach der wesentlichen
Fehlerursache analysiert. Das Hauptaugenmerk wird dabei auf die Lokalisierung
des Fehlers gelegt, um anschließend die betroffene Komponente vom System zu
isolieren. Schließlich wird nach zutreffenden Softwarepatches zur
Fehlerbehebung gesucht, diese installiert und getestet. Falls keine effektiven
Patches vorhanden sind, soll automatisch ein zuständiger Programmierer
informiert werden. Enorm wichtig während dieses Prozesses ist, dass für den
Benutzer keine Unterbrechung der eigentlichen Arbeit erkennbar sein soll.
Christian Adam
Seite 7 von 16
Seminararbeit – Autonomic Computing
Die Eigenschaft des Self-Healing fordert einerseits auftretende Fehler so gut wie
möglich zu lokalisieren und Schritte zu einem fehlerfreien Betrieb einleiten.
Anderseits sollen ex ante mögliche Fehlerquellen aufgesucht und entsprechende
Maßnahmen eingeleiten werden, bevor der eigentlich Fehler auftreten kann.
3.4 Self-Protecting
Da heutzutage Geschäftsprozesse schon teilweise automatisch abgearbeitet
werden, können durch den Ausfall eines Soft- oder Hardwaresystems dem
Unternehmen hohe Kosten entstehen. Des Weiteren kann fast jeder Amateur
simple Virenbaukästen bedienen und Viren erzeugen, die in Grenzfällen
wirtschaftliche Schäden in Milliardenhöhe verursachen. Aus diesem Grund wird
sehr viel Wert auf die Sicherheit und Zuverlässigkeit eingesetzter
Computersysteme gelegt. Demgemäß ist die letzte geforderte Fähigkeit des
Autonomic Computing das Self-Protecting.
Autonome Systeme sollen sich hierbei in erster Linie vor Attacken von außen,
u.a. durch Viren, schützen können. Aber auch das Sichern des Systems vor
menschlichen (inneren) Fehlern des Personals oder vor Ausfällen von technischen
Komponenten soll gewährleistet werden. Unabdingbare Maßnahmen gegen
äußere Fehler sind die Verwaltung von Zugangskontrollen, der Schutz vor
unauthorisiertem Zugriff, die Erkennung von „Einbruchsversuchen“ und die
automatische Einleitung von Gegenmaßnahmen. Um innere Fehler zu vermeiden
könnte das autonome System stets Warnungen melden, falls das Vorhaben eines
Administrators bestimmte Dienste einschränkt. Ein treffendes Vergleichsbeispiel
für das Self-Protecting wäre hier das Immunsystem, das den Körper vor fast
allen schädlichen Angriffen zu schützen versucht.
Jene vier zentralen Eigenschaften des Autonomic Computing sind um zwei
weitere Charakteristika erweiterbar. Self-Organizing und Self-Inspecting
zeigen zusätzliche sinnvolle Funktionen des Autonomic Computing auf, bringen
aber auch teilweise Überschneidungen mit den zuvor genannten Eigenschaften
mit sich. Self-Organizing ist stark auf Datenbankmanagementsysteme
ausgerichtet. In den folgenden Absätzen werden die grundlegenden Ideen der
zwei Faktoren genauer erläutert.
3.5 Self-Organizing
Self-Organizing eines Systems ist die Fähigkeit der dynamischen Re-Organisation
und Umstrukturierung von Daten und deren Anordnung, um auch hier optimale
Performance zu garantieren. Speziell in einer Datenbank werden Zugriffspfade,
Indizes und Verzeichnisstrukturen anvisiert. Mögliche Aufgaben die dem System
zukommen sind das Geben anfänglicher Hilfestellungen bei der Anordnung neuer
Daten auf bestimmten Speichersystemen oder später das Verschieben von Daten
von einem Datenträger zu einem anderen um beispielsweise
Zugriffsgeschwindigkeiten zu optimieren. DB2 und Oracle erlauben in diesem
Sinne „Dynamic Online Index Reorganization“ um bessere Speicherausnutzung
zu garantieren bzw. Systemressourcen effektiver zu nutzen. Des Weiteren bieten
einige Datenbanksysteme ein Feature, das automatisch die Speichergröße der
Datenbank senkt, falls ein festgelegter Prozentsatz des bereitgestellten Speichers
unbenutzt ist.
Die Ausrichtung des Self-Organizing ist dem Self-Optimizing relativ ähnlich, es ist
allerdings spezifischer auf die Datenstruktur bezogen.
Christian Adam
Seite 8 von 16
Seminararbeit – Autonomic Computing
3.6 Self-Inspecting
Die Charakteristik des Self-Inspecting fordert, dass Autonome Systeme sich
selber kennen, um intelligente Entscheidungen bezüglich aller zuvor genannten
autonomen Eigenschaften zu treffen. Grundlage dieser Eigenschaft ist das
autonome Sammeln, Speichern und Analysieren von relevanten Informationen
über einzelne Komponenten und deren Auslastung. Das System interpretiert
diese Informationen um die Performance zu optimieren, potentielle
Problemquellen aufzuspüren und auffällige Trends der Systemauslastung zu
erkennen. Relevante und interessante Ergebnisse dieser Inspektion werden
regelmäßig dem Administrator präsentiert und anderen Komponenten zur
Verfügung gestellt, so dass diese gegebenenfalls Schlüsse für das eigene interne
Verhalten ziehen können.
Heutige Datenbankmanagementsysteme verfügen bereits über einige Tools zur
Informationssammlung, wie z.B. das DB2 Health Center oder die Oracle Manager
Console. Derartige Features sammeln Informationen über potentielle
Fehlerquellen, erstellen Statistiken und geben Empfehlungen über bestimmte
Anwendungen. Das db2support utility ermöglicht die Präsentation solcher
Statistiken.
Abb. 4: Spezielle Softwareprodukte (Stand November 2004)
Die Abbildung 4 zeigt Softwareprodukte, die IBM in ihrer Produktlinie von
Personalcomputern integriert hat und jeweils spezifisch die Teilaspekte des
Autonomic Computing realisieren. Dies sind erste Schritte zur Entwicklung eines
autonomen Systems. Da diese Softwareprodukte aber kein ganzes autonomes
System repräsentieren, sind dadurch nur Teilerfolge zu verzeichnen.
Christian Adam
Seite 9 von 16
Seminararbeit – Autonomic Computing
4. Architekturelle Überlegungen
[2]; [5]
Die Grundstruktur eines autonomen Systems wird nicht durch ein einzelnes
autonomes Element repräsentiert. Vielmehr bildet ein Konzept von mehreren
interaktiven autonomen Teilelementen das Gerüst eines Computersystems. Diese
Teilelemente sind als eigene individuelle Systeme zu betrachten, die Ressourcen
besitzen und Dienste für den Benutzer oder andere autonome Elemente zur
Verfügung stellen. Jedes autonome Element muss sein internes Verhalten und
seine Beziehungen zu anderen autonomen Elementen eigenständig managen. Sie
kommunizieren untereinander durch so genannte „Verträge“, die spezielle
Anfragen und Angebote enthalten. Die Fähigkeit zum Selbstmanagement kann
mit der sozialen Intelligenz eines Ameisenhaufens verglichen werden. Diese
entsteht größtenteils durch die Kommunikation und Interaktion zwischen den
einzelnen Ameisen. Äquivalent soll die Fähigkeit des Selbstmanagements
autonomer Systeme durch die Interaktion der autonomen Elemente und deren
Fähigkeit zum Selbstmanagement entstehen.
Die Abbildung 5 zeigt die
Interaktion mehrerer
autonomer Elemente auf.
Jedes autonome Element
besteht aus mindestens einem
Managed Element und einem
Autonomic Manager. Ein
Managed Element kann eine
Hardware-Ressource wie
Speicher, CPU und Drucker
oder Software wie eine
Datenbanken und
Verzeichnisdienste sein. Der
Autonomic Manager überwacht
und kontrolliert das Managed
Element und repräsentiert so
das gesamte autonome
Element. Außerdem
implementiert der Autonomic
Manager eine Kotrollschleife.
Abb. 5: Autonome Elemente und deren Architektur [4]
Diese sammelt (Monitor) und analysiert (Analyse) alle benötigten
Systemdetails um zu überprüfen ob gewisse Änderungen am autonomen Element
notwendig sind. Dazu entwirft sie einen Veränderungsplan (Plan) und
anschließend werden die dazu nötigen Prozeduren ausführt (Excecute). Die
Automatisierung der vier in Klammern gesetzten Funktionen lässt eine
intelligente Kontrollschleife entstehen, welche man auch als MAPE bezeichnet.
Christian Adam
Seite 10 von 16
Seminararbeit – Autonomic Computing
Die Kontrollschleife durchläuft eine
Endlosschleife, führt dabei die vier
nachfolgend erklärten Funktionen aus
und speichert alle relevanten
Informationen in einer Wissensbasis
(Knowledge Source). (s. Abbildung 6)
Abb. 6: Kontrollschleife [2]
Monitor
Hier sammelt die Kontrollschleife Details des Managed Element mit Hilfe
von Touchpoints1 und erstellt analysierbare Symptome über Topologie,
Konfiguration, Status, Kapazitäten und Durchlaufzeiten.
Analyze
Die ermittelten Daten werden analysiert und korreliert. Es wird ein SOLLIST- Vergleich erstellt, so dass zukünftige Ereignisse vorausberechnet und
Veränderungen vorgenommen werden können. Änderungen sind
angebracht wenn bsw. die SLAs nicht mehr korrekt erfüllt werden. Die
Analysefunktion ist also dafür verantwortlich, dass der Autonomic Manager
seiner Zielerfüllung gerecht wird. Generierte Änderungsanfragen (change
requests) werden an die Plan-Funktion geschickt.
Plan
Die Plan-Funktion wählt eine adäquate Prozedur aus, die die gewünschten
Änderungen an dem Managed Element hervorruft. Diese Prozedur kann
sowohl durch einen einzelnen Befehl wie auch durch komplexere
Prozessabläufe wirken. Der dabei erstellte Veränderungsplan (change plan)
wird an die Execute-Funktion weitergegeben.
Execute
Letztendlich entwirft die Execute-Funktion die zeitliche Durchführung der
geplanten Veränderungen und führt diese aus, bevor die Schleife erneut
von vorne beginnt.
Knowledge
Während die Schleife die einzelnen Funktionen durchläuft, werden auf
einer Speicherressource alle relevanten Informationen gesammelt und
gespeichert. (Architektur, Beziehungen, Symptome, change requests und
change plans)
Diese globale Wissensquelle ist für alle Autonomic Managers zugänglich,
so dass jeder seine erforderlichen Schlüsse daraus entnehmen kann.
1
Touchpoints stellen Interfaces bzw. Schnittstellen zu einem Managed Elemnt dar.
Christian Adam
Seite 11 von 16
Seminararbeit – Autonomic Computing
Es gibt weitaus tiefgründigere Vorstellungen bezüglich der Architektur eines
autonomen Systems, vor allem bezüglich der Implementierung und Interaktionen
der Autonomic Managers (Referenzarchitektur von IBM). Jedoch sollten die oben
geschilderten Erkenntnisse für eine grobe Anschauung der grundlegenden
Architektur autonomer Computersysteme genügen.
5. Integrationsstufen (Autonomic Maturity Levels)
“An evolution, not a revolution!” [4]
Autonomic Maturity Levels sind spezifizierte Integrationsstufen bzw. Reifegrade,
die Entwicklungsstufen von autonomen Systemen darstellen. In diesem Zuge
müssen bestehende Systeme schrittweise einen höheren Grad an
Selbstverwaltung erlangen. Die Wissenschaft bietet verschiedene Theorien über
die Anzahl der Evolutionsstufen. IBM sieht im Jahre 2003 speziell folgende fünf
Integrations-Levels vor:
Abb. 7: Autonomic Maturity Levels [4]
BASIC (Level 1)
Auf diesem Niveau befinden sich die meisten kommerziellen
Computersysteme. IT-Mitarbeiter führen alle notwendigen Aufgaben und
Veränderungen am System selber durch. Das Personal steckt somit
enormen Aufwand in das Aufbauen, die Überwachung und Ersetzung der
einzelnen Komponenten. Jede individuelle Komponente wird dabei
unabhängig von allen anderen verwaltet.
Christian Adam
Seite 12 von 16
Seminararbeit – Autonomic Computing
Managed (Level 2)
Im Managed Level wird eine unabhängige und selbstständige Komponente
(System-Management tool) eingesetzt, die dem Administrator das
Sammeln von Informationen verschiedener Systemkomponenten abnimmt
und diese zusammenfasst. Die
IT-Mitarbeiter müssen anschließend lediglich erforderliche Maßnahmen
einleiten.
Zu dieser Ebene können schon einige heutige Softwaresysteme wie DB2
kategorisiert werden, die bereits ansatzweise autonome tools dem
Benutzer zur Verfügung stellen.
Predictive (Level 3) – „voraussagend“
Die autonome Komponente aus Level 2 erhält eine Analysefähigkeit, um
die Systemumgebung zu überwachen. Weiterhin werden dem Entwickler
Vorschläge für potentielle Szenarien bereitet. Der Entwickler trifft ab jetzt
nur noch eine Auswahl aus den zur Verfügung stehenden Alternativen.
Adaptive (Level 4) – „lernfähig“
Ab diesem Abstraktionslevel kann die autonome Komponente selbstständig
eine Auswahl der möglichen Szenarien mit Hilfe einer Symptomdatenbank
treffen. Die Selektion bzw. Abwägung der Alternativen geschieht immer in
Betracht auf zentrale Richtlinien (SLAs), die von den Mitarbeitern
spezifisch vorgegeben werden und an denen sich die autonome
Komponente orientiert um optimale Performance zu garantieren.
Autonomic (Level 5)
Der letzte Reifegrad fordert die vollkommene Automation des Systems. Die
Richtlinien aus Level 4 werden abstrahiert, so dass globalere Ziele
vorgegeben werden können. Hier kann generell die Geschäftspolitik eines
Unternehmens präzisiert werden um Geschäftsabläufe autonom vonstatten
gehen zu lassen.
Christian Adam
Seite 13 von 16
Seminararbeit – Autonomic Computing
6. Ausgewählte Heutige Ansätze
Die Realisierung der Vision des Autonomic Computing benötigt die
Zusammenarbeit von Industrie und Wissenschaft auf der ganzen Welt. Im
Forschungsbereich der Industrie haben bereits einige etablierte Unternehmen
Softwareprodukte generiert bzw. besitzen konkrete Projekte, die sich derzeit
noch in der Entwicklungsphase befinden. Tabelle1 zeigt einen Überblick über
einige Projekte Anwendungsfelder. Tabelle 2 zeigt wissenschaftliche
Forschungsprojekte, die größtenteils noch in der Entwicklung stehen, aber klaren
Vorstellungen unterliegen.
Unternehmen
Software / Projekt
Virus-throtteling
Hewlett Packard
Anwendungsfeld
•
•
Software
Utility Data Center
•
•
IBM
eLiza
•
•
Intel
Itanium 2
SUN
N1
•
•
•
Virenschutz
System wird in
herabgesetzten Modus
ausgeführt um Verbreitung
eines Virus zu verhindern
Analysetool, analysiert
Systemumgebung und
verfügbare Ressourcen
Lokalisierung fehlerhafter
Speicherchips
Schutz vor Hackerangriffen
Self-Configuring / SelfOptimizing
Fehlererkennung/-behebung
Self-Configuring
Verwaltet Speicher und
Ressourcen
Tabelle 1: Industrielle Projekte [6]
Universität
Edinburgh Uni
Großbritannien
Monash Uni
Australien
Uni of California
Berkeley
Uni of Maryland
Baltimore
County
Software / Projekt
Neuromation
eLiza
ROC - Recovery
Oriented Computing
OceanStore
•
Autonome Erfassung der
Datenstruktur
•
Unterstützt termingerechte
Geschäftsabwicklung
Unterstützt hochverfügbare
Internetdienste
Fehlerreparatur
Persistenter Datenzugriff auf
globalen Datenspeicher
Kooperation autonomer
Komponenten
Kollektive Zielerfüllung
•
•
•
•
eBiquity
•
Tabelle 2: Wissenschaftliche Projekte [6]
Christian Adam
Anwendungsfeld
Seite 14 von 16
Seminararbeit – Autonomic Computing
7. FAZIT
Die Vorstellung des Autonomic Computing ist eine fantastische Vision. Allerdings
liegt momentan die Betonung auf dem Wort „Vision“. Autonomic Computing in
seiner vollen Entfaltung bedarf noch einer enorm langen Entwicklungszeit und
wahnsinnig viel Forschungsaufwand. Doch wie Paul Horn meinte lohnt es sich
diese Herausforderung anzunehmen. Dazu sind kollektive Forschungsarbeiten
zwischen Industrie und wissenschaftlichen Abteilungen unabdingbar. Erworbene
Erkenntnisse und Wissen müssen einem offenen Informationsaustausch
unterliegen um die Ziele des Autonomic Computing vollkommen auszuschöpfen.
Eine Hürde werden dabei die Überzeugungsarbeiten an Unternehmen und
Forschungsabteilungen sein. Diese Wirtschaftssubjekte müssen sowohl teilweise
Kosten des Forschungsaufwandes tragen, als auch die Risiken eines nicht
vollständig entwickelten autonomen Systems auf sich nehmen.
Mit der Umsetzung der Vision sollen Administratoren nicht ersetzt, sondern
vielmehr entlastet werden. So können sie sich auf wesentliche Aufgaben
konzentrieren, während autonome Tools konventionelle Routineaufgaben
durchführen. Den Administratoren kommt in diesem Zuge maximal noch die
Aufgabe der Überwachung der autonomen Abläufe zu. Genau in diesem Punkt
könnte ein Problem auftauchen, welches man in der Wissenschaft als
„Autonomation Paradoxon“ bezeichnet. Die Fehlerrate des Menschen beim
Überprüfen automatisch generierter Ergebnisse ist oft schlechter, als hätte er
selber aktiv daran mitgearbeitet.
Somit könnte der Mensch in gewisser Hinsicht selbst eine Grenze der vollen
Automation werden. Darüber hinaus wird die Leistungsfähigkeit von Hardware als
eine weitere Beschränkung des Autonomic Computing angesehen. Selbst ein
optimal realisiertes autonomes System kann mangelnder Hardware nicht
entgegenwirken. Beispielsweise werden Sylvester weiterhin alle Handynetze
ausfallen, da alle SMS-Proxy-Server der Mobilfunkanbieter hoffnungslos
überlastet sind und das auch autonome Systeme nicht ausgleichen können.
Christian Adam
Seite 15 von 16
Seminararbeit – Autonomic Computing
Literaturverzeichnis
•
[1] www. Wikipedia.org
•
[2] IBM „An architectural blueprint for autonomic computing”
June 2005 Third Edition
•
[3] Paul Horn „Autonomic Computing Manifesto”
WWW.RESEARCH.IBM.COM/AUTONOMIC/MANIFESTO
•
[4] G. Ganek/ T. A. Corbi „The dawning of the autonomic computing
era”
IBM SYSTEMS JOURNAL, VOL 42, NO 1, 2003
•
[5] Jeffrey Kephart/ David Chess „The vision of Autonomic omputing”
January 2003
•
[6] Siew Fan Wong „ISRC Future Technology Topic Brief”
•
[7] Said Elnaffar, Wendy Powley, Darcy Benoit, and Pat Martin
„Today’s DBMSs: How autonomic are they?”
September 2003
Christian Adam
Seite 16 von 16

Documents pareils