Hallo zusammen. In der 7,5 BCDS Variante von Aufgabe 2 solltet ihr euer eigenes neues
Fernaufrufsystem evaluieren und gegen Java RMi vergleichen. Dazu gibt es in diesem Video
eine Information zur Evolution von Systemen und worauf man dabei achten sollte. Bevor
man jede Evolution beginnt, sollte man sich zuerst im Klaren sein, welche Moderation
dahinter steht. Möchte man eine bestimmte Eigenschaft des eigenen Systemen analysieren?
Wenn ja, welche? Die Performance des Systems, die Latenz von Anfragen oder doch den maximalen
Durchsatz? Vielleicht strebt man eine ganz andere Richtung und es interessiert eher
der Ressourcenverbrauch oder Qualitätsgarantien wie die Dienstgüte.
Häufig will man dabei das eigene System mit einem bereits existierenden Vergleichen und
so die Stärken und Schwächen der beiden Systeme herausarbeiten oder eine qualitative Aussage
über die Systeme treffen. Hier kann man sich die Frage stellen, ob man die Systeme allgemein
vergleichen möchte oder nur bestimmte Situationen evaluiert. All diese Aspekte können als Motivation
für eine Evolution dienen und bestimmen häufig auch maßgeblich, wie diese aufgebaut ist.
Grundlegend gibt es zwei unterschiedliche Arten, ein System zu bewerten. Entweder durch
Simulation oder durch Evolution. Bei einer Simulation wird das System nicht tatsächlich
verwendet, sondern das Verhalten in einer Simulationsumgebung so gut wie möglich imitiert
und daraus Ergebnisse berechnet. Im Gegensatz dazu werden bei einer Evolution tatsächlich
Messungen an einem laufenden System durchgeführt, zum Beispiel an einem Prototyp.
Beides hat seine Vor- und Nachteile. Eine Simulation ist in vielen Fällen einfacher
zu realisieren und ermöglicht es zudem auch sehr komplexe oder schwierige Systeme zu bewerten.
Um ein ganz aktuelles Beispiel zu nehmen, der neue Mars Rover Perseverance der NASA
kann wohl kaum in der realen Umgebung getestet werden. Mithilfe von Simulationen ist es aber
trotzdem möglich, das Verhalten oder Materialreaktion abzuschätzen. Wenn man in den Bereich von
verteilten Systemen schaut, ermöglichen es Simulationen auch Netze von Tausenden und
Tausenden von Servern und Clients zu simulieren, selbst wenn nur eine Handvoll Rechner zur
Verfügung hat. Der Nachteil ist natürlich, dass Simulationen
immer nur ein Abbild der Realität sind, diese aber eventuell nicht exakt widerspiegeln und
die Ergebnisse so eventuell verfälscht werden. Evaluationen dagegen liefern deutlich realistischere
Messungen, da sie in einem echten System durchgeführt werden. Sie sind im Allgemeinen aber aufwendiger
zu realisieren, da eben auch ein realistisches Szenario geschaffen werden muss und es in
vielen Fällen mehr Initialaufwand bedeutet, wie das Beschaffen und Installieren von benötigter
Hardware. Im Entwicklungsprozess werden dafür häufig Simulationen verwendet, da diese flexibler
sind. Mehr Aussagekraft besitzen aber eindeutig Evolution.
Egal ob Simulation oder Evolution, es gibt leider auch einige generelle Probleme, auf
die man treffen kann. Nicht alle Merkmale lassen sich gleich einfach
evaluieren. Das kann einerseits daran liegen, dass sich das Merkmal selbst schlecht quantifizieren
lässt. Klassische Maße wie Zeit lassen sich extrem leicht messen und sind meist ebenso
leicht vergleichbar. Es gibt aber auch nicht quantifizierbare Kriterien, wie zum Beispiel
die Nutzbarkeit oder Verständlichkeit eines Systems. Diese sind häufig ebenso wichtig,
können aber schlecht in Zahlen ausgedrückt werden, was eine direkte Bewertung oder einen
Vergleich sehr schwer macht. Auch kommt es häufig vor, dass einem für
eine vergleichbare Betrachtung schlichtweg ein zweites System fehlt. In seltenen Fällen
ist das eigene System wirklich konkurrenzlos. Hier wäre der Ansatz dann wahrscheinlich
auch so genial, dass es gar kein Vergleich bräuchte. Nein, häufig gibt es durchaus andere
Systeme, die sich zwar für einen Vergleich eigenen würden, aber einen anderen Fokus
haben. Da tappt man dann leicht in die Falle, unfaire
Vergleich zu ziehen, indem man dem eigenen System die Überlegenheit zuschreibt, wo
das andere System gar nicht auf dieses Kriterien optimiert ist. Ein gutes Beispiel für solche
Problematik in der Evaluation ist bei verteilten Systemen die Sache mit der Effizienz vs.
Fehlertoleranz. Fehlertoleranz ist ein extrem wichtiges Kriterium
Presenters
Zugänglich über
Offener Zugang
Dauer
00:12:46 Min
Aufnahmedatum
2021-04-29
Hochgeladen am
2021-04-29 16:58:36
Sprache
de-DE
Wie führt man eine möglichst aussagekräftige Evaluation eines (verteilten) Systems durch.